2011-02-05 24 views
6

Tüm yedekli opengl çağrılarını ortadan kaldırmanızın önerilip istenmediğini merak ediyordum. Sürücü otomatik olarak bu tür şeyler yapıyor ve bu yedekli de çok fazla kontrol aslındaYedekli OpenGL aramaları yapma

if(foobuffer != boundbuffer) { 
    glBindBuffer(GL_BAR_BUFFER, foobuffer); 
    boundbuffer = foobuffer; 
} 

Veya geçerli: Mesela

, ben (bir fonksiyonu sarılmış) gibi bir şey yapıyor olması gerekir?

cevap

5

Muhtemelen bundan kaçınmalısınız. Here (özellikle 22.040, sayfada bir çapa olmadığı için sayfayı aşağıya kaydırmanız gerekir), bazı uygulamaların etkiyi en aza indirmeye çalışmasına rağmen gereksiz çağrıların genellikle kötü bir uygulama olduğu not edilir. gDEBugger gibi araçlar, kod tabanınızda kaç kişi olduğundan emin olmadığınız bir konumdaysanız, yedekli aramalar yapabileceğiniz yerleri takip etmenize yardımcı olmak için kullanılabilir.

3

Sadece bir Android uygulamasından bu tür çağrıları elimine ettik, bu yüzden size bu platformda (o belirli işletim sistemi sürümü ve donanımında) önemli olduğunu ilk elden anlatabilirim. Çerçeveyi birkaç fps artırdı, yaklaşık% 5-10'luk bir kâr demek istiyorum.