Thanok
Vice Admiral
- Registriert
- Feb. 2009
- Beiträge
- 6.555
Hallo,
die Frage steht im Grunde ja schon im Titel, aber ich denke das ganze braucht ein wenig Erklärung.
tl;dr: Ich möchte Planet Coaster, ein DX 11 Spiel mit DX 12 laufen lassen - ähnlich wie Intel das mit den Arc Karten macht. Mir ist bewusst dass die maximale Framerate dadurch massiv reduziert wird.
System:
Ryzen 5950X
64GB DDR4 3600
2080Ti
Patriot Viper VPN 100 2TB M.2 als Laufwerk für Windows und meine üblichen Programme.
Ganze Geschichte:
Ich arbeite gemeinsam mit einem Freund an einem Großprojekt im Spiel Planet Coaster. Im Rahmen unserer Bauarbeiten hat sich die Framerate von Anfangs >140 im GPU-Limit mittlerweile auf <40 im CPU-Limit reduziert. Allerdings liegt das CPU-Limit nicht am Spiel. PlanCo selbst unterstützt laut einem Entwickler 16 Threads, laut einem anderen "so viele Kerne wie man draufschmeißt"; Da die CPU-Last bei dem Projekt unter 20% liegt, ist klar, dass hier (wenigstens) ein einzelner Kern limitiert.
Lasse ich nun Gäste in den Park, reduziert sich die Framerate weiter - obwohl die CPU-Last signifikant steigt.
Mittlerweile bin ich mir ziemlich sicher dass der Übeltäter DirectX 11 ist. Da DX 11 die Drawcalls über einen CPU-Thread abhandelt, ist es nur logisch dass bei zusätzlichen Objekten (seien es nun unsere über 400.000 Bauteile oder Gäste) dieser eine Thread mehr und mehr den Flaschenhals darstellt.
Daher mein Gedanke, ob es wie bei Arc möglich ist, DirectX 12 für ein DirectX 11 Spiel zu erzwingen, da die Drawcalls so auf mehrere Threads verteilt werden sollten.
Mir ist klar, dass die maximale Framerate dadurch massiv reduziert wird - aber in diesem Falle wäre die reduzierte Framerate wahrscheinlich immer noch eine massive Steigerung gegenüber der jetzigen Performance.
Und wenn es nichts bringt, dann kann ich wenigstens dem Entwickler die Schuld zuschieben
Vielen Dank schon mal fürs Lesen und für euren Input!
die Frage steht im Grunde ja schon im Titel, aber ich denke das ganze braucht ein wenig Erklärung.
tl;dr: Ich möchte Planet Coaster, ein DX 11 Spiel mit DX 12 laufen lassen - ähnlich wie Intel das mit den Arc Karten macht. Mir ist bewusst dass die maximale Framerate dadurch massiv reduziert wird.
System:
Ryzen 5950X
64GB DDR4 3600
2080Ti
Patriot Viper VPN 100 2TB M.2 als Laufwerk für Windows und meine üblichen Programme.
Ganze Geschichte:
Ich arbeite gemeinsam mit einem Freund an einem Großprojekt im Spiel Planet Coaster. Im Rahmen unserer Bauarbeiten hat sich die Framerate von Anfangs >140 im GPU-Limit mittlerweile auf <40 im CPU-Limit reduziert. Allerdings liegt das CPU-Limit nicht am Spiel. PlanCo selbst unterstützt laut einem Entwickler 16 Threads, laut einem anderen "so viele Kerne wie man draufschmeißt"; Da die CPU-Last bei dem Projekt unter 20% liegt, ist klar, dass hier (wenigstens) ein einzelner Kern limitiert.
Lasse ich nun Gäste in den Park, reduziert sich die Framerate weiter - obwohl die CPU-Last signifikant steigt.
Mittlerweile bin ich mir ziemlich sicher dass der Übeltäter DirectX 11 ist. Da DX 11 die Drawcalls über einen CPU-Thread abhandelt, ist es nur logisch dass bei zusätzlichen Objekten (seien es nun unsere über 400.000 Bauteile oder Gäste) dieser eine Thread mehr und mehr den Flaschenhals darstellt.
Daher mein Gedanke, ob es wie bei Arc möglich ist, DirectX 12 für ein DirectX 11 Spiel zu erzwingen, da die Drawcalls so auf mehrere Threads verteilt werden sollten.
Mir ist klar, dass die maximale Framerate dadurch massiv reduziert wird - aber in diesem Falle wäre die reduzierte Framerate wahrscheinlich immer noch eine massive Steigerung gegenüber der jetzigen Performance.
Und wenn es nichts bringt, dann kann ich wenigstens dem Entwickler die Schuld zuschieben
Vielen Dank schon mal fürs Lesen und für euren Input!