Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
Önceki mesajlarımda da belirttiğim gibi; zemin/objeler/karakterler için uygulanan normal map haritasını rastgele seçtim ve görünümü daha uygun bir şekilde iyileştirmek için C++ tarafında ekstra özelleştirmeler yapmam gerek ve yapacağım da elbet. Şu an çok düzgün ve güzel görünmüyor evet, hem zeminin eski doku olması hem de normal mapin düzensiz uygulanmasının sonucu...
Bu tarz şeyleri düzeltmek basit ancak zaman alan şeyler olduğundan erteliyorum, önceliğimi her zaman zor olan noktalara veriyorum. Zor olanlar bittiğinde bu gibi şeyleri çok daha seri ve rahat iyileştireceğim ve özelleştireceğim. Normal map'i uygulamak da bu zorluklardan biriydi..
D3DX kütüphanesi artık kullanılmıyor. DirectXTK'ya geçiş yapıldı ve bütün proje baştan sona buna göre düzenlendi.
GPU Skinning ve eski bufferların kaldırılması sonrası bazı yerlerde darboğaz meydana geliyordu. Mesela 200-300-400 adet NPC ile FPS rahatsız etmeyecek derecedeyken, 60 tane metin taşı FPS'i 18-20'lere kadar düşürüyordu. Bunun sebebi ise metin taşlarının(her bir modelin) karakterlere ve objelere göre çok daha fazla mesh içeriyor olması. Rastgele birleştirilmiş sayıca fazla kağıt parçaları gibi düşünebilirsiniz.
Bu noktada; efektlere, karakterlere, objelere ve textlere varana kadar ciddi optimizasyonlar uygulandı. Daha da ileriye taşınabilir belki, fakat bu yeterli oldu benim için şimdilik. Dx11 girişimi öncesi bu darboğaz olayını çözmem gerekiyordu, şimdi ufaktan upgrade hazırlıklarına girebilirim. En azından denemek için....
Optimizasyon sonrası:
100 Metin Taşı: 61 FPS sabit.
200 Metin Taşı: 45 FPS
600 NPC: 40 FPS
1000 NPC: 28 FPS. (Optimizasyon bunları etkilemedi, çünkü önceden zaten sağlam bir temele sahiplerdi.)
Ekim 2025'te bu sonuçlar şu şekildeydi(eski mesajlarımdan):
Dipnot:Bu değerler test edilirken efektler ve isimler de aktiftir. Eğer bunlar kapatılırsa FPS bir miktar daha artış gösteriyor.
Ek olarak, test esnasında bütün modeller-efektler-textler tek bir noktada toplu olduğundan olması gerekenden fazla bir düşüş yaşanması normaldir. Gerçek bir senaryoda kamera dışında, arkasında falan kalan modeller, efektler vb. renderdan çıkarılır ve yoğun bir köy ortamı gibi ortamlarda mümkün olduğunca performans sağlanır. Videoda örneği mevcut fakat yinede spoiler içindeki örneğe bakabilirsiniz:
D3DX kütüphanesi artık kullanılmıyor. DirectXTK'ya geçiş yapıldı ve bütün proje baştan sona buna göre düzenlendi.
GPU Skinning ve eski bufferların kaldırılması sonrası bazı yerlerde darboğaz meydana geliyordu. Mesela 200-300-400 adet NPC ile FPS rahatsız etmeyecek derecedeyken, 60 tane metin taşı FPS'i 18-20'lere kadar düşürüyordu. Bunun sebebi ise metin taşlarının(her bir modelin) karakterlere ve objelere göre çok daha fazla mesh içeriyor olması. Rastgele birleştirilmiş sayıca fazla kağıt parçaları gibi düşünebilirsiniz.
Bu noktada; efektlere, karakterlere, objelere ve textlere varana kadar ciddi optimizasyonlar uygulandı. Daha da ileriye taşınabilir belki, fakat bu yeterli oldu benim için şimdilik. Dx11 girişimi öncesi bu darboğaz olayını çözmem gerekiyordu, şimdi ufaktan upgrade hazırlıklarına girebilirim. En azından denemek için....
Optimizasyon sonrası:
100 Metin Taşı: 61 FPS sabit.
200 Metin Taşı: 45 FPS
600 NPC: 40 FPS
1000 NPC: 28 FPS. (Optimizasyon bunları etkilemedi, çünkü önceden zaten sağlam bir temele sahiplerdi.)
Ekim 2025'te bu sonuçlar şu şekildeydi(eski mesajlarımdan): 28941 eklentisini görüntüle Dipnot:Bu değerler test edilirken efektler ve isimler de aktiftir. Eğer bunlar kapatılırsa FPS bir miktar daha artış gösteriyor.
Ek olarak, test esnasında bütün modeller-efektler-textler tek bir noktada toplu olduğundan olması gerekenden fazla bir düşüş yaşanması normaldir. Gerçek bir senaryoda kamera dışında, arkasında falan kalan modeller, efektler vb. renderdan çıkarılır ve yoğun bir köy ortamı gibi ortamlarda mümkün olduğunca performans sağlanır. Videoda örneği mevcut fakat yinede spoiler içindeki örneğe bakabilirsiniz: