Im currently working on my game and have been testing it regularly on my iphone 4, with the standard resolution, it runs perfectly smooth 60+ fps and works like it should be, when i switched the player settings to “HD” to test the retina display out, I lost about half the fps and theres a lot of “chugging” going on, i havent used any textures about 1024 , and theres no GUI elements ( everything is made by guitexture for the gui) , its a simple 2d sidescroller and theres nothing fancy on the shaders
It’s 4X the pixels, so naturally it will run much slower unless it had a graphics chip that was 4X faster to compensate, which it doesn’t. Try to remove anything involving transparency, including fog.
Yeah its to be excepted the HD resolution is exactly twice the size of the normal one. Meanwhile the hardware (IE graphics card is the same) so you are going to get less of a framerate, I believe that the Ipad has an even worse problem (because the resolution is even higher) so any game is just going to run worse off on the IPAD than 4G phone and worse still than the 3G phone which makes sense but is not what most people expect. What makes it hilarious is people are more willing to pay a higher price for an ipad game than an iphone game because the perceived value is that much higher (when in reality it will actually either have to look worse or run worse).
damn… i have alot of sprites that use transparency, am i stuck just using the standard resolution for both the iphone and ipad then? seems like ill have to do some major clever optimizations if i want to keep the retina display
Not necessarily; you have to be careful with what you do. I just submitted an HD update to Realmaze3D, which runs a solid 60fps at all times on my iPod touch 2G, and sometimes 60fps (usually a little less) on my iPod touch 4G. It definitely looks better in HD, and in practice the framerate might as well be the same on both, for all the difference it actually makes when playing. Sure would have been nice to have a faster graphics chip though.
HD games don’t have to run worse, only games that were not optimized for mobile right from start normally get a serious hit.
Not optimized means games that relied on lazy “alpha overdraw” instead of using actual geometry with no blending cause it was “faster and simpler to achieve”. When you have such usages and scale them up to hd res, they will commonly hit you badly.
Exception naturally are people that just used particle effects but there you have other possibilities to overcome the massive overdraw (single quad with uv animated texture for example)
And I don’t expect to see the SGX535 on any new generation unless its a 7" ipad. Apple only had to use it cause they didn’t own their design team long enough to switch GPU architecture midway through etc.
I even have the unrealistic hope to see a dual GPU setup on the next 10"+ iPad, the tile based rendering makes linear performance scaling trivial its just a matter of apple using it (and they will likely have to to compete with tegra2 / MSM86xx Qualcomm android tablets as I’m pretty confident apple isn’t going to integrate the SGX545, at max 540 which is already over a year old again)
per pixel lighting is a hefty thing, especially when not restricted to a very local area, because unity iOS uses forward rendering, not deferred, which means 1 redraw of all affected objects for every pixel light among other things
you would need to do screen space light / shadow mapping to overcome that as presented in session 417 - OpenGL ES Shading and Advanced Rendering from WWDC 2010
Man, it’s going to be difficult making a universal app in the future. A 2D app that runs at both 480x320 and 2048x1536, and that also supports everything in between (960x640 and 1024x768) - not looking forward to that… iOS development used to be much simpler
Right now you can have your normal assets and @2x assets and use those for iPad as well, but if the iPad doubles, it’s a different story. I hope it will support 4096x4096 textures, so we can just double our @2x texture atlases…
Luckily I’m moving all my pixel-art projects to verctor-based.