2016-03-29 21 views
0

Bu yüzden BufferGeometry veya Geometry kullanarak oldukça iyiyim, bu noktada ikisinde de kullanıyorum. BufferGeometry'yi bir çok şeyi değiştirmem gereken yerlerde bile kullanıyorum - kod daha ayrıntılı, ama çok fazla değil.Threejs - Buffergeometrilerden ne kadar kazanıyorsunuz?

Peki, ne zaman kullanılacağına dair herhangi bir yönerge var mı?

+0

- ama BufferGeometry GPU'ya geçirilir ne kadar hızlı sorabilir miyim? Ya da söylenecek diğer şeylere çok mu bağlı? –

cevap

1

Üç.js'deki yükleyicilerin çoğu, Geometry yerine BufferGeometry dönmek üzere değiştiriliyor. Bunun nedeni yükleme daha hızlı ve BufferGeometry daha fazla bellek etkin olmasıdır. Verileri GPU'ya aktarılması kolay bir biçimde saklar.

BufferGeometry. Geometry, verileri bazı açılardan daha kullanıcı dostu bir biçimde saklar. Geometriyi programatik olarak değiştirmeniz gerekiyorsa, Geometry daha kullanışlı olabilir.

three.js, Geometry ve BufferGeometry arasında dönüştürme yöntemlerini sağlar, dolayısıyla bunları da kullanabilirsiniz.

Hızda ne kadar kazandığınız veya azaltılmış bellek kullanımından tasarruf ettiğinizde, büyük/küçük harf kullanımına özgüdür.

Her iki veri yapısına aşina olun ve uygulamanız için hangisinin en iyi olduğuna kendiniz karar verebilirsiniz.

Three.js r.75

tek güvenilir kaynak özel kullanım durumunda
+0

Teşekkür benchmarking her optimizasyon sorusu olduğu gibi –

+0

'Geometry', her zaman GPU’ya geçmek için oluşturucu tarafından' BufferGeometry'’ye dönüştürülür. "Geometry" i tamamen oluşturmaktan kaçınmanız halinde, tasarruf CPU tarafında gerçekleşir. – WestLangley

+0

Teşekkürler! Ve bu her çerçeveyi dönüştürüyor mu? Önemli bir ayak izi ile? –