|
I have only one big texture(1024x1024) with Diffuse material, without any scripts, and my frame rate is 19. When I am trying to add on scene 2-3 other texture(some of them with alpha chanel, and iPhone/transparent/vertex color shader on material) frame rate drops to 10. Dont know how to fix this. Sure it drops only on iPad, on Mac it works perfect. P.S. Frame rate drops only on Unity 3.0, on Unity iPhone 1.7 it works great.
(comments are locked)
|
|
The problem is most likely OpenGL ES 2 shaders being used. Build only for arm6 archiecture in xcode, or in your player settings, turn OFF OpenGL ES 2.0 compliant shaders. Unless you're quite the shader nerd, you're better off avoiding opengl 2.0 :) This fixed the issue for me, but only on the hardware iPad (which caused much confusion and frustation before I decided to skip the simulator build). No matter what build configuration I used, the simulator always had the performance problem - so there may be a bug where the simulator uses OpenGL ES 2.0 no matter what.
Sep 28 '10 at 10:30 PM
jmcclure
The simulator will always perform very differently than the hardware. You can not use the Simulator to judge performance in any way. Just use it to test if things are working then test on hardware for speed.
Oct 13 '10 at 07:56 PM
Gabriel 1
(comments are locked)
|
|
I've found that for backgrounds, rather than using one large sprite it's more efficient to use a single GUITexture. Changing my background sprite to a GUITexture increased my frame rate from double digets to triple digets. How did you keep the guitexture 'behind' the game?
Jan 12 at 12:01 AM
jogo13
(comments are locked)
|
|
Had a similar problem where using a 1 poly plane as a full screen background... It used to be 512x512 mobile diffuse shader, i even dumbed it down 256 even, and still getting 30fps (aiming for 60fps). Changed the shader to Mobile/Unlit and it cranked up to 55 FPS... My guess is that the bigger the object takes up screen space... the more PIXEL LIGHTING CALCULATION takes place (diffuse takes lighting). So im calculating full screen size pixels for my plane... one poly or not one poly.. According to that theory, that would mean if that 1 poly plane took up less screen space... then it would work nice.... But having it display full screen, best be an mobile/UNLIT shader..
(comments are locked)
|
|
i struggled with this also, until i found this post! http://answers.unity3d.com/questions/9729/how-can-i-display-a-flat-background-2d-image-not-a.html do this instead when setting up a static background image it will not effect the framerate and give you perfect background ... just make sure you follow the final step after the green block (set all the pixel inset values to 0, and set the scale to (1, 1, 1) ) to make sure it fits full screen.
(comments are locked)
|

Are you applying the material to Unity primitive geometry or a custom imported mesh?
I am using plane
I"m having this problem too - also in Unity 3.0, with a single quad on screen. It happens regardless of the texture size I use. In fact, applying a material with no texture still causes my framerate to drop to 19. It only happens on the iPad or iPad simulator, iPhone and all other platforms run smoothly.
I wrote up a bug and submitted a simple example project to Unity and I'm hoping for the best.
Oh - the performance gets progressively worse as the quad covers more of the screen (view frustum). Once it covers the whole screen, I hit 19 FPS. Again, this is with a single quad with a basic diffuse material and no texture.