Surface RT - horrible performance for native games

Discussion and feedback on Construct 2

Post » Sun Dec 02, 2012 1:46 am

[QUOTE=EyeHawk] Well this is totally weird - I just downloaded a full 3d game which has way more going on called hydro thunder and it runs really, really smooth like 30fps! So why are 2d games performing so poorly I wonder...[/QUOTE]

I guess Hydro Thunder uses C# as Native, i guess Microsoft doesn't care about Javascript performance and don't use V8.
B
96
S
25
G
20
Posts: 3,055
Reputation: 22,644

Post » Sun Dec 02, 2012 12:52 pm

Hmm that would explain it. It's a shame though - it would be in their best interests to support js games a bit better
B
34
S
8
G
3
Posts: 328
Reputation: 7,692

Post » Sun Dec 02, 2012 3:40 pm

We've found tablet devices with an ARM processor gets CPU bottlenecked. You'll even see FPS drops on Cut The Rope and other MS endorsed js games.

We were able to optimise to get an average 25fps (up from 16) on the Surface, which isn't ideal, but it's playable.

Here's what we did:

  • Went through every loop and made sure stuff was only running when it absolutely had to. Changing every tick, to every 0.1 second etc.
  • Only made objects physics if they absolutely had to be. We'd work out if it was impossible to collide with something, and remove the physics if so.
  • Removed as many collision mesh points as possible.


We've found that number of sprites on screen don't seem to impact the bottleneck. I tripled object count with no detriment to performance on Surface.
Moderator
B
72
S
13
G
11
Posts: 900
Reputation: 11,783

Post » Sun Dec 02, 2012 3:44 pm

Also, if anyone wants to test on a Surface and can't afford one, Microsoft runs something called a Windows Store App Lab, where you can drop in and test for free.

They're all over the world, you can find a list here: https://applabs.msregistration.com/Lablist.aspx

We didn't register - we just turned up and had a host of devices to test on. Very useful.
Moderator
B
72
S
13
G
11
Posts: 900
Reputation: 11,783

Post » Sun Dec 02, 2012 5:36 pm

If you follow "Performance Tips for Mobile Games" in the tutorials section you should be able to get your game above 30fps. I did submit a platformer that ran extremely low originally (about 10-12fps) and was able to bring it around 35-45 fps on average.

My main advice would be to stay away from large transparencies (or opacity) and reduce particle effects.
B
6
S
1
G
1
Posts: 13
Reputation: 827

Post » Mon Dec 03, 2012 1:39 am

@thehen - thanks for the tips, sounds like I'll have to do some extensive optimization. The app lab sounds awesome! Unfortunately no such facility in New Zealand :(

Hmm, I've been considering moving forward with separate versions of games for ARM and x86 devices - bit of a pain but probably necessary (unless I want to cater for the lowest common denominator, which in this case is probably too low).

B
34
S
8
G
3
Posts: 328
Reputation: 7,692

Post » Mon Dec 03, 2012 2:02 am

Simple Games for Windows 8 Tablet would be enough like running HTML5 games on Mobile.

@thehen Thanks for useulf advice!
B
96
S
25
G
20
Posts: 3,055
Reputation: 22,644

Post » Mon Dec 03, 2012 2:11 am

@EyeHawk It would be easy to create a plugin that detected the CPU using window.cpuClass. I can do this Tuesday - PM me.
Moderator
B
72
S
13
G
11
Posts: 900
Reputation: 11,783

Post » Mon Dec 03, 2012 4:06 am

@thehen, that would be so awesome, thanks! There are quite a few other Win8/C2 devs who would also love to get their hands on the plugin!
B
34
S
8
G
3
Posts: 328
Reputation: 7,692

Post » Mon Dec 03, 2012 5:39 am

Moderator
B
72
S
13
G
11
Posts: 900
Reputation: 11,783

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: saiyadjin and 13 guests