Hi there can someone explain or share his experience with mobile graphic something like how to get good balance between quality and framerate what Shader should we use old surface shader or surface standard can we use built-in fog or a custom solution, should we use unity built-in image effects or write our own.
So for anyone who is interested join the discussion and share and others can take advantage of your experience
Completely depends on the project. Think of the parts of the mobile device (cu, graphics, memory) like containers, where if you over-fill it you have a performance problem. If you’ve already filled the container three-quarters with some particular code, you don’t have much room left for some other code that needs half of the container to run - but if the first code hadn’t been there, the second code would have run fine and you would be wasting time if you were to try to optimize it.
Just build your game, run it, and if you’ve got a problem, find out what’s mainly causing it. If you can improve the performance of that part directly, so much the better, if not you’ll have to optimize other things to make room for it.
This is the answer almost everyone give about mobile games development but you can not test everything you won’t have the time for that.
You need to test your project on actual hardware and see how it performs.
Surface shader actually gets downgraded slightly for mobile hardwar.
So it is mostly project dependent.
Nobody asks you to test everything. You need to run your game on sample hardware, and see how it performs. Then optimize (or not) based on data you collected.
In my case I was able to use standard shaders on 4 year old android tablet but particles had significant performance impact. By modern standard the tablet was a potato, due to being dualcore.
So, you need to test and your mileage may wary.
Thanks for your advice i’m expecting answer like your
You don’t need to test everything, you need to look at the profiler and see what is tanking your fps.
Let me put it like this: let’s say you have a space game with a shader that renders an entire planet with real-time weather and everything. Likely it is going to warm up your mobile’s gpu a bit. If your game depends on having this fantabulous shader-driven planet there, then the question of whether or not you should bin it and use the standard shader instead, is moot. You would instead look at other things that your game doesn’t depend on so much, and optimize them instead, making room for this planet shader.
So generalizations can be made, but they aren’t necessarily helpful or relevant. The game comes first, and optimization works around the game design, not the other way around.
its highly depends on the project, and what hardware you are targeting? A 2d puzzle game is going to have vastly differently requirements than something like a strategy game, or a game of any other design. Get a prototype made with the basics, figure out why things are going slow with tools like the profiler. No point reducing draw calls if its the fill-rate that is tanking things or vice versa. Also figure out what features are important to your game and where you can free up resources for those features elsewhere.