- Home /
Game running faster on older device (Android)
My game (Unity 5) is running very well on a Samsung S2 (Android 4.2), while it lags on Samsung S5 and S6 (Android 5). I'm confused about this because these newer devices have more RAM and better graphics.
This was not happening with unity 4, so I figured out that was something wrong with the standard shader introduced with Unity 5, but the game has almost the same performance using Legacy Shaders.
Any ideas?
Answer by Graphics_Dev · Dec 31, 2015 at 09:36 AM
@scanzy Most shaders (probably all built-in shaders) have a fallback at the end of the shader code. This says that if the hardware doesn't support the main shader to just use the VertexLit (or other simple) shader. Also, if multiple subshaders are used, the device will use the first one it comes to that the device can support. For example:
SubShader{ A bunch of super complex stuff...}
SubShader{A very simple shader...}
Fallback "To an even simpler shader"
Most likely, your S5 and S6 can support the more complex stuff, while your S2 is running a very basic shader. This translates to a performance drop on the higher-end devices, but also better appearance (hopefully) because of the more complex shader.
To boost performance on your S5 and 6, try using the legacy vertex lit shader as this is likely what the S2 is falling back on. Another (probably better) solution would be to use the better shader but optimize in other ways:
(Go to Edit > Project Settings > Quality to see these settings)
(These are pretty much in order of importance)
Turn off V Sync Count
Disable Anti Aliasing
Switch Shadows to Hard Shadows Only
Drop Shadow Resolution to low and then decrease Shadow Distance to regain quality
Set Blend Weights to 2 Bones
Decrease Pixel Light Count
Disable Anisotropic Textures
Decrease Texture Quality
Let me know if this helps ;)
Answer by rajan4uto · Dec 31, 2015 at 06:28 AM
I am also not sure but as i think unity reduce the quality and improve the performance according to device configuration, you can configure it from quality section(edit-->project setting--> quality) you can see something like given image, you can enhance your performance from there by uncheck some qualities.
Because the issue is with 3 Android devices, it is unlikely the settings there will cause the stated problem. The Android column (the fourth column in your screenshot) can't be split up for different Android devices as far as I know: all Android devices will then use the same quality settings. However, you can change settings, that would change based on device or user input, with some scripting, but that is a deliberate move and probably not the case here.
Your answer
Follow this Question
Related Questions
Low FPS in very simple Android game 1 Answer
FPS lags on Android Device with tk2d 1 Answer
Unity to android (game very laggy) 1 Answer