Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
(Test)Unreal Engine game thread stress testi
#1
Herkese merhabalar.

Yavaş yavaş yeni bir projeye başlıyorum sonunda. Bundan sonra yapacağım tüm oyunlar multiplayer olacak. Modüler bir sistem kuruyorum.

Şimdilk Client-Server modeline odaklıyım ve bu şu demek. Bir oyuncu hem server hem client bir arada olacak. Yani hem kendi oyununu oynayacak hem de diğer oyuncuların senkronize olması gereken şeylerini de kendisi yapacak. Bu kurucu oyuncunun bilgisayarında ekstra yük oluşturuyor tabi bu sadece game thread üstünde oluyor ki en az sıkıntı yaşanan thread. 

Yine de daha en başından hangi işlemlerin ne kadarını clientte ne kadarını serverde yapacağımı düşünüyorum. Ne kadar loop, trace, casting yapabiliyor performans etkilenmeden bir istemci merak ettim ve boş bir projede şu testleri yaptım ve işlemin kaç milisaniyede tamamlandığını hesaplattım:


Tüm testler Blueprint içinde yapıldı. C++ da daha hızlı olacaktır.


500 Aktör spawn etmek(Boş) =1ms;

500 Aktör spawn etmek(2-3 komponent ve igrone collision parametresi ile) = 30ms;

5000 aktör ile GetAllActorsOfClass(Actor)->CastTo(TestActor)->bir integer matematik işlemi = 0.1ms(Casting sandığımdan daha az performansı etkiliyormuş.)

5000 aktör ile (GetAllActorsOfClass(Actor)->CastTo(TestActor)->GetComponentByClasss(BirKomponent)->IsValid->Komponent içindeki bir fonksiyon) = 5ms;

5000 aktör ile AddComponentByClass = 0.1ms; (Component ekleme silme de çok az performans yiyor)

10000 LineTraceByChannel(2500 trace mesafesi) = 3ms;

10000 MultiLineTraceByChannel (2500 trace mesafesi) = 10ms;

5000 MultiSphereTraceByChannel(2500 trace mesafesi, 150 radius) = 30ms;

İşlemci AMD 5600 xt. Multispheratrace ve colision olan 500 aktörü her tickte yapılması dışında hiçbir fps kaybı yaşamadım. 


Sonuçlar beklediğimden çok daha iyi. Hiçbir oyunumda bir tickte 100 den fazla trace bile yapacağımı sanmıyorum.
Ara
Cevapla
#2
https://drive.google.com/file/d/1ZPvQHvk...sp=sharing

Bende bu şekil test yapmıştım.Event tick in GPU odaklı ve Timer Event in CPU odaklı oldugunu gördüm.Timer Event ile biraz işlem yaparsanız FPS artıyor ve aşırı işlem olursa GPU ya zaman kalmadıgından fps düşüyordu.
Resimde 1 dakikada nekadar toplama işlemi yaptığını gösteriyor.ve kaç actor ile oldugunu gösteriyor.yani her actor ayrı olarak sayıyor.
Resme bakınca anlamak zeka işi.kafa ve göz karışıyor.konsantre olunamıyor.
Ara
Cevapla
 


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Unreal Engine 5 - Lumen Aydınlatma Dersi Phyrexian 1 113 11-05-2022, Saat: 18:51
Son Yorum: leonscottkfm
Lightbulb Unreal Engine Scripts and Notes creos 1 69 22-04-2022, Saat: 11:04
Son Yorum: erginegider
  Unreal engine oyuna ekleyeceğim sesleri nereden bulabilirim? öğrenci2 1 104 14-04-2022, Saat: 10:46
Son Yorum: nonlinear
  Player Controller, Game Instance, Game Mode, Player & Game State Hakkınd Detaylı Bilg Jacky 2 470 03-08-2021, Saat: 06:00
Son Yorum: muhammedsgrl
  Bu sistemle unreal kullanılırmı Unrl assasin 2 732 21-12-2020, Saat: 21:06
Son Yorum: leonscottkfm
  [ACEMİ SORUSU] Unreal Engine Nereden Öğreniyorsunuz emin2045 2 1,105 10-07-2020, Saat: 21:44
Son Yorum: Ekin_a
Video Unreal Engine 4 - Ders 9 - Can Paketi Kullanma ve Can Seviyesi Kontrolü. oguz-ulku 4 2,320 04-06-2020, Saat: 21:02
Son Yorum: Cattowin
  Unreal Combine Custom Movement And Advanced Locomotion V4 (DERS) muhammedsgrl 2 923 14-05-2020, Saat: 12:35
Son Yorum: muhammedsgrl
  Unity vs Unreal Engine dyanikoglu 7 8,318 09-10-2019, Saat: 21:54
Son Yorum: OldNoob
  Unreal Engine Türkçe Eğitim Seti merbekta 2 3,665 25-05-2019, Saat: 23:24
Son Yorum: merbekta

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.