2012-07-03 30 views
16

Verilen bir çağrı çağrısının sonunda glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0) ve/veya glBindBuffer(GL_ARRAY_BUFFER, 0) kullanarak çözülmemi daha temiz görünüyor. Olması gereken hiçbir şeyin bağlı olmadığından emin olmayı; Bununla birlikte, bunun bir çok performansında bir hit var mı?OpenGL, bir beraberlik çağrısından sonra açıkça çözülmeye değer mi?

Herkesin yararlı olması için "temiz" bir yol yapmasını ister misiniz? Ya da hızlı & özensiz yoldan gitmeli miyim?

(Evet, bir sonraki arabellek nesnesinin bu hedefe bağlı olup olmadığına bakılmaksızın, ilgili arabellek nesnesinin bir sonraki arabellek nesnesi tarafından değiştirileceğinin farkındayım. Ve evet, performans yapabilirim. Ancak, hızlı bir insan yanıtı güzel olurdu.)

cevap

12

Kodlama sırasında temizliği bozabilirim ve daha sonra serbest bırakmanın hemen yanında optimize ederim.

Buradaki avantajlar, kodunuzda durum değişikliklerinden endişe duymadan yeniden düzenleme yapabilmeniz, ancak yine de en iyi duruma getirilmiş durum değişikliklerine sahip olmanızdır. Ve sadece gerçek optimizasyonda zamanın bir kısmını harcıyor olacaksınız.

Performans isabeti açısından, eğer binlerce ek güvensiz çağrınız varsa, bazı ek yükler olacaktır, ancak bu sizin darboğaz olmanız olası değildir.