Günlük: HoI4 - Arms Against Tyranny Değişiklik Listesi ve Performans Yenilikleri
#1
hoi4-banner-2018.png

Hearts of Iron IV geliştirici günlüklerinde bu hafta Arms Against Tyranny Değişiklik Listesi ve Performans Yeniliklerinden bahsediliyor.

https://forum.paradoxplaza.com/forum/dev...g.1600827/ :Herkese selamlar!

Arms Against Tyranny ve Stella Polaris güncellemesinin mühürlenip gönderilmeye hazır hale getirileceği gün yaklaşıyor. AAT'nin geliştirme sürecinin bir parçası olmak büyük bir zevkti ve ekip bu süreçte takdire şayan bir performans sergiledi - hepimiz çabalarımız hakkında ne düşündüğünüzü görmek için sabırsızlanıyoruz ve umarız sunduklarımızdan keyif alırsınız.

Önümüzdeki haftalar aynı zamanda bizim için yayın sonrası destek dönemine işaret ediyor. Burada topluluğun ihtiyaçlarına karşı tepkisel kalmayı tercih ediyoruz: hemen bir yayın sonrası 'yol haritası' oluşturmak aslında bunu yapmamızı zorlaştırıyor. Bunun yerine, burada aktif bir varlık göstermeye devam edeceğimizi ve gerektiğinde, zaman ve kaynaklar elverdiğince hızlı bir şekilde tepki vereceğimizi açıklamak için buradayım.

Her zamanki gibi, yama notlarını size erkenden yayınlıyoruz, böylece en sevdiğiniz açıkların düzeltilmesini bir veya iki gün önceden teorik olarak düşünebilir, hevesle bekleyebilir veya üzülebilirsiniz. Her zaman olduğu gibi, eksik notlar olabilir ve bunları bulursak, zaman geçtikçe bu yazının sonundaki bir spoiler'a eklenecektir.

1.13.0 Güncellemesi ve 1.13.1 aynı anda yayınlanacaktır.

Şimdi Performans değişikliklerini gözden geçirecek olan Teknik Liderimize iletiyorum.

Bonjour à nouveau, arkadaşlar! Üçüncü sefer bir gelenek haline gelir mi bilmiyorum ama HoI'nin teknoloji ekibinden bazı güncellemeler vermek için sürümden önce bir kez daha ortaya çıkıyorum.

Geçen yıldan bu yana beni pek göremediyseniz, bunun nedeni kısmen **REDACTED**, **REDACTED** ve ayrıca **REDACTED** ile meşgul olmamdır, ancak son birkaç aydır dikkatim tamamen HoI'ye döndü.

Peki, 1.13 "Stella Polaris" ile HoI'nin teknolojisinde ne gibi yenilikler var?

Mayınlar ya da en büyük şehir efsanesi

Öncelikle, harika bir haber, deniz mayınları artık oyunu yavaşlatmayacak! Yaşasın!

image6.png

Ama bu bir yalan. Bazı topluluk ev kurallarında okumaya devam ettiğim "benim gecikmem" diye bir şey yok. İki yıldır yok. Biliyorum çünkü 1.11'de (Barbarossa) düzelttim. Ancak bildirimi kaçırdığınız için kendinizi kötü hissetmeyin, çünkü Aralık 2020'de yapılan bu değişiklik (2021'de Geri Adım Yok ile gönderildi) değişiklik günlüğüne hiç girmedi.

Kod:
commit da0ce4ac94ba1938459ffb6abe3bf2b0cd4bab1e
Author: Mathieu Ropert
Date:   Mon Dec 14 17:38:59 2020 +0100

    [X] Fixed performance issue when mines are used

Oops.

Ama daha da iyi haberlerim var. Mayınların kullanımı oyunu yavaşlatmasa da, bir kavram olarak mayınların varlığı, onları kullansanız da kullanmasanız da bir performans maliyetine neden oluyordu. Bu da 1.13 için büyük ölçüde iyileştirildi.

Yani devam edin. Çıldırın. Tüm okyanusu mayınlayın. Neler olacağını görün.

V-Sync, G-Sync, Free-Sync, NSync...

Bu sefer büyük bir platform güncellemesi olmasa da (desteklenen işletim sistemleri aynı kalıyor), HoI'de render teknolojisine bazı küçük iyileştirmeler getirdik.

Bunlardan en önemlisi değişken yenileme hızına sahip monitörler ve GPU'lar için destek. DX11 (1.12'den beri varsayılan) kullanıyorsanız ve donanımınız bunu destekliyorsa (ve Windows 10 veya üstünü kullanıyorsanız), vsync kapalıyken daha fazla FPS almanız gerekir. İş yerindeki NVIDIA RTX 3060'ımda, oyun duraklatıldığında 1.12'de 140-150 FPS'den 1.13'te yaklaşık 190 FPS'ye çıkıyor.

Farkı görsel olarak anlayabileceğinizi söylemiyorum, ancak rakamların yükselmesinden hoşlanmasaydınız bizim hayranımız olmazdınız, bu yüzden bu size ücretsiz olarak biraz taş verecektir.

Ayrıca, özellikle saatlik/günlük tik işaretiniz 16/33/50 ms'den (oyun hızına bağlı olarak) daha yavaş olmaya başladığında, oyunun durdurulmadığında nasıl işlendiğini de biraz değiştirdik. Uzun lafın kısası, simülasyon CPU açısından daha ağır hale geldiğinde FPS'yi sabit tutmanın "maliyeti" iyileştirildi, bu da özellikle 4. ve 5. hızlarda daha iyi FPS ve daha az algılanan "gecikme" anlamına geliyor.

Genel performans iyileştirmeleri

Daha önce bir teaser olarak mayın örneğini kullandım, ancak genel olarak bu güncelleme iyi miktarda performans iyileştirmesi ile birlikte geliyor. Bunlar kısmen diğer oyunlarımıza ve ne yazık ki açıklayamadığım bir dizi gizli şeye bakarak zaman geçirmekten ve kısmen de eski sorunlara yeni bir göz atmaktan kaynaklanıyor.

İşte 1.12 (Avalanche) ve 1.13 (Stella Polaris) arasındaki bazı yan yana karşılaştırmalar.

İlk olarak, işimdeki i7-12700k ve 20 çekirdekli yeni bir 1936 oyunu:
image5.png
HOI4 1.12 "Avalanche" - 1936 - Intel i7-12700k

image10.png
HOI4 1.13 "Stella Polaris" - 1936 - Intel i7-12700k

Ve işte 1943'ten benzer 2 kayıt, aynı makine:
image4.png
HOI4 1.12 "Avalanche" - 1943 - Intel i7-12700k

image7.png
HOI4 1.13 "Stella Polaris" - 1943 - Intel i7-12700k

Önceki geliştirici günlüklerinden oyun içi profilleyiciyi hiç görmediyseniz bu biraz bunaltıcı görünebilir (oyunda görünmesi için konsol komutu imgui show profiler). Dikkatinizi çekmek istediğim kısımlar, oyunun ne kadar hızlı gittiğine dair kabaca bir fikir veren "Saniye başına tik sayısı" ve "Son 24 tik ortalaması".

Uzun lafın kısası, 1936 senaryosu saatlik tik için (oyun içi bir saati simüle etmek için gereken süre) 15ms ortalamadan 10ms ortalamaya düşüyor. Ya da isterseniz, saniye başına simüle edilen saat sayısı 42'den 64'e çıkıyor.

Çok daha fazla savaşın, tümenin, filonun ve uçağın söz konusu olduğu 1943 senaryosunda, saatlik tik ortalaması 43 ms'den 29 ms'ye çıkıyor. Ya da yine, her gerçek dünya saniyesinde simüle edilen oyun içi saat 17'den 27'ye çıkıyor.

Her iki durumda da bu, simülasyonu yaklaşık 1,5 kat daha hızlı hale getiriyor. Pratikte, algılanan hız biraz daha az olacaktır çünkü GPU zamanını ve benzerlerini hesaba katmamız gerekmektedir, ancak yine de oldukça fark edilebilir olmalıdır.

Elbette, hepinizin 10+ nesil i7 CPU'lar kullanmadığınızı biliyoruz, bu nedenle daha düşük uçlu makinelerde ne anlama geldiğine de bakmak adil olacaktır. Neyse ki benim de mütevazı bir AMD Ryzen 3 1200'e erişimim var, internetin bana kabaca Intel i5-7400'e eşdeğer olduğunu söylediği dört çekirdekli bir CPU. Daha fazla grafik için kendinizi hazırlayın.

İlk olarak, 1936:
image1.png
HOI4 1.12 "Avalanche" - 1936 - AMD Ryzen 3 1200

image3.png
HOI4 1.13 "Stella Polaris" - 1936 - AMD Ryzen 3 1200

Ve sonra aynı 1943 kaydeder:
image9.png
HOI4 1.12 "Avalanche" - 1943 - AMD Ryzen 3 1200

image8.png
HOI4 1.13 "Stella Polaris" - 1943 - AMD Ryzen 3 1200

Öncelikle, eğer aklınızda hala bir şüphe varsa, evet, daha güçlü bir makineye geçmek HoI'nin kesinlikle daha hızlı çalışmasını sağlayacaktır. Buradaki sayılarda da görebileceğiniz gibi, bu makine daha önceki 20 çekirdekli makineden yaklaşık 3 kat daha yavaş çalıştı.

İkinci olarak, 1.13'ün hala 1.12'den daha iyi performans gösterdiğini (yaklaşık %25-30 daha hızlı), ancak üst düzey bir makinede olduğu kadar olmadığını da görebilirsiniz. "Neden?" diye sorabilirsiniz. Çünkü iş parçacıkları!

HOI4: Çoklu Çekirdek Kullan(a)mazsınız

Paradox oyunlarında birden fazla iş parçacığı kullanılmadığı sürekli tekrarlanan bir yanlış anlamadır. Açıkçası durum böyle değil. Stellaris'teki günlerimden beri bundan bahsediyorum.

Ancak oyun simülasyonunun bazı bölümlerinin birçok çekirdeği kullanma konusunda diğerlerinden daha iyi olduğu doğrudur. Ve bir kez sadece bir çekirdeği kullanacak hale getirildiklerinde, oyun simülasyonu ona güvenmeye başladığında bunu değiştirmek genellikle oldukça zordur.

Tüm bunlar Europa Universalis'in PC'ye taşınan bir masa oyunu olduğu eski günlere geri dönüyor. Sonuçta, bu tür oyunların her oyuncunun bir sıra aldığı şekilde tasarlanması oldukça yaygındır. Alman oyuncu tüm birliklerini tahta üzerinde hareket ettirir. Sonra İngilizler. Sonra Sovyetler. Vb... Bu çok seri bir süreçtir. Anlaşılması ve tasarlanması kolay, ancak her oyuncunun aynı anda hareket etmesinden daha yavaş. Ve tabii ki bunu sonradan değiştirmek çok zor, çünkü herkes birdenbire aynı anda hareket etmeye başlarsa çatışmalar çıkar ve bunları tanımlamak ve çözmek için kurallara ihtiyaç duyarsınız.

Crusader Kings 3, teknik tasarımına kökten farklı bir yaklaşım getirerek bu sorunların çoğunu çözdü, ancak bizim böyle bir lüksümüz olmadığı açık. Ve hayır, daha önce duyduklarımın aksine, bunun motorla pek ilgisi yok. Eski Clausewitz'in (ve arkadaşı Jomini'nin) çoğunlukla grafikler, ağ oluşturma, dosya yükleme ve kaydetme gibi şeylerle ilgilendiğini anlayın. Performans darboğazının büyük kısmı orada değil, oyun simülasyonunda ve buna nasıl yaklaşmak istediklerine karar vermek neredeyse tamamen her oyuna bağlı ve bu karar genellikle oyunun geliştirilmesinin ilk yıllarında, daha piyasaya çıkmadan önce verilir (ve değiştirilmesi zordur).
Yine de, bu yamada "sıra tabanlı" tasarımı bozabileceğimiz ve eş zamanlı bir süreçle değiştirebileceğimiz yerleri belirleyebildik ve kimse bundan haberdar olmayacaktı. Bu da tek bir çekirdeğe güvenmek yerine tüm çekirdekleri soruna yöneltmemizi sağladı.

Daha fazla çekirdeğe sahip olduğunuzda daha fazla iyileşme fark etmenizin ana nedeninin bu olduğuna inanıyorum. Örneğin, bir işlem daha önce 2 ms sürüyorsa. Şimdi 4 çekirdekle (2/4) 0,5 ms ve 20 çekirdekle (2/20) 0,1 ms sürecektir, kabaca konuşursak. İşte örneğin 20 çekirdekli bir 1942 sonu kaydında HoI4 CPU kullanımının kaba bir taslağı:
image2.png

Belirli bir zamanda kaç çekirdeğin kullanıldığını gösteren üstteki CPU grafiğine dikkat edin. İdeal olarak her zaman tamamen yeşil olmasını istersiniz, ancak HoI4'ün yaklaşan sürümüyle elde ettiğimiz şey bu.

Teknik açıdan daha yatkın olanlarınız için ACCU 2023'te PDS Oyunlarındaki çoklu iş parçacığı zorlukları hakkında yaptığım bu (güncellenmiş) konuşmayı tavsiye edebilirim.



Ve bununla birlikte, bu geliştirici günlüğü için ekran görüntülerini hazırlarken bir şeylerin yanlış olduğunu fark ettim, bu yüzden araştırmak için geri döneceğim ve yayın sonrası yamalarda daha da iyileştirmek için yapabileceğimiz daha fazla şey olup olmadığına bakacağım

Sizi oyunun 1.12 ve 1.13'te 30 saniye boyunca çalışmasına izin vermenin bu yan yana karşılaştırmasıyla baş başa bırakacağım. Üstteki tarih/saate dikkat edin.

WhaW8Am.gif
Ara
Cevapla
 




Konuyu Okuyanlar: 2 Ziyaretçi



Strategyturk Forumları

Strategyturk Forumları tüm Türk stratejiseverler için büyük ve kaliteli bir platform olma amacı güder. Forum içerisinde çok sayıda strateji oyunu için bölüm ve bu bölümlerde haber konuları, rehberler, mod tanıtımları, multiplayer etkinlikleri ve üye paylaşımları için alanlar yer alır.