La lista è lunga:
- Limitare le Draw Call
- Pochi poligoni
- Shader "economici"
- Limitare gli effetti di luce real time e pixel light count, fare il bake delle luci (lightmap)
- Limitare le trasparenze soprattutto quando si usa il forward rendering
- Combinare più oggetti in un' unica mesh
- Ottimizzare materiali, texture, dimensioni e atlasing
- Quando possibile dichiarare gli oggetti come statici per il batching
- Limitare gli effetti post-processing
- Evitare i mesh collidder per le collisioni
- Evitare Find e getcomponent negli update
Limitare le draw call racchiude molti elementi della lista. In sintesi queste sono le cose fondamentali su cui fare attenzione, posso aver dimenticato qualcosa.
E' chiaro che usando molti effetti post-processing avrai un calo di prestazioni quindi limitane l'utilizzo se possibile.
Non hai specificato quale engine usi( suppongo unity visto che hai scritto in questa sezione), su quale piattaforma e che tipo di gioco.
Unity mette a disposizione nuove features quali gpu instancing (5.4) e il frame debugger (5.6) per monitorare le draw call e capire perchè non viene fatto il batching
https://blogs.unity3d.com/2017/04/03/how...ed-in-5-6/
PS: La questione che aggiungendo l'occlusion culling migliorano le prestazioni non l'ho capita....