What are the general dos and donts of lighting for iOS? How many lights? Shadows? What type of lights. I have a 30k triangle scene but curious how much I can throw at it with lights before it might slow down. Thanks.
I would google Unity3d iOS Optimization ShadowGun
In particular there is this video. @ 8.30 you might have a point of interest.
http://video.unity3d.com/video/3709506/unite-11-shadowgun-rendering
I would completely avoid lights and shadows if you want it to run at a high frame rate on the phones. The iPad (2+) is no problem. Of course if you have no physics, then you have more performance to spare and could do shadows. It all adds up. Try to keep it under 70 draw calls. Also it depends on whether your game needs to run at 15 or 30 frames per second.
70!? I’d be aiming for half of that. 15fps is not acceptable for most games, you should aim for 30 or 60.
First of all, you can’t even go over 30FPS on an iOS device unless you edit the hard-coded constant in xCode. 30 FPS is plenty smooth if you can achieve it.
70 draw calls aren’t going to kill you unless you have inefficient shaders, lots of physics, or significantly heavy AI code.
False. http://docs.unity3d.com/Documentation/ScriptReference/Application-targetFrameRate.html
We used to hardcode it (since unity 1.5 onward) but in the last year or so they’ve made it easily set in Unity itself. We always aim for a 60fps benchmark on all titles, 30 feels sluggish by comparison.
Awesome JT, I saw that parameter last night. Didn’t know we could use it that way For whatever reason 22FPS feels mighty fine on our title. All depends what you need. Some games can get away with far less than that even.
Thanks everyone so much for the replies! Great tips.
Sure, a cool strategy or turn based title, or maybe even a match 3 or casual game that doesn’t need fast reaction times. But if you’re making an arcade or action game your customers will hate your title with a passion for anything less than 30fps. I aim for 60 as well, and some devices might not make it and slip down to 30: that’s ok
That’s their punishment for runnings a 3GS or iPad 1
The 3GS though is likely to remain on 60fps when the ipad1 slips to 30, together with the iphone4 and itouch4 which would also slip down there.
Thats cause the 3GS has the same gpu as the other 3, but only 1/4, 1 / 5.2th of the pixels to render as it uses a gpu meant for its resolution unlike ipad1 / 1st gen retina (no idea why apple cheapsaked and went to kick out the gpu that samsung had packaged with the hummingbird cpu which is the SGX540 as seen in the galaxy s as that gpu would have been capable of properly supporting retina)
Yeah, you’re right, but we also tend to push the cpu pretty hard, which is where the 3GS is the slowest, I believe.
True
Though mainly cause the cpu is underclocked cause the 3GS cpu could go up to 833mhz (apple limited it to 600mhz while the itouch4 / iphone4 have a clocked down A4 running at 80% of the iPad1 speeds so the iphone / itouch are running at 800mhz and a 7x% clock on the gpu. though even on equal clocks the A4 would be faster as its one generation newer)
I look forward to the day we can ignore the iPad1 and 3GS… We’ve done some awesome tests with mini motor racing in-house, just pushing shaders, particles, physics, and the iPad2 and 4S just have so much power… Barely know what to do with it.
Hi,
I am not very familiar with IOS publishing, I wish to publish a title that will not be available for 3gs or Ipad 1.
I mean, I wish the 3GS and Ipad1 owners not to be able to see my title in App Store or download it.
Is there a way to do it ?
Kind regards,
-Ippokratis
Might be worth having a look at the Apple documentation here about it
cutting ipad is possible
cutting 3GS is not possible unless your game requires Gyro
And in all fairness cutting 3GS makes only sense if you are cpu limited, in any other case the 3GS will run faster than the iPhone4 and iTouch4 which you both can NOT cut from your support at all unless its an ipad only game.
Keep in mind, the iTouch4 has the same 256MB ram limitation the 3GS and iPad1 has, just that the 3GS can use textures that are only 1/4th in size while still looking as good (480x320 resolution vs retina 960x640 on the 4th gen, which runs on the same gpu as the 3GS)
Thanks for the responses,
-Ippokratis
60FPS games eat batteries for lunch, in case that’s a consideration for anyone.
I like to get a device just hot enough you can cook eggs on it If I don’t, I feel like i should run some empty loops to help things along