Opengl'de yeni bir kod tabanı yazıyordum ve çok erken bir tuhaf hatayla karşılaştım. Bu, tekrarlanan ve tahmin edilebilir olan çerçeve içinde ayrı bir dalgalanmadır.Döngüsel FPS damlalarının olası nedenleri?
İşlenen nesnelerle kesinlikle orantılı olduğunu biliyorum. Bu kabaca 0.2 bir oran da ekran boyutu (görüntü alanı boyutu değil, pencere boyutu, sadece fiziksel cihaz boyutu) orantılıdır: 1 (düşük: yüksek)
çerçeveleri, ayı meraklandırdın ve grafikle Pencerenin/bağlamın birbirine benzemediğini veya kapatılmadığını unutmayın.
Görünüm tamamen sabit ve tüm nesneler sabit. Her kare tam olarak aynı. Hiçbir zaman herhangi bir girdi verilmedi. Zaman temelli hiçbir şey yok. Çöp toplama işlemi gerçekleşmez.
Temelde, böyle büyük bir değişikliğe neden olabilecek bir çerçeve üzerinde oluşturulmuş bir çerçeve varsa, anlamıyorum. İşte
bu github için VS2012 projesini yüklenen o zaman hiçbir anlayış verirse programın sahte kodcreate window
load shaders
grab uniform locations
create camera
create 3 meshes // They just hold the buffers and data for a model
create x objects and pass a pointer to a random mesh // Objects hold position, rotation etc + link to mesh
while game is running
poll window for events
capture mouse and recalculate VP matrix if required
for each object
recalc MVP
bind mesh's buffers and draw elements
draw window //SFML handles this, just swaps front/back buffers and draws
clean up data
akış: bu belirli bir yerde SFML2 gerektirdiğinden https://github.com/Twistedsnail/Untitled_for_SO (muhtemelen yerel olarak çalışmayacak ve VS dosyalarında GLM)
Kodu görebilseydik muhtemelen yardımcı olur. Soruna eklemek uzunsa, yayınlayabileceğiniz ve sorunuza bir bağlantı ekleyebileceğiniz yerler vardır. Ayrıca, eski (sabit boru hattı) veya yeni (programlanabilir boru hattı w. Shader) OpenGL mi? –
GL4.1'i hedefleyen gölgelendiriciler. Bugün daha sonra şansım olduğunda kodu yükleyeceğim. –
Bir zamanlar CUDA ile çok benzer bir sorun yaşadım. Yaklaşık her 200 ms'de çekirdek yürütmeleri arasında 2ms gecikme yaşayacağım (çekirdek yürütmesindeki her döngü aynı olacak).Problemin nedenine hiç kapılmadım, çünkü geliştirme sürecinin bir noktasında yok oldu ve değişim tarihini ikiye katlamaktan rahatsız olamadım. – datenwolf