Surface RT - horrible performance for native games

  • 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).

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

    thehen Thanks for useulf advice!

  • EyeHawk It would be easy to create a plugin that detected the CPU using window.cpuClass. I can do this Tuesday - PM me.

  • thehen, that would be so awesome, thanks! <img src="smileys/smiley1.gif" border="0" align="middle" /> There are quite a few other Win8/C2 devs who would also love to get their hands on the plugin!

  • It sounds like performance on Windows 8 ARM devices is worse than the hardware suggests ought to be possible.

    It may be that IE10's JIT compiler for ARM is just not very good. IE10 is the first version of IE that runs on ARM (IIRC), whereas both Chrome and Safari on Android and iOS respectively have been around for years on ARM devices and probably have had much more optimisation work done.

    Maybe IE10 doesn't even compile javascript on ARM! I'm not sure where to find out more about that... might be worth asking MS.

  • Ashley - yeah it's definitely worth looking into. I'll do a bit of digging with some of the local MS guys.

  • I've just found that upscaling the canvas from 75% of the device resolution results in very large performance gains.

    Can anyone else confirm that adding @-ms-viewport { width:75% } to the exported index.html has the same effect in their games? If so I'll package it up as a plugin.

  • thehen - what resolution is the game running at?

    We've seen issues on the iPad 3 where a 2048 size texture is very slow, but a 2046 size texture is very fast. My theory is that it internally adds a one pixel border to whatever you ask for, pushing 2048 over the maximum supported texture size. Then the GPU is actually rendering to two 2048x2048 size image tiles, which halves performance.

    If you're running at 1366x768, it's possible the GPU is working with a 2048x2048 texture, or two 1024x1024 size textures. 75% of that, rounded down, is 1024 - so it can use a smaller render texture, or just one where it would have used two. I'm not sure if this qualifies as a bug, but you might want to make someone at MS aware of it. To test the theory, try 74% (which is just over 1024), and it should be slow again.

  • Ashley - apologies I should have tested this more comprehensively before posting. Differing frame-rate was just down to environmental differences, upscaling has negligible impact on the Surface.

  • All over the world... just not in my town. :-)

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • If anyone wants a test on an ARM based surface and can't get a hold of one, let me know and I can test your app on mine. I am wondering if the performance and firmware updates over the past couple months have changed much for perf on Surface RT.

  • Hmm, I just began stumbling into this... I have a Surface Pro, a Surface RT and an iPad3... I was surprised how poorly my game performed on the RT! So, I'm guessing this is just the way the Surface RT is?

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)