• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
[Aiuto] Migliorare prestazioni FPS
#1
Ciao ragazzi nel mio gioco ho messo l'occlusion per migliorare gli FPS e così è stato, sono riuscito a portarlo a 60-40 fps ma si nota ancora un leggero LAG. Sapete cosa posso fare per migliorare le prestazioni? Uso molti effetti sulla telecamera.

Grazie Ciao!
 
Rispondi
#2
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....
 
Rispondi
#3
(05-04-2017, 11:55 PM)carloss Ha scritto: 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....

Ti ringrazio della risposta, si uso Unity. Ho messo l'occlusion perchè permette di renderizzare solo quello che vede la telecamera e quindi di migliorare le prestazioni. Non ho ancora aggiornato alla 5.6. Che cosa intendi con "limitare le draw call" cioè come devo fare? Scusa per ste domande ma in 2 anni che uso Unity non ho mai avuto l'occasione di migliorare le prestazioni.
 
Rispondi
#4
Scusa ho cancellato delle parti di testo e ne è uscita una frase un po' contorta senza accorgermene , volevo chiederti se con occlusion intendevi l'effetto ambient occlusion( visto che parlavi di effetti) o appunto l'occlusion culling Smile

Per farla breve per limitare le draw call devi unire, per quanto possibile, le mesh, usare pochi materiali e usare una atlas texture. Ti rimando alla sezione ottimizzazione del manuale di unity dove puoi trovare queste informazioni nel dettaglio
https://docs.unity3d.com/Manual/Optimizi...mance.html
 
Rispondi
  


Vai al forum:


Browsing: 1 Ospite(i)