Desktop low FPS or what am I doing wrong.

Discussion and feedback on Construct 2

Post » Tue Nov 04, 2014 3:37 pm

I am testing Construct 2 and I have a problem. I am doing a big game for desktop with lots of sprites and big juicy effects. I have no problems with blasts but when it comes down to fire effects(On turrets are destroyed they spawn 3 sprites every tick to represent fire) I have big FPS drop even on my powerfull PC.
So my question is can Construct 2 handle really large amount of sprites(With Addictive blend) like effects? And what are limitations for things like that?
B
7
S
1
Posts: 15
Reputation: 453

Post » Tue Nov 04, 2014 3:52 pm

Hi -

hard to say without more details, but here's a few generic performance tips :

- check the version of your browser and graphics card driver, to make sure you're running hardware acceleration, and not a software renderer

- use the debug pane to inspect how many entities your scene has, or which are the most expensive. A simple mistake in the logic or scene management could lead to a situation you're not expecting (lots of expensive entities outside of the viewport, etc.)

- check your entities are running only the logic they need ; it's possible you have physics or collisions, or similar service enabled on objects that don't need it

- try to isolate the problem by disabling bits of logic or gameplay. Collision, AI, effects, etc.

- resource management ; it's possible to create simple "naive" situations that are complete perf killers, i.e. geometry that cannot be batched. E.g. "bad" effects with "unique" particles, or unique effects on sprites, etc.

So... no easy answer, but the general approach is 1. narrow it down. 2. identify perf bottleneck 3. fix perf killer 4. repeat

'hope that helps a bit.
Image
Game Producer & Independent Developer - http://raphaelgervaise.com
B
24
S
9
Posts: 237
Reputation: 2,232

Post » Tue Nov 04, 2014 4:07 pm

You might also want to look into profiling tools (such as Chrome DevTools, Speed Tracer, etc.) ; it might be difficult to link the result of your perf analysis to the structure of your C2 project, but it might give you an hint.
Image
Game Producer & Independent Developer - http://raphaelgervaise.com
B
24
S
9
Posts: 237
Reputation: 2,232

Post » Tue Nov 04, 2014 4:17 pm

Thanks for reply, I am still testing a problem.
But I have a question. I am using Node-Webkit and I just want to know is there limitations for heavy effects for desktops? In case if logic is good.
And how exectly I have to check hardware render& Is there any options for that? Sorry if it's a dumb question, but I am not good with technical things.
B
7
S
1
Posts: 15
Reputation: 453

Post » Tue Nov 04, 2014 4:22 pm

Meh, no computer can handle this method you are using to actually represent the fire, every tick means always, so it will spam lots and lots of sprites on screen, 60 fps = 60 ticks X 3 Sprites = 180 sprites per sec with additive blend! No computer can handle this! if you want to use juicy effects i suggest to use the particle object, or you can also pre-render the particle effects, that way your game will run smoothly. On this way the truth is that no framework can handle this what you are doing.

I belive this will be helpfull:
read this: https://www.scirra.com/manual/134/performance-tips
and this: https://www.scirra.com/blog/112/remembe ... our-memory
B
9
S
2
Posts: 27
Reputation: 959

Post » Tue Nov 04, 2014 4:25 pm

Yea I understand that lots of sprites is no good, but on the COnstruct Classic it was not a problem. So I would like to know is Construct 2 have other methods for such things.
And what about pre-render effect? How can I do it?
B
7
S
1
Posts: 15
Reputation: 453

Post » Tue Nov 04, 2014 4:31 pm

Well, the cheapest way to achieve nice effects is pre-rendering your particles with animations, for example let's say a explosion animation with 10 frames on 64x64, or either way you can make your own mini particle system spamming sprites every 0.2-0.3 seconds, put a fade out behavior on the particle object at the start. Construct Classic it's different because it used another renderer, it was made with directx, Construct2 Works with Webgl wich is indeed Opengl. they are very differents in matters of rendering
B
9
S
2
Posts: 27
Reputation: 959

Post » Tue Nov 04, 2014 4:36 pm

I never used Construct Classic, so I can't really comment on that - but as elisamuelps already pointed out simply by running the numbers, switching your effects to simple particle systems or animated sprites sounds like a good easy win.

If your effects are causing the slow-downs, you need to find a way to re-create a similar effect more efficiently. This usually means less naive resource handling, less objects, less object creation/destruction, more sharing between objects, etc.
Image
Game Producer & Independent Developer - http://raphaelgervaise.com
B
24
S
9
Posts: 237
Reputation: 2,232

Post » Tue Nov 04, 2014 4:39 pm

Here's an example of "pre-rendered" effect with an animated particle used for an explosion :

(grrr, can't post URLs apparently)

opengameart.org/content/explosion-animated

just add the http: ...
Image
Game Producer & Independent Developer - http://raphaelgervaise.com
B
24
S
9
Posts: 237
Reputation: 2,232

Post » Tue Nov 04, 2014 4:47 pm

Thanks everyone, I will continue my little tests with such things. And will try to optimise better.
About pre-render blast. Surprisingly it works well with blasts, even with lots of sprites. FPS drops are only on continiusely spawned fire sprites.
And once again. Really thank for all replies=)
B
7
S
1
Posts: 15
Reputation: 453

Next

Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 10 guests