unityは解像度を下げることでゲームの実行効率を向上させる

1031 ワード

前に1つの小さいゲームをして、机能はとても简単で、内容はとても少なくて、しかしゲームは1つの后期のshaderを使って、いくつかのローエンドのandroid机械の上で30フレームさえ走ることができなくて、あいにくゲームはまた高いフレームレートの下でとても良い体験(クールなゲームを走る)があって、本当に头が痛くて、最适化したいのに何の手がかりもなくて、ゲーム自体はとても小さくて、论理もなくて、図もなくて、shaderを取り除くこともなくて、これによってゲームの効果を加点しなければならないからです.shaderも簡単で複雑な演算はなく、shaderのすべての論理を取り除いてもそのまま出力すると効率が低いので、後期shaderがすべての画素点を遍歴してフレームレートが低下したと判断できるので、演算には関係なく、画素点の個数を少なくすればよいということで、普段pcゲームをしていたときに、ゲーム解像度を下げることでゲームfpsを向上させることがよくあり、それは携帯電話ではだめですね.探してみると本当に見つかりました.
https://docs.unity3d.com/ScriptReference/Screen.SetResolution.html
Screen.SetResolutionメソッドでは画面解像度を設定できますが、ここでは画面解像度を従来の0.5に縮小してみます.
        int width = (int)(Screen.currentResolution.width * 0.5f);
        int height = (int)(Screen.currentResolution.height * 0.5f);
        Screen.SetResolution(width, height, true);
個のバッグを携帯電話で実行すると、やはり60フレームでスムーズに実行できます.
ここでは、ゲームの起動時に、ゲームのブラックスクリーン段階でゲームを実行するのに最もリソースがかかる機能を判断し、フレームレートを判断し、私たちの目標を下回ると解像度を下げることができます.
もちろん、この方法はレンダリングによるゲームカートンの問題を解決するためにしか使用できません.ゲームコードロジックによるものであれば、この方法は無効です.