Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
FPS sorunu ve Lod
#1
Oyunumda büyük bir level dizayn ettim, şu ana kadar fps ile ilgili bir sorunum olmamıştı. Ancak karakterin eline bir tane cep telefonu verdim ve telefonun ekranına da Scene Capture koydum.
Telefonu açmadan FPS:
1zchd2v.jpg

Telefonu aktif edince FPS :
33u93ma.jpg

Telefon SS teki gibi, 470 tris li, yani sanıyorum telefon dan değil de Screen Capture dan dolayı bir sorun var.
Ek olarak ışıkla ilgili olduğunu da düşünmüyorum çünkü karakterin eline fener verince FPS yine 120 lerde oluyor.

Yukarıdaki sistemde telefonun kamerası ile ilgili LOD yapabilir miyim? Yani Normal lod ayarları ile kameranın lod ayarları ayrı olabilir mi?

Son olarak Lod volume gibi birşey var mı? Yani objelerinin lod' unu tek tek ayarlamak yerine bir volume koysam ve o volume ..... kadar yaklaşınca level of detail şu noktaya gelsin gibi bir şey olabilir mi?

Şimdiden Teşekkürler.
Ara
Cevapla
#2
Fps dusuren etkenler isiklardir zaten.

Sana pm de soyledigim 3 kamera olayi kasabilir dogruymus  Big Grin


Edit : oyun 2 farkli acidan render yaptigi icin dusuyor olmalo

Bence o sistemi degistirmelisin
Ara
Cevapla
#3
Ya bir yolu muhakkak olmalı, eğer bir ayarı yoksa kimse Screen Capture kullanamaz. Direk 80 fps düşer mi tek kameradan.

Işık fps' yi etkiliyordur ama tek spotlight ın da bu kadar fps düşüreceğini sanmıyorum. Hala screen capture'da gözümden kaçan bir ayar olduğunu ümit ediyorum : )
Ara
Cevapla
#4
Sen şu anda aynı sahneyi her frame'de 2 kere render ettiğin için performans düşüşü normal. Bunu azaltmak için yapabileceğin şeyler;

- Render Texture çözünürlüğünü düşür. Oyunun oynanacağı çözünürlüğü maximum 1080p olarak düşünürsek telefonun ekranda kapladığı alanı kabataslak hesapla ve o çözünürlüğe düşür.
- Scene Capture 2D actor'ün bazı post process efektlerini iptal et. Ambient occlusion ve SSR(Screen Space Reflections) en fazla performans yiyenlerdir.

Oyunlarda kullanılan scene capture 2D ve Cube'lerin render targetleri çoğu zaman statik hale getirilir(render target texture üstünde sağa tıkla > Create Static Texture), tabi bu oyun sırasında güncelleme yapmadığı için hareket eden objeleri göremezsin, senin durumunda da bir işe yaramıyor malesef.
Özelden sorulan UE4 soruları cevaplanmayacaktır...
Cevapla
#5
Tamamdır söylediklerini yaptım biraz daha toparladı gibi 80 FPS lere çıktı. Teşekkürler ^^

LOD konusunda ne yapabilirim? Lod Volume gibi bir şey yok değil mi oyunda ?
Yani ben istiyorum ki :

Mesela uzun bir koridor var, karakter önündeki ilk 20 metreyi görsün gerisi yaklaştıkça açılsın. Böyle bir şey performansı arttırır değil mi? Sonuçta ileride poligonları okumaya çalışmayacak. Bunun genel bir yolu var mı? Yoksa her nesne için LOD ayarı mı yapmalıyım?

Teşekkürler : )

Birde şu sistemi anlayamadım bir türlü:
Eğer küçük küçük çok level yapınca oyun çok büyük çıkıyor her level iyi kötü 1-2 gb arası çıkıyor ki 10 level olsa oyunda 20 gb oluyor.
Levelleri daha uzun tutunca da bilgisayar kasıyor fps düşünüyor.
Yapan nasıl yapıyor anlamıyorum. Adamlar bir oyun yapıyor 40 farklı mekanda geçiyor, 1-2 tane level var toplam ama  ufak bir bilgisayarı zorlamada yok, oyun da ancak 2-3 gb çıkıyor. Benim gözden kaçırdığım birşey mi var?
Sadece oyuna eklenen static meshlerle ilgili olduğunu düşünmüyorum, başka bir şeyler var ama bulamadım bir türlü 
Ara
Cevapla
#6
Şimdi senin istediğin lod olayı değil bence.


post efektleri ile görüşü kısıtlayabilirsin hem mantıklı olur flaslight için vs.


oyunun boyutuna gelirsek,benim o mapi görmüştün.

textureler vs hariç o harita 7 mb.

textureleri oyunun tüm bölümlerinde ortak kullanıyorum ve çoğu objeyi.

motor dosyaları vs 300mb çıkıyor oyun.

olabildiiğince texture boyutlarına dikkat et ve ortak olarak kullanmaya bak.

mesela kapıdaki metal texturesi ile levyeedki aynı olsun vs.

bunları birbirinden uzak yerlerde tutarsan (oyuncu 2sinide aynı anda görmezse) birşey anlaşılmıyor.

ve olabildiğince görünmeyen yerlerdeki textureleri koyma.
Ara
Cevapla
#7
LOD konusunda 4.8 ile şöyle bir özellik geldi:

HierarchicalLOD_zpsxixdwzf1.jpg

World Settings'den Enable Hierarchical LOD aktif hale getirilip build sekmesinden Build LOD's denilir. Bu LOD'si hazır olan objeleri konumlarına göre gruplayarak birleştirir böylece normal LOD avantajının üstüne bir de obje sayısını azaltmaya yarar. Tabi senin haritalarda farkedilir bir etkisi olur mu bilmem, poligon sayısı zaten baya iyiydi objelerin. Sana tek sorun teşkil edecek şey screen capture 2D. :\ İlla neleri kısmam lazım diye bakmak istiyorsan CPU ve GPU profiling yapıp neyin en fazla işlemci zamanı yediğine bakabilirsin.

Levellere gelince, tüm levelleri tek bir haritaya getirip streaming level olarak geçiş yaptırabilirsin bölümler arasında. Onun için de World Composition'a bakman gerek.
Özelden sorulan UE4 soruları cevaplanmayacaktır...
Cevapla
#8
(19-08-2015, Saat: 17:59)Jacky Adlı Kullanıcıdan Alıntı:  Sen şu anda aynı sahneyi her frame'de 2 kere render ettiğin için performans düşüşü normal. Bunu azaltmak için yapabileceğin şeyler;

- Render Texture çözünürlüğünü düşür. Oyunun oynanacağı çözünürlüğü maximum 1080p olarak düşünürsek telefonun ekranda kapladığı alanı kabataslak hesapla ve o çözünürlüğe düşür.
- Scene Capture 2D actor'ün bazı post process efektlerini iptal et. Ambient occlusion ve SSR(Screen Space Reflections) en fazla performans yiyenlerdir.

Oyunlarda kullanılan scene capture 2D ve Cube'lerin render targetleri çoğu zaman statik hale getirilir(render target texture üstünde sağa tıkla > Create Static Texture), tabi bu oyun sırasında güncelleme yapmadığı için hareket eden objeleri göremezsin, senin durumunda da bir işe yaramıyor malesef.

Merhaba, konuyu geri getirdiğim için özür dilerim ama benim de benzer bir sorum olduğu ve sizin de Yabancı forumda ilgilendiğiniz bir konu olduğu için sizden yardım istiyorum. Öncelikle 2 sorum olacak;
1) Skybox'ın ve Directional Light'ın değiştiği bir gündüz gece döngüsü hazırlamak istiyorum ve önceden hazırladığım için o konuda bir sorunum yok. Hatta gelecekte dinamik bir hava durumu sistemi de hazırlamak istiyorum. Ancak aynı zamanda da optimum (Buyüzden de olabildiğince az gerçek zamanlı) hesaplamalar istiyorum (Örneğin binaların gölge hesaplamaları, aynı yerlerin hava durumuna göre farklı yansıma yapması) ancak bu durumları hesaplayıp nasıl Texture'e dökeceğimi bilmiyorum. Anladığım kadarıyla CubeMap Texture'ü ile birlikte yansımaları, LightMap ile birlikte de gölgeleri Texture olarak saklayabiliyoruz ancak bunlar sadece sabit obje ve sabit ışık kaynağı altında gözüküyorlar. Peki bu Texture Map'lerin her duruma göre farklı bir Texture göstermesini nasıl sağlayabiliriz?? Sağlayabilirsem bu Texture Map'leri arasındaki geçişi yumuşaklaştırarak (Yani bir anda pat diye değişmemesini, zamanla ve gözlere batmayacak bir şekilde) değişmesini sağlayabilir miyiz?
2) Sabit duran objelerin hava ve zamana göre yansımalarını değiştirdik varsayarsak, peki hareketli objeleri optimum bir şekilde nasıl yansımaya ekleyebiliriz? Screen Space Reflections özelliği sayesinde karakter gibi hareketli bir objenin topraklama yansımasının (Dümdüz değil, kırılmalara ve dağılmaya uğrayarak yansıma) yüzey üzerinde gösterilebileceğini gördüm ancak aklımda şöyle bir soru var. Yapay Zeka objelerin trafik akışı hareketli bir şekilde sağlanırken tüm bu objelerin hareketli yansımalarını dik duran camlar üzerinde göstermemiz mümkün mü? Yüksek kalitede olmasına gerek yok (Hiçbir AAA oyunda yok neredeyse zaten) ancak yine de her karede bu hesabı yapmak yorucu bir işlem olur mu? 
Not: Scene Capture kullanmaya sıcak bakamıyorum çünkü yazılanlara göre her karede tüm sahneyi yansıtmaya çalışıyor ve bu gereksiz derecede büyük bir hesaplama. Küçük küçük detayları üst üste ekledikçe gelen görüntünün optimize çalışma kabiliyeti, bu derece büyük bir hesaplamanın optimize çalışma kabiliyetinden çok çok daha büyük diye düşünüyorum çünkü.
Ara
Cevapla
 


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  [ACEMİ SORUSU] fbx texture sorunu spartakus 2 354 15-03-2023, Saat: 14:16
Son Yorum: spartakus
  Navigation Sorunu mrtcnaslnts 2 317 29-01-2023, Saat: 00:55
Son Yorum: leonscottkfm
Video Landscape titreme sorunu Emirhan Altaş 0 446 22-07-2022, Saat: 19:35
Son Yorum: Emirhan Altaş
  Map Boyama sorunu mrtcnaslnts 2 489 24-06-2022, Saat: 23:15
Son Yorum: mrtcnaslnts
  Metahuman karakter kalıplarını blendera atma sorunu swordar 0 510 08-11-2021, Saat: 12:06
Son Yorum: swordar
  Landscape Boyma Sorunu mrtcnaslnts 4 1,166 04-02-2021, Saat: 13:02
Son Yorum: mrtcnaslnts
  Ağaç sorunu Emirhan Altaş 4 1,401 06-05-2020, Saat: 21:19
Son Yorum: Emirhan Altaş
  Gölge sorunu Emirhan Altaş 5 1,778 04-05-2020, Saat: 22:29
Son Yorum: nonlinear
  Unreal Aniden FPS düşüp çıkma sorunu muhammedsgrl 6 1,817 06-04-2020, Saat: 08:29
Son Yorum: muhammedsgrl
  Displacment Sorunu rlsaka 1 893 27-03-2020, Saat: 15:59
Son Yorum: Jacky

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi

Unreal Engine Türkiye

This forum is community driven and supported by voluntary community members. It has nothing to do with Epic Games.

Bu site sadece destek amaçlıdır. Epic Games ile bir ilgisi yoktur.