mforge

Aktif üye
26 Kas 2018
275
2
53
28
Enteresan bir problem yasiyorum ama sebebini anlayamadım. Projem topdown ve kamera döndürülebiliyor. Şimdi haritanın farklı noktalarinda foliage ya da varlıkların yogunlugundan dolayı fps dususu yasiyorum hadi bunu normal olarak değerlendirelim. Ama ayni noktada sadece kamera cevirdigimde fpsnin usmesi bana enteresan geldi. Asagidaki gorsellerde cizilmis olan oklar, kamerayi cevirdigimde bakan gunes açıları. Gunese arkami dondugumde(kamera bu arada karakter degil) fps ciddi anlamda yarı yarıya dusuyor yani 65 70 fps civarı. Gunese dogru kamerayı cevirdigimde ise 140 civarinda fps alyorum. 

https://www.hizliresim.com/fauiip8]
fauiip8.png
[/url]
 
Çözüm
Yok foliage silmem gerekmiyor editör içinde Show kismindan disable ettiğimde bütün foliage yok oluyor ve fps iyileşiyor bu sekilde test edebiliyorum. Bu durumda sorun foliage. Aslnda tek bir çimen asseti var landscape üzerinde sorun onda ama sorunun kaynağı ne onu bulamadım.




#Çözüldü#

Çözüm : DirectionalLight / Details kısmında "Dynamic Shadow distance movableLight" kismı var. Bunun default değeri 20k ben bunu 3k yaptım sorun çozüldü. Bu işlemle aslnda karakterin çevresinde örn. 1000 m2 lik alana gölgelendirme yapyo bu alanın dışında gölgelendirmeyi disable ediyor. 
Tabi diğer taraftan konunun gunese dönüp dönmemeyle alakasını anlamadım tabi.
iki veya daha fazla ışık kaynağı collisionları birbiriyle çakışıyor olabilir light complexity açarak incelemeyi düşünebilirsin.
 
CTRL+SHIFT+; ile GPU debugger ı aç. Ya da aynı şeyi "ProfileGPU" konsol komutu ile de yapabilirsin. FPS düşüşü yaşadığın ve yaşamadığın yerleri bu şekilde analiz etmeli, arada ne fark var bulmalısın. Problemin kaynağını bu şekilde bulduktan sonra çözüm çok kolay olacaktır.
 
emin2045' Alıntı:
iki veya daha fazla ışık kaynağı collisionları birbiriyle çakışıyor olabilir light complexity açarak incelemeyi düşünebilirsin.

Baktım bir sorun göremedim.

erginegider' Alıntı:
CTRL+SHIFT+; ile GPU debugger ı aç. Ya da aynı şeyi "ProfileGPU" konsol komutu ile de yapabilirsin. FPS düşüşü yaşadığın ve yaşamadığın yerleri bu şekilde analiz etmeli, arada ne fark var bulmalısın. Problemin kaynağını bu şekilde bulduktan sonra çözüm çok kolay olacaktır.


Hocam baktım ama tablodan pek bisy anladigimi soyleyemem. Gozume çarpan şey Uzun cubuk grafikler var.
"ShadowDepths/Atlas0 6144x2048/DirectionalLight"
Bu başlıkların altında,
WholeScene split2 2040x2040 bunlar var ve ms 5.19 civarında. Sanirim sebep bu ama çozumünü bilmyorum. Cnku bu dediğin olayi ilk defa yapyorum.
 
Proje yedeğini al, tüm folliagel'ar sil tekrar dene. Olmazsa bu sefer Landscape sil ve tekrar dene. Silip deneme yoluyla sorunun kaynağını bulmuş olursun.

Sahnede isterse 1 milyon polygon olsun, poly sayısı sadece güneşin çarptığı yer tarafı kadar işlem görür. Güneşe arkanı döndüğünde, güneşin vurduğu kısımlar görmüyorsun, güneşin vurduğu kısımları görmen için güneşe arkanı dönmen gerekiyor. Yani mesele arkanı ve önünü dönmekten ziyade ışığın vurduğu tarafı görüp görmeme meselesi. Çünkü ışığın olduğu konumda her türlü poly ve materyal devreye giriyor, acaba o açılarda yüksek polygon mu var buraları inceleyebilirsin.
 
Yok foliage silmem gerekmiyor editör içinde Show kismindan disable ettiğimde bütün foliage yok oluyor ve fps iyileşiyor bu sekilde test edebiliyorum. Bu durumda sorun foliage. Aslnda tek bir çimen asseti var landscape üzerinde sorun onda ama sorunun kaynağı ne onu bulamadım.




#Çözüldü#

Çözüm : DirectionalLight / Details kısmında "Dynamic Shadow distance movableLight" kismı var. Bunun default değeri 20k ben bunu 3k yaptım sorun çozüldü. Bu işlemle aslnda karakterin çevresinde örn. 1000 m2 lik alana gölgelendirme yapyo bu alanın dışında gölgelendirmeyi disable ediyor. 
Tabi diğer taraftan konunun gunese dönüp dönmemeyle alakasını anlamadım tabi.
 
Çözüm
Muhtemelen güneşe döndüğünde ekran alanının büyük bir kısmını o directional light etkiliyordu. Güneşle değilde baktığın yönle ilişkili idi yani. Ama sonuçta dediğim gibi problemin neden kaynaklandığını anladığın için güzel bir şekilde çözebilmişsin.
 
Aslında evet dediğin yöntemle baktığimda tabloda Directional light değerleri bariz bir şekilde görünüyordu onu kurcalayarak çözüme ulaştım teşekkürler. Diğer arkadaşlara da öneriler için teşekkürler.
 
Buna bir çok şey neden olabilir.  
Foliage optimiazsyonu için mutlaka instance foliage şeklinde bitkiler yerleştirilmeli ,  cull distance ayarlanmalı, foliage için mutlaka LOD yapılması gerekiyor Bununyanında eğer light map çok büyükse de bazen sorun çıkabilir. 
Lighting ; öncelikle build edilmemiş light her zaman performansı düşürür. Işık çakışması , shader kompleksliği de optimise edilmelidir.  Bununla beraber sahnedeki her mesh - landscape  bile - lightmass ayarını yapmak gerekir.