Come ho capito using buffer geometries aumenterà le prestazioni e diminuirà l'utilizzo della memoria perché riduce il costo del passaggio di tutti questi dati alla GPU.Three.js - Domande su (l'uso di) THREE.BufferGeometry
E come ho capito from @WestLangley his post qui:
THREE.BufferGeometry
sta sostituendo lentamenteTHREE.Geometry
come è computazionalmente più efficiente.
Attualmente sto usando Three.js - R72.
Quando disegno le mie geometrie per creare mesh e aggiungerle alla scena, vedo che ci sono due proprietà all'interno dei miei geomtries e _bufferGeometry
.
Qui in un THREE.BoxGeometry
:
Qui in un THREE.Geometry
:
Qui in un THREE.ShapeGeometry
:
Le mie domande:
- che cosa è un
THREE.DirectGeometry
e che cosa fa? (Non riesco a trovare alcuna documentazione su questo) - È già in uso questo
THREE.BufferGeometry
memorizzato in_bufferGeometry
? In caso contrario, posso semplicemente usarlo al posto della mia geometria per aumentare le prestazioni? - Esistono metodi di conversione:
THREE.BufferGeometry
hatoGeometry
eTHREE.Geometry
hatoBufferGeometry
. Se converto tutte le mie normali geometrie in geometrie tampone usando questo metodo, mi darà lo stesso aumento di prestazioni rispetto a disegnarle comeTHREE.BufferGeometry
dall'inizio? - Come e quando dovrei usare
THREE.BufferGeometry
? - Quando tre.js smetterà di supportare
THREE.Geometry
in favore diTHREE.BufferGeometry
?
NOTA: non riuscivo a trovare le informazioni dettagliate su quando e come utilizzare le geometrie del buffer o quando sta per essere la sostituzione THREE.Geometry
. Ma se qualcuno ha una buona fonte o referenza per favore lascia un commento.
Grazie per la risposta. Potresti ancora elaborare un po 'su questa parte: * Se converto tutte le mie normali geometrie in geometrie tampone usando questo metodo, mi darà lo stesso aumento di prestazioni rispetto a disegnarle come un THREE.BufferGeometry dall'inizio? * Perché sono ancora Non sono sicuro se dovrei ridisegnare le mie geometrie come geometrie del buffer per ottenere prestazioni massime ... – Wilt
Un altro ... Esiste una differenza di prestazioni tra le geometrie del buffer indicizzate e non indicizzate? – Wilt
(1) Come ho detto al punto # 3. in alto, se vuoi risposte riguardanti le prestazioni, devi fare un test della tua specifica applicazione. (2) Il renderer converte comunque le geometrie normali in geometria del buffer, quindi non ci dovrebbe essere alcun motivo per effettuare la conversione manualmente. Potrebbe essere una buona esperienza di apprendimento, tuttavia. (3) La "BufferGeometry" indicizzata e non indicizzata può o non può avere differenze di rendimento significative. Dipenderebbe dalla geometria. – WestLangley