Sto realizzando un gioco 3D in prima persona. Devo dare a ogni personaggio il proprio VBO o devo raggruppare tutti i personaggi in un singolo VBO? Quali sono i pro / contro?
Sto realizzando un gioco 3D in prima persona. Devo dare a ogni personaggio il proprio VBO o devo raggruppare tutti i personaggi in un singolo VBO? Quali sono i pro / contro?
Risposte:
Questa è davvero una scelta tra prestazioni e flessibilità, ma elencherò le mie opinioni al riguardo.
Un singolo VBO
I lati positivi sono:
e i lati negativi sono:
VBO individuale: s
I lati positivi sono:
e i lati negativi sono:
Sommario
Ti consiglierei di profilare la tua applicazione; ottieni il tuo vero collo di bottiglia nei dati che puoi vedere. L'ottimizzazione prematura può essere mostrata (in questo caso) come non necessaria. Tuttavia, detto questo, se scoprissi una reale perdita di prestazioni nella tua applicazione, dato il singolo scenario VBO: s , puoi iniziare a implementare un singolo VBO.
Tuttavia, fintanto che non è necessario (il numero di oggetti è basso, non molti cambiamenti di stato in generale, ecc.) Consiglierei di andare con i singoli VBO: se non vedi che non funzionerà.
modificare
Ho dimenticato di menzionare che sarebbe andato bene con più call call. La cosa più importante nei periodi critici in termini di prestazioni è mantenere al minimo i cambiamenti di stato. Puoi semplicemente impostare il numero di indici da elaborare e un offset per ogni richiamo di estrazione, e questo va bene. Tuttavia, mantieni i cambiamenti di stato il più bassi possibile e fai il minor numero di chiamate possibili, questo è il grande saluto di questa risposta, o almeno quello che ho cercato di dire.