Devlog-0009
Eveet uzun bir aradan sonra beraberiz. Bu süre zarfında işlerim yoğun olduğundan kaynaklı oyunu pek fazla geliştiremedim. Oyunla ilgili bütün gelişmeler bu son 2 gün içerisinde yatığım değişimler.
Memory Leak Düzeldi
Uzun bir uğraştan sonra (8 saat) oyunda kronik hale gelmiş bir ram kullanım hatası vardı. Bu hatadan dolayı oyundayken sürekli olarak bilgisayarın ram kullanımı artmaktaydı. Valgrind isimli bir uygulama ile bu hafıza hatalarını aradım ama birkaç performans kaybı yapabilecek hatadan başka bir şey bulamadım. Bu performans hatalarını düzelttikten sonra internet üzerinden yaptığım araştırmalar sonucu eklediğim yazı fontu ile alakalı olabileceğini düşündüm ve sonunda hatayı buldum.
Hata aslında çok basit olup hiçbir eğitim videosunda değinilmeyen bir şey. Şöyle özetlemek gerekirse SDL de bir yazı yazmak için SDL_Surface
kullanmanız daha sonra onu bir SDL_Texture
tipine SDL_CreateTextureFromSurface()
ile çevirip o textureyi ekrana göstermeniz gerekmekte. Daha sonra o “surface”i serbestleştirmeniz lazım. Buraya kadar her şey tamam ama bahsedilmeyen bunu sürekli güncellediğimiz zaman ayni bilgi ile sürekli olarak texture oluşturduğum için ve oluşturulan texture’u yok etmediğim için hafızayı sürekli kaplıyor ve oyunda donma ve kasmalara sebep oluyordu. Bunu düzelttim.
Bu haftalık güncellemelerden ziyade hata bulmak ve düzeltmek üzerine yoğunlaştım. O yüzden gösterebileceğim pek fazla bir şey yok. Kendinize iyi bakın.