Tja …
Verschiebung aufgrund Zusammenführung der Beiträge;
AdoK war so freundlich, meiner Bitte folgend die Beiträge im Thema ‚AMD Tech Day: Ryzen-2000-CPUs ab April, Threadripper 2000 ab Sommer‘ in das entsprechende Paradox-Thema hierher zu verschieben – ehe sie aufgrund ihrer außerordentlichen Natur im Aquarium landen müssen.
Tigerkatze schrieb:
Bin auch ein großer Strategiespielefan und die Paradoxspiele gehören ebenso zu meinen Lieblingsspielen. Habe die verlinkten Themen durchstöbert. Ich kann deren und deine Ansicht was HoI 4 betrifft definitiv teilen, im Endspiel wird es teils grausam, bei Stellaris habe ich das bislang nur in Anfängen erlebt, selbst im Endspiel, trotz meines alten Rechenknechts. Möglicherweise eine Auswirkiung der neueren Patchs und der Mods, die ich drin habe.
[…]
Aldaric87 schrieb:
Die Paradoxspiele sind gut, aber leider technisch wirklich teilweise schlecht umgesetzt. Ich glaube je nach Spiel gibt es dort aber keine CPU am Markt die nicht ins schwitzen kommt bei fortschreitendem Spielfortschritt.
Off-topic:
Ja, ist ja bekannt daß
alle Titel mit der Clausewitz-Engine insbesondere zu Release extrem schlecht laufen, nichts Neues. Aber gerade mit
Hearts of Iron IV haben sie diesmal wirklich den Vogel abgeschossen! Nicht nur im Hinblick auf die unverhohlen unverschämte bis beleidigende DLC-Politik. Anfangs wurden wegen extremster GPU-Auslastung im Forum selbst solche Schwergewichte wie GTX 980 Ti gestorben da kurzum totgekocht, auch die allgemeine Leistung vom Spiel war zum VÖ-Datum schlicht desaströs. Ein Start 1939 hat einfach jede noch so potente Hardware in einstellige Framebereiche verfrachtet.
Glücklicherweise hat man ja halbwegs zeitig reagiert und die Frame-cap
max_refresh_rate, geblieben sind trotzdem die kaputte KI mit ihren Fantastilliarden an Divisionsvorlagen, Expeditionstruppen et cetera. Ohne Mods praktisch nicht spielbar.
Kurioserweise hat bei mir das abschalten der Bäume neuerlich für ziemlich starke Anstiege der Frame-rate gesorgt; Ich kann endlich selbst '45 in 5x laufen lassen, ohne daß der Rechner praktisch einfriert – warum auch immer. Wer Deutsche spielt, findet hier meine
Kollektion an mehr oder minder Pflicht-Mods.
Aber wir sollten uns einmal wieder auf den Kern des Themas besinnen, bevor wir wieder planschen gehen dürfen … Oder aber
im entsprechenden Paradox-Thema weitermachen. Ich bitte einmal die Moderation um Verschiebung der Teil-Beiträge in das Paradox 4x-Thema.
LukS schrieb:
Danke für die Lektüre.
Jetzt ist mir auch klarer warum Stellaris im Lategame so schlecht läuft. Ist fast etwas traurig, dass die schlecht implementierten UI Elemente das Spiel so bremsen und das Paradox da noch nicht wirklich was getan hat.
…
Gern geschehen!
Ursachenforschung
Die schlechte Performance insbesondere des GUIs liegt einfach daran, daß Paradox Interactive – aus
welchen Gründen auch immer – bei Titeln der Clausewitz™-Engine Texturen mit
32 bpp¹ (Bit pro/per Pixel) Farbtiefe verwendet, während praktisch jeder anderer Titel auf dem Markt Texturen mit lediglich 24 bpp Farbtiefe oder geringer insgesamt (→ Dithering) nutzt. Das ist der eigentliche Grund der traditionell katastrophalen Performance.
Um mal kurz auszuführen, weswegen dies zu einer
er·heb·lich·en Mehrbelastung des Systems und hier insbesondere der Grafikkarte führt;
1920 Pixel × 1080 Pixel = 2073600
Anhand der wohl am meisten benutzen Standard-Auflösung von 1920 × 1080 sieht man schon, daß damit exakt 2.073.600 Pixel gerendert werden müssen, wobei jedes dieser Pixel nun 8 Bit
mehr benötigt.
2.073.600 Pixel × 8 Bit = 16588800
Folgerichtig sind dies allein schon aufgrund der 8 Bit extra je Pixel insgesamt 16.588.800 Bits (oder 15,82 MBytes) an zusätzlichen Informationen und damit Daten – je Aktualisierung, wobei die ganz überwiegende Anzahl an Spielern trotz FreeSync/G-Sync noch immer mit 60 Hz arbeiten dürfte …
15,82 MByte × 60 = 949,218
Demnach verursacht das Spiel für ihre schlicht als
Over|kill zu bezeichnenden 32 Bit-Texturen insgesamt 949,22 MByte/s an
zusätzlichen Daten und demnach Bandbreite für die GPU – je Sekunde. Obwohl man mit 24 bpp Farbtiefe (geschweige denn 16 bpp, nebst dithering)
ohne Probleme den Farbraum zweifelsohne vollständig darstellen könnte.
→ Der Leistungseinbruch ist in erster Linie diesen zusätzlichen 8 Bit geschuldet, das ist alles.
Da die Berechnung des zusätzlichen Farbraums der Grafikkarte sehr viel mehr Leistung abverlangt und selbst mit einem Frame-cap mittels Frame-Limiter oder der später implementierten
max_refresh_rate die Grafikkarte ungleich mehr Hitze produziert.
Abhilfe?
Ich bin schon vor Jahren auf die zugegebenermaßen wahnwitzige aber schlicht pragmatische Idée gekommen, sämtliche Texturen kurzerhand um zu konvertieren in maximal 24 Bit Farbtiefe. Da die Formate der texturen prinzipbedingt keine Kompression unterstützen (Targa, DDS, BMP), habe ich sie in andere Formate konvertiert und sie lediglich die originale Endung gegeben. Das Funktioniert, da Spiele basierend auf Clausewitz™ durch die Plattform-Unabhängigkeit Texturen durch entsprechende APIs wie SDL lesen und lediglich anhand des
Inhalts und
nicht aufgrund der Dateiendung interpretiert werden. Um entbehrliche Alpha-Channels reduzierte Texturen verringern daher
massivst die
texture lookup time und in Folge erneute
lookups zwecks Interpolation.
Eine erzwungene Verringerung der Farbtiefe durch den Treiber (
Qualitätseinstellung →
Leistung statt
Hohe Qualität bringt hier leider gar nichts, da die Engine intern entsprechend noch immer mit den 32 Bit-Texturen arbeitet und lediglich zur Zeichnung des Bildschirminhalts die Farbtiefe a posteriori reduziert wird …
Mods!
Ein Gutteil der schlechten Performance rührt ebenfalls von miserabel geschriebenen Skripten für die KI oder das Spiel allgemein (
„… und ja, ich meine eure saumäßig gecodeten Lua-Mist, Paradox!“) - da kann man nicht viel machen, außer auf entsprechende Mods zu setzten, die das Problem in Angriff nehmen oder aber selbst Hand anlegen, falls man über das entsprechende Wissen in Lua verfügt.
In diesem Sinne
Smartcom
¹ True Colour; 16,7 Mill. Farben, exklusive zuzüglichen Alpha-Kanal für Transparenz. Also demnach 24 Bit True Colour-Texturen + 8 Bit für α.