Performance: in fairness

Discussion and feedback on Construct 2

Post » Wed May 24, 2017 2:58 pm

It's fairer to test the c2bunnyparticles test against Pixi, because they both use the same rendering mechanism. The c2bunnymark test uses general purpose sprites with more capabilities like collisions, so I don't think it's really fair to compare that to a particle renderer.

Setting the render scale in runtime for lower/midrange phones would be nice

You already can, using low quality fullscreen mode.

I hope you will get some time at a later point to investigate some further improvements to get a bit closer to the pixi score.

I already did, they basically use particles.
Scirra Founder
B
399
S
236
G
89
Posts: 24,527
Reputation: 195,386

Post » Wed May 24, 2017 3:34 pm

Ashley wrote:I already did, they basically use particles.


Oh cool, That means we should start building games out of particles instead of sprites for max performance. :lol:

Would it make any sense to have more object types then? that doesn't use collisions etc, kind of like a stripped down version of the sprite object?

For I'm currently playing the Paster plugin, load my whole layout on to the paster object instead of sprites and tile maps, and then use hidden dummy objects for collisions.
Follow my progress on Twitter
or in this thread Archer Devlog
B
41
S
18
G
18
Posts: 1,026
Reputation: 13,349

Post » Wed May 24, 2017 3:39 pm

Seems a good comparison now then would be Unity particles and also optimizing the Construct 2, Godot, and Unity sprite benchmarks for retesting
"Construct 4 lets YOU make advanced games! (they wont run anywhere)" Construct Classic - Examples Kit Dropbox is a pile of trash and if you need my old files PM me! :)
B
125
S
42
G
17
Posts: 2,228
Reputation: 19,918

Post » Wed May 24, 2017 4:16 pm

There are numerous times when I use sprites, yet have no need for their collisions. Particles are too limited because they can't be controlled in the same way. It would be nice to have ability to remove that collision overhead from the specified sprites.
B
47
S
22
G
65
Posts: 1,127
Reputation: 38,395

Post » Wed May 24, 2017 7:06 pm

Come on guys, most of us aren't that adept. In the beginning, we all were and most of us still are very happy and grateful for the relative ease and simplicity of use of C2. I mean where is a non-programmer gonna go to make a video game, a first one anyway without a ton of time and cash? Even pros love C2 because it shortens development time so much.
B
39
S
20
G
18
Posts: 265
Reputation: 12,983

Post » Wed May 24, 2017 9:04 pm

Can you test DT fluctuations on everything too?
Like keep count of frames when DT is over 1/50 for example.
B
28
S
6
Posts: 63
Reputation: 1,536

Post » Wed May 24, 2017 10:45 pm

Ashley wrote:If you test C2 please make sure you replace the "For each" condition ...So I looked in to Pixi's code .....So I made a similar test in C2 using the Particles object instead, and you can get similar performance gains.

Testing on a HTC 10:
Sprites: https://www.scirra.com/labs/c2bunnymark/ - ~5500 @ 30 FPS
Particles: https://www.scirra.com/labs/c2bunnyparticles/ ~31000 @ 30 FPS

Particles are super fast, over 5x faster at rendering! ....... particles don't process collisions ........


just butting in being an ass ....but considering the above, then The Manual needs an update....

quoting under particles "......Particle effects are more efficient than creating the same effect with Sprite objects, but not by a large margin......."

but the tests show said margin is actually pretty large.....

this manual is saying to me "....go ahead and use sprites for that massive particle bomb /all that smoke / dust explosions etc because sprites have so many extra features and negligible performance hit over particles..."
...
B
46
S
24
G
7
Posts: 319
Reputation: 8,201

Post » Thu May 25, 2017 4:02 pm

Adding a new object that uses the particle rendering method is a classic micro-optimisation. As I described before it makes a difference on the order of a few hundred nanoseconds per object. I honestly doubt many real-world games would be meaningfully faster with the particles rendering method. Meanwhile it complicates the engine, since you more or less end up with two kinds of sprites, which confuses beginners ("which should I use and why?"), and it means more time to develop and maintain, when we have far more compelling things to be working on. Wouldn't you prefer us to do advanced text features or a built-in canvas plugin or other more useful things like that? We're a small team and we can't do everything. These are the things that would fall by the wayside if we chased benchmark results.

This is how benchmarks can actually have harmful consequences if you slavishly follow maximum performance at the expense of everything else.
Scirra Founder
B
399
S
236
G
89
Posts: 24,527
Reputation: 195,386

Post » Fri May 26, 2017 2:47 pm

Computer Specs
Image

Pixi
51-60 fps averaged out at 55
Image

Construct 2
stable decline to 54
8960 bunnys

Image

Unity
9051 bunnys
Unstable fps randomly jumping from 54-65
Image

Godot
4670 bunnys
31 fps
Image
B
29
S
18
G
46
Posts: 73
Reputation: 25,688

Post » Fri May 26, 2017 3:02 pm

Honestly, I don't think performance measurements at 50-55FPS are useful. You should run it all the way down to 30 FPS and measure there.
Scirra Founder
B
399
S
236
G
89
Posts: 24,527
Reputation: 195,386

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: warmty and 12 guests