Concerning tests

Discussion and feedback on Construct 2

Post » Tue Jan 15, 2013 2:04 am

Before I go ahead and crack down and make the purchase I threw together an objective app to test C2 performance on IOS. I got an average of 4 FPS, with 13 objects. And that's simply a background, no input, audio, physics, player objects. Furthermore the scale to fullscreen isn't working (I built it for iphone 5 resolution and it should scale down to the other iphones/ipods). With results like these I don't see how I can use this awesome software to accomplish my results. I'd put up the source and ask someone to export it to phonegap or appmobi or cocoonJS but I feel like that will violate some term or something (Can I do that?)

So here's the test: Test
What are your mean average frames?
Can my concerns be addresses and (hopefully) put to rest?Draspur2013-01-15 02:06:33
B
49
S
19
G
7
Posts: 429
Reputation: 8,993

Post » Tue Jan 15, 2013 3:35 am

I got an average of only 24 fps on a powerful desktop machine
B
50
S
21
G
8
Posts: 844
Reputation: 10,299

Post » Tue Jan 15, 2013 3:58 am

Your first average is entirely pointless and it messes up your test, I got a steady 60 FPS for the entire thing except of course on start up because every game has a low FPS at the start.
B
134
S
65
G
16
Posts: 1,766
Reputation: 19,190

Post » Tue Jan 15, 2013 4:40 am

You may also want to try cocoonJS or phonegap or any of the available wrappers to make native app rather than web apps, the support of HTML5 web app is not very good on mobiles.

60fps in my FF on a powerful desktop machine.
New to Construct ? Where to start

Image Image
Image Image

Please attach a capx to any help request or bug report !
Moderator
B
247
S
85
G
40
Posts: 6,999
Reputation: 57,793

Post » Tue Jan 15, 2013 7:08 am

Your fps problem is probably because of overdraw. You have a ton of it going on in the test. Overdraw is when a pixel is drawn more than once - for example how the black squares are on top of the background. Due to how graphics cards work, first it draws the background, then it draws the black square on top of it, therefore drawing those pixels twice - and in your tests, then the one on top of that, and the one on top of that, which results in most of the screen being redrawn quite a few times.

Mobile hardware is far weaker than desktop, especially when it comes to pixel fill rates (the number of pixels a graphics card can draw in a 60th of a second). I read somewhere that on average devices can currently only draw 3x the number of pixels on the screen in that amount of time. If you take that into consideration, I'm quite confident you can increase the framerate dramatically - it did wonders for the game I'm working on.

For reference, I get 23 fps on an ipad 3 in landscape mode, and it goes up to 33 in portrait - because it's drawing less pixels. An iPhone 4S goes from 41 to 60.

Also, what device and os version are you using? iOS 4 had utterly terrible HTML 5 performance. iOS 5 increased HTML 5 performance by something like 2000% and then ios6 improved it about another third.Arima2013-01-15 07:17:37
Moderator
B
88
S
32
G
33
Posts: 3,005
Reputation: 27,422

Post » Tue Jan 15, 2013 10:12 am

I'm getting screen tearing with a low of 28FPS with an average of 38 and a high of 49 on a machine that can destroy Crysis and running the latest version of Chrome, it's not C2, it's your event construction.

Recent web-apps I've made run at a solid 50+ FPS with physics objects, 10s of sprites on screen, platformer object and multi-touch controls in an un-optimised full screen mode; on an iPad 3.

As Arima said, overdraw looks to be the big issue.

EDIT// Repeated reloads dramatically boosts performance.Mr E Bear2013-01-15 10:15:00
B
49
S
14
G
3
Posts: 540
Reputation: 5,611

Post » Tue Jan 15, 2013 3:11 pm

It runs a perfect 60 FPS on Chrome here and 23-24FPS landscape on an iPad 3 as @Arima also found. It looks like it uses very large textures which is likely to cause poor performance on mobile. For example the red border and the stars in the background are both full screen size textures, which like Arima points out will cause full-screen overdraw twice when you could simply have had four small red objects around the edge and lots of individual small star objects placed across the layout. That would probably reduce your overdraw by 40% already for an easy optimisation.

I think it's unlikely this type of thing would even run well in a native engine. It's all hardware accelerated and drawing on the GPU so it probably wouldn't actually render faster in a native engine. Mobile devices just have *much* weaker hardware than desktops and you have to be careful not to throw too much at them.
Scirra Founder
B
359
S
214
G
72
Posts: 22,949
Reputation: 178,544

Post » Tue Jan 15, 2013 4:02 pm

Mac: Safari 60 fps, Chrome 50-60
B
5
S
1
Posts: 49
Reputation: 1,148

Post » Wed Jan 16, 2013 3:13 am

56fps in Chrome. Dell i5 laptop.

Very interesting info regarding overdraw. I was only thinking in terms of object counts and sizes before. Thanks Guys.Nathan2013-01-16 03:14:03
B
29
S
8
G
4
Posts: 61
Reputation: 6,205

Post » Thu Jan 17, 2013 2:47 am

Thanks everyone for their replies, I am testing on a 4th gen ipod touch, IOS 6 and a very powerful pc. I took into account all your response and information an reworked it. Now the only thing occupying the screen is the black gradient bg. The sacrifice for this of course, is many, many, more objects. With the new project, I saw almost worse performance, as the system is trying to spawn new objects and move them all so much. Look at many other apps and they can accomplish this style of background fluidly. I am still unclear as why it will not scale properly. I do not see this being a viable development platform for any game of this style

Here is the new project:hereDraspur2013-01-17 02:47:48
B
49
S
19
G
7
Posts: 429
Reputation: 8,993

Next

Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 16 guests