Construct's event speed VS MMF2 event speed

New releases and general discussions.

Post » Mon Dec 03, 2007 10:57 pm

Hi there,

I was wondering If anyone (Ashley?) could give any figures on Construct's event speed VS MMF2's.

We all know that right now constructs graphics engine is alot faster due to hardware acceleration, but if your making an application with no GFX (in my case, a gameserver) which is faster? Construct or MMF2?

Will Construct be viable for making gameservers on with an online extension (that is yet to be made) concidering the server has to do a LOT of calculations per frame (say for example, moving 3000 bullets every frame server side). Or is this sort of thing more related to how well the online extension itself will handle things?

This was a big problem with MMF2 and prevented many good MMORPGs from progressing. People started looking for alternatives such as Java to write servers in. Whats the situation over here?


Thanks,
Alex
B
2
S
2
G
5
Posts: 448
Reputation: 2,546

Post » Mon Dec 03, 2007 11:24 pm

I would, but my old figures are out of date (probably changes in both runtimes since then), I don't have my new PC yet and this one is running underclocked to not overheat because it really sucks, and I don't have MMF2 to do any testing with, and the demo's expired.

However, my old figures showed Construct was substantially faster in many areas, including triggers. Many apps rely on loops and Construct's action-started loops were much faster, but the better one-line loops (like the For condition) run with practically the same overhead as C++ loops: there is no need to have the overhead of starting up an event then cleaning up after it (stuff like which objects were picked normally have to be reset). They literally just hammer the actions as fast as possible. MMF lacks any features that compares to condition-loops like For and Repeat. Actions however are much slower than function calls in C++ because they are function pointers jumping in to unknown code, so the compiler cannot optimise them much. They're still fast, and the compiler of each respective plugin can still optimise the body of an action routine, but I don't know how it compares to MMF. Someone could devise a test I guess. I think Construct is a lot faster in practically all areas, but it remains to be proven.

Still in terms of writing server sides, interpreted languages - and events are basically interpreted - are not ideal for writing performance critical code. Construct generally is fast because all intensive processing is done in C++ code - like pathfinding in the RTS object. Servers are generally fast because they dont waste time sorting out which objects are picked and jumping in to plugin code. All serious servers are written in fast languages (of which I'd probably count Java next to C++) for the performance. You can try and bend Construct that way, and it might work, but it wont be as fast as it could be. You could write a server in a plugin and use it in Construct, but then you've basically achieved a standalone programmed server anyway.

If performance is critical, use the right tool for the job!
Scirra Founder
B
359
S
214
G
72
Posts: 22,952
Reputation: 178,580

Post » Tue Dec 04, 2007 3:58 pm

Ah thanks. Thats some good info.

I'm pleased that loops are fast, as thats literally all my server app does is loop every frame. Should work fine. I'll have to do some benchmarking in the future.
B
2
S
2
G
5
Posts: 448
Reputation: 2,546


Return to Construct Classic Discussion

Who is online

Users browsing this forum: No registered users and 3 guests