iPhone optimization

0 favourites
  • My game runs at a steady 60fps on the pc. But on my iphone it's around 47. How would one optimize the game for better performance on handheld devices? Any tips?

    I've also heard that if the canvas is at lower dimensions than the iPhone screen, then it will be scaled to fit, which will have a huge impact on performance. Is this true?

    And would I in that case be recomended to develop my game in 960x640 which is the resolution of the iPhone 4+, rather than 480x320?

  • I'm not sure about most of your questions, but you might want to try Appmobi. They claim using it significantly increases rendering speed, physics calculations and has multi channel audio. I haven't used it though, so I'm not sure about how easy it is to use.

  • Yes you are correct(I think), the larger the canvas then FPS will drop a little. Also if your game heavily relies on physics then the FPS will drop.

    Its also to do with graphics, If you have graphics of a Higher DPI then if you have a every tick event and are manipulating that object, then its likely to be quite expensive in VRAM.

  • I'm not sure about most of your questions, but you might want to try Appmobi. They claim using it significantly increases rendering speed, physics calculations and has multi channel audio. I haven't used it though, so I'm not sure about how easy it is to use.ppmobi seams interresting, however I don't want to spend loads of money on it, and it seems to be a bit complicated.

    Construct 2 is fairly easy to understand. Isn't there any way the developers will improve the performance? I mean, if Appmobi does it 5(?) times better than usual html5-apps, why can't construct 2?

    Yes you are correct(I think), the larger the canvas then FPS will drop a little. Also if your game heavily relies on physics then the FPS will drop.

    Its also to do with graphics, If you have graphics of a Higher DPI then if you have a every tick event and are manipulating that object, then its likely to be quite expensive in VRAM.Then I'll try using a resolution of 960x640.

    I always try to optimize the graphics also, but how does one optimize the DPI?

    And I know performing an action every tick isn't the smartest, but it seems to me it is the only way to go if you want f.e an object to constantly move in one direction? Or am I wrong?

  • A behavior could do that as well, like the bullet behavior.

  • Ah I see! How is a bullet behavior compared to the Every Tick-event in terms of performance?

  • Do a test capx, Have a layout moving a sprite every tick.

    Then have another using the bullet behavior.

    Add a text box on each layout and have this event to get the FPS:

    System.everyTick

         ->Text.setText("FPS :" & FPS)

    and as for the DPI, its dependent on the game its self. You need to play around with values.

    what DPI are you currently using for your graphics?

    The iphone 4 and 4s aswell as ipad two use a DPI of 326 for there retina display. <- Moving a sprite every tick with a DPI of this should be pretty intense!!

  • Always remember that phones don't have big processors

    like pc and 47 fps is very good for a phone

    (mine just do 20 fps)

  • I don't really know what dpi I'm using, 72 I guess ?

    But I can basically turn the dpi down to 1, or can't I?

    I'll try out the bullet behavior!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • DPI means Dots Per Inch. The default in photoshop is 72. Its what determines whats HD or not really. If the DPI is higher the graphics are crisper. If the DPI is quite high then if you zoom in to the image/graphic then you wont really see pixels unless you zoom in to far.

    But to have a HD game you have to pay the price in load up time and VRAM

  • well I don't want to zoom in on the objects on the screen. So I'll use a low dpi?

    Also the Bullet behavior and the Every Ticket event didn't show any difference at performance ):

  • in preview or exported and tested on the phone?

    Also keep your dpi at 72 its otherwise not matter what level of zoom it WILL be pixelated and pad.

    Its easier just to use the bullet behavior. Just stick to that :) im sure the bullet behavior uses the evrytick event anyways.

  • Try it with a thousand bullets. Or make it so it makes more and more of them until the fps dips. Make them invisible too, so the results aren't affected by the rendering speed. The behavior is probably faster, regardless.

  • I tested with a thousands of objects. The bullet behavior seem to be slightly better, not noticable though at lower scales.

    This doesn't really matter though as on the iPhone, the performance is way below the one on the pc in this test.

  • 47 is a great framerate for a phone! Remember they have really weak hardware to stay low-power and not cost much, so you should not expect to see the same performance as a desktop. Generally 30fps should be your target for mobile devices. iOS can generally get that for straightforward games.

    AppMobi won't get you any extra performance - see this post I made just now.

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