私は、 (VRカメラで)シーン内に7000個の立方体が作成されますが、問題は、すべての立方体を見るためにカメラを動かすと、FPSは非常に悪くなります。私のPCはGTX 1070を搭載したi7です。問題なく何千ものキューブを描画する必要があると私は考えました。実際には、私はミニクラフトを見ましたが、キューブを描くのに問題はないように見えます))実行時のオブジェクトの多数の産卵遅い
シーンを最適化して、すべてのキューブを1回の呼び出しで良いパフォーマンスを得るようにすることは可能ですか?
私は実際にすべてのキューブは、静的作られ、唯一の標準的な材料なしのテクスチャが存在しない...ここで
私はデフォルトの指向性光源を使用していますし、それは希望光で偉大な作業をするので、標準的なシェーダを変更しないと良いです。私は統計のためにきれいな背景を持つように離れキューブからカメラを動かすので、私はここに41 fpsのを持って :
private void AddCube(Vector3 coords)
{
var particle = (Transform)MonoBehaviour.Instantiate(prototype.transform, holder.transform);
SetScale(particle);
SetPosition(particle, coords);
cubes.Add(particle.gameObject);
particle.gameObject.isStatic = true;
}
private void SetScale(Transform particle)
{
particle.localScale = new Vector3(Scale, Scale, Scale);
}
private void SetPosition(Transform particle, Vector3 coords)
{
particle.position = coords;
}
これは統計のスクリーンショットです:ここで
は、私はキューブを生成しています方法ですパネル。実際にキューブを静的にした後、FPSは画面に表示されるキューブかどうかに依存します。
あなたはどのような照明を持っていますか?あなたはリアルタイムGIを訴えますか?また、標準的なシェーダはかなり高価ですので、最適化の最初のステップとして、それを古くなったDiffuseに変更することをお勧めします。 –
Minecraftにはキューブほど多くのオブジェクトがありません。キューブをマージして1つのメッシュだけを実行します。たとえば、256キューブのメッシュです。それはまさにあなたができることですが、あなたがキューブを動かすことができると言われて以来、ソリューションごとではなく、それぞれの動きごとにすべてを再生成する必要があります。 – Alaanor
あなたのコードをキューブ世代で表示してください。また、ゲームビューでは、右上のStatsを押して、統計ウィンドウのスクリーングラブを表示します。私が描画呼び出しを描画することが非常に高いと思われるIm –