Oluap
Profi
Hallo leute. Ich habe gerade ein recht interessantes Video zu Ryzen gefunden. Und war hat der Cracky Folgendes gemacht.
Er hat mit minimalen Grafikeinstellungen und Deaktivierten CPU Kernen im game Rise of the Tomb Raider rumexperimentiert.
Dabei ist ihn folgendes aufgefallen. wenn man unter windows 10 direkt im taskmanager die kerne direkt dem spiel zuweist bekommt man einiges an fps zuwachs. Folgendes hat er im Video Getestet. AMD Ryzen Rise of the Tomb Raider Kernskalierung - YouTube
1 Thread 8fps
1 Thread + SMT 46fps
2 Threads 66fps
2 Threads + SMT 92fps
3 Threads 97fps
3 Threads + SMT 130fps
4 Threads 122fps
4 Threads + SMT 144fps
5 Threads 140fps
5 Threads + SMT 143fps
6 Threads 151fps
6 Threads + SMT 146fps
7 Threads 162fps
7 Threads + SMT 151fps
8 Threads 162fps
8 Threads + SMT 151fps
Ich finde das ganze sehr interessant. Somit ist es doch auch villeicht möglich eure games einpaar mehr fps zu geben? wobei man immernoch nicht vergessen darf das die grafikkarte in den meisten fällen der bottleneck (bei zu hohen grafik einstellungen) ist.
Wer das Video guckt oder geguckt hat wird crackys spruch "das die Optimierung der spiele doch nicht so schwer sein kann" gehört haben. Folgendes kommi habe ich darunter gefunden. ob es so ist keine ahnung bin kein spiele entwickler.
Kommentar:
Hallo Cracky,
der alte ******hold mal wieder... Ich muss mich jetzt doch mal zum Thema Game Optimierung zu Wort melden. Ich entschuldige mich schon mal für diesen Überlangen Kommentar!
Es ist in der letzten Zeit zur Gewohnheit geworden zu sagen, dass die Spieleentwickler schlecht optimierte Spiele produzieren. Kurzum... Die Devs sind Schuld!
Ich bin Software Entwickler und ich werd langsam da etwas sauer wenn ich das höre!
Als allerwelts Developer arbeitet man heutzutage garnicht mehr mit der Hardware direkt! Man hat Frameworks! Die man auch zu verwenden HAT! Damit die Entwicklung schnell und effektiv ist und DER KUNDE schnell sein Produkt bekommt. Nicht dass ständig rumgejammert wird, warum das Spiel nicht fertig wird....
Im Falle von Rise of Tomb Raider hat Nvidia seine Finger im Spiel wenn ich mich nicht irre. Für Konsolen gibt es garantiert einen "light weight" Ableger ihres Gameworks Frameworks mit dem man "schnell tolle Anwendungen" bauen kann.
Gameworks kümmert sich um die schmutzige Arbeit, während der Dev seinen kreativen Code runtertippt. Was das Framework tut? Das weiß nur der Frameworkentwickler! Vermutlich macht es irgendwelche Schwarzmagie! Bietet das Framework keine möglichkeit irgendwelche Hardware Parameter direkt abzufragen und zu beeinflussen kann der Spieleentwickler daran überhaupt nichts machen!
Wenn euch der Begriff Framework zu unheimlich ist... Dann verwenden wir den Begriff Game Engine! Das ist ziemlich ähnlich. Ein Spieleentwickler nutzt die Game Engine und deren Möglichkeiten um schnell ein Spiel zu kreieren!
Framework und Game Engines bieten also eine Abstraktionsschicht, um den "Kreativen Entwickler" von läßtigen technischen Routineaufgaben zu entlasten.
Und ich kann Dir sagen... ich habe mir schon mehrfach den Code Overhead angesehen den man mit OpenGL und DirectX hat um einfach nur einen routierenden Würfel auf den Schirm zu malen! Das sind mal locker 400 Zeilen Code! Jedoch sehr performanter!
Den Aufwand für jedes Spiel eine eigene Game Engine zu schreiben macht kaum noch jemand! Man verwendet fertige Engines oder "etablierte" Frameworks.
So... schön abgeschottet von der Hardware... quasi vor der Firewall... wie soll ein Game Developer denn bitte schön eine Optimierung durchführen, wenn er nicht mal etwas von der Hardware weiß? Wenn das Framework oder die Engine es nicht zulässt (wegen der Abstraktion) dann kann der Allerwelts-Dev. nichts tun! Und überhaupt! Eigentlich soll man sich als Entwickler garnicht darum kümmern, auf welchem Core sein Code läuft! Das ist Aufgabe des Betriebssystems! Von verschiedenen Programmiersprachen fange ich erst garnicht an...
OOOhja... jetzt kommt garantiert das Argument: "Aber Ashes of the Singularity hat doch 10-30 % Performance boost kürzlich mit 400 Personen Stunden realisiert"
Ja! Stardock bzw. Oxide Studios haben auch ihre eigene Game Engine geschrieben! Oxide Studios hat also direkten Zugriff auf den Code der die Hardware Abstraktion vom kreativen Code durchführt!
Somit ist es natürlich wieder möglich, dass bestimmt technische Algorithmen z.B.:
* allokiere Speicher,
* erzeuge einen Thread,
* erzeuge einen weiteren Thread im Thread,
* erzeuge einen neuen Prozess,
* erzeuge einen Kind-Prozess
* instanziere Render Queue
* befülle Render Queue
eine Verfeinerung erfahren, welche ggf. bei einer bestimmten Hardware keine Rolle spielen aber bei einer anderen Hardware sich etwas merkwürdig verhalten. Für die meisten Spiele die es heute so gibt, wird das aber nicht so einfach möglich sein. Ich schätze die Aktion hat Stardock mind. 55000 USD gekostet, wahrscheinlich mehr, falls Sie Ihre Devs gut bezahlen ;-)
Ich würde erst in 1-2 Jahren mit Frameworks und Game Engins rechnen die äquivalent auf Intel und AMD CPUs performen. Die Framework Provider werden irgendwann nicht umher kommen etwas zu optimieren, da sich die Ryzen Chips denke ich ganz gut im Markt verbreiten werden. Aber das braucht halt einiges an Zeit!
Warum so lange? Teilweise sind die Systeme so konzipiert dass man NICHT mit vertretbaren Aufwand irgendwelche Sonderlocken drehen kann für diese oder jene Hardware. Dann wird wohl erst im Rewrite des Systems, im besten Fall im nächsten Major Release, diese Optimierung einfließen. Meistens ist es dann aber Wirtschaftlicher Selbstmord ein 2-3 Jahre altes Spiel auf eine neue Game Engine oder ein neues Framework umzuziehen. Dazu haben sich dann garantiert Millionen von API-Calls geändert und man kann auch das Spiel eigentlich gleich neu schreiben!
Die Optimierungen müssen sich also erst durch den ganzen Entwicklungsstack bewegen bis der Kunde wirklich etwas davon hat. Das gesamte Ökosystem ist komplizierter als es dem Endkunden eventuell erscheint.
Aber Du selbst sagst es ja in Deinen Videos: "Ist die Performance auf einem Ryzen im Spiel wirklich so schlecht? Nein ist sie nicht!" Meistens ist eh die Grafikkarte der Bottleneck, es sei denn man gibt so viel Geld für eine Grafikkarte aus wie ich für AM4-Mainboard, Ryzen-CPU und DDR4 RAM zusammen.
Ich finde auch, dass die geboten Performance von den Ryzen Chips der Hammer ist! Sie performen im Spiel konkurrenzfähig und "zerstören" Intel Pedanten in produktiven Workloads bei gleichen oder deutlich niedrigen Preisen! Und das finde ich ist ein guter Mix!
Ich habe mir einen Ryzen 5 1600X gekauft und werde mir wohl mit der nächsten Ryzen Generation dann einen Ryzen 7 2700 kaufen. Im Moment bin ich total beeindruckt von der Energieeffizienz, der niedrigen Wärmeabgabe und der fast 120% Mehr Rechenleistung pro Core gegenüber meinem alten overclock'ten Intel i5 750. Im Multi-Core habe ich sogar fast 4 mal soviel Leistung! Da ich gern mit Virtuellen Maschinen rumtolle und sehr viele Entwicklungstools am laufen haben muss, ist diese Multithread Leistung ein wahrer segen!
Schauen wir lieber in die Zukunft und freuen uns auf die kommenden Jahre mit Software die aus der neuen AMD ZEN Architektur mehr rausholt als es aktuell Games tun!
PS: Nichts desto trotz ein tolles Video
Er hat mit minimalen Grafikeinstellungen und Deaktivierten CPU Kernen im game Rise of the Tomb Raider rumexperimentiert.
Dabei ist ihn folgendes aufgefallen. wenn man unter windows 10 direkt im taskmanager die kerne direkt dem spiel zuweist bekommt man einiges an fps zuwachs. Folgendes hat er im Video Getestet. AMD Ryzen Rise of the Tomb Raider Kernskalierung - YouTube
1 Thread 8fps
1 Thread + SMT 46fps
2 Threads 66fps
2 Threads + SMT 92fps
3 Threads 97fps
3 Threads + SMT 130fps
4 Threads 122fps
4 Threads + SMT 144fps
5 Threads 140fps
5 Threads + SMT 143fps
6 Threads 151fps
6 Threads + SMT 146fps
7 Threads 162fps
7 Threads + SMT 151fps
8 Threads 162fps
8 Threads + SMT 151fps
Ich finde das ganze sehr interessant. Somit ist es doch auch villeicht möglich eure games einpaar mehr fps zu geben? wobei man immernoch nicht vergessen darf das die grafikkarte in den meisten fällen der bottleneck (bei zu hohen grafik einstellungen) ist.
Wer das Video guckt oder geguckt hat wird crackys spruch "das die Optimierung der spiele doch nicht so schwer sein kann" gehört haben. Folgendes kommi habe ich darunter gefunden. ob es so ist keine ahnung bin kein spiele entwickler.
Kommentar:
Hallo Cracky,
der alte ******hold mal wieder... Ich muss mich jetzt doch mal zum Thema Game Optimierung zu Wort melden. Ich entschuldige mich schon mal für diesen Überlangen Kommentar!
Es ist in der letzten Zeit zur Gewohnheit geworden zu sagen, dass die Spieleentwickler schlecht optimierte Spiele produzieren. Kurzum... Die Devs sind Schuld!
Ich bin Software Entwickler und ich werd langsam da etwas sauer wenn ich das höre!
Als allerwelts Developer arbeitet man heutzutage garnicht mehr mit der Hardware direkt! Man hat Frameworks! Die man auch zu verwenden HAT! Damit die Entwicklung schnell und effektiv ist und DER KUNDE schnell sein Produkt bekommt. Nicht dass ständig rumgejammert wird, warum das Spiel nicht fertig wird....
Im Falle von Rise of Tomb Raider hat Nvidia seine Finger im Spiel wenn ich mich nicht irre. Für Konsolen gibt es garantiert einen "light weight" Ableger ihres Gameworks Frameworks mit dem man "schnell tolle Anwendungen" bauen kann.
Gameworks kümmert sich um die schmutzige Arbeit, während der Dev seinen kreativen Code runtertippt. Was das Framework tut? Das weiß nur der Frameworkentwickler! Vermutlich macht es irgendwelche Schwarzmagie! Bietet das Framework keine möglichkeit irgendwelche Hardware Parameter direkt abzufragen und zu beeinflussen kann der Spieleentwickler daran überhaupt nichts machen!
Wenn euch der Begriff Framework zu unheimlich ist... Dann verwenden wir den Begriff Game Engine! Das ist ziemlich ähnlich. Ein Spieleentwickler nutzt die Game Engine und deren Möglichkeiten um schnell ein Spiel zu kreieren!
Framework und Game Engines bieten also eine Abstraktionsschicht, um den "Kreativen Entwickler" von läßtigen technischen Routineaufgaben zu entlasten.
Und ich kann Dir sagen... ich habe mir schon mehrfach den Code Overhead angesehen den man mit OpenGL und DirectX hat um einfach nur einen routierenden Würfel auf den Schirm zu malen! Das sind mal locker 400 Zeilen Code! Jedoch sehr performanter!
Den Aufwand für jedes Spiel eine eigene Game Engine zu schreiben macht kaum noch jemand! Man verwendet fertige Engines oder "etablierte" Frameworks.
So... schön abgeschottet von der Hardware... quasi vor der Firewall... wie soll ein Game Developer denn bitte schön eine Optimierung durchführen, wenn er nicht mal etwas von der Hardware weiß? Wenn das Framework oder die Engine es nicht zulässt (wegen der Abstraktion) dann kann der Allerwelts-Dev. nichts tun! Und überhaupt! Eigentlich soll man sich als Entwickler garnicht darum kümmern, auf welchem Core sein Code läuft! Das ist Aufgabe des Betriebssystems! Von verschiedenen Programmiersprachen fange ich erst garnicht an...
OOOhja... jetzt kommt garantiert das Argument: "Aber Ashes of the Singularity hat doch 10-30 % Performance boost kürzlich mit 400 Personen Stunden realisiert"
Ja! Stardock bzw. Oxide Studios haben auch ihre eigene Game Engine geschrieben! Oxide Studios hat also direkten Zugriff auf den Code der die Hardware Abstraktion vom kreativen Code durchführt!
Somit ist es natürlich wieder möglich, dass bestimmt technische Algorithmen z.B.:
* allokiere Speicher,
* erzeuge einen Thread,
* erzeuge einen weiteren Thread im Thread,
* erzeuge einen neuen Prozess,
* erzeuge einen Kind-Prozess
* instanziere Render Queue
* befülle Render Queue
eine Verfeinerung erfahren, welche ggf. bei einer bestimmten Hardware keine Rolle spielen aber bei einer anderen Hardware sich etwas merkwürdig verhalten. Für die meisten Spiele die es heute so gibt, wird das aber nicht so einfach möglich sein. Ich schätze die Aktion hat Stardock mind. 55000 USD gekostet, wahrscheinlich mehr, falls Sie Ihre Devs gut bezahlen ;-)
Ich würde erst in 1-2 Jahren mit Frameworks und Game Engins rechnen die äquivalent auf Intel und AMD CPUs performen. Die Framework Provider werden irgendwann nicht umher kommen etwas zu optimieren, da sich die Ryzen Chips denke ich ganz gut im Markt verbreiten werden. Aber das braucht halt einiges an Zeit!
Warum so lange? Teilweise sind die Systeme so konzipiert dass man NICHT mit vertretbaren Aufwand irgendwelche Sonderlocken drehen kann für diese oder jene Hardware. Dann wird wohl erst im Rewrite des Systems, im besten Fall im nächsten Major Release, diese Optimierung einfließen. Meistens ist es dann aber Wirtschaftlicher Selbstmord ein 2-3 Jahre altes Spiel auf eine neue Game Engine oder ein neues Framework umzuziehen. Dazu haben sich dann garantiert Millionen von API-Calls geändert und man kann auch das Spiel eigentlich gleich neu schreiben!
Die Optimierungen müssen sich also erst durch den ganzen Entwicklungsstack bewegen bis der Kunde wirklich etwas davon hat. Das gesamte Ökosystem ist komplizierter als es dem Endkunden eventuell erscheint.
Aber Du selbst sagst es ja in Deinen Videos: "Ist die Performance auf einem Ryzen im Spiel wirklich so schlecht? Nein ist sie nicht!" Meistens ist eh die Grafikkarte der Bottleneck, es sei denn man gibt so viel Geld für eine Grafikkarte aus wie ich für AM4-Mainboard, Ryzen-CPU und DDR4 RAM zusammen.
Ich finde auch, dass die geboten Performance von den Ryzen Chips der Hammer ist! Sie performen im Spiel konkurrenzfähig und "zerstören" Intel Pedanten in produktiven Workloads bei gleichen oder deutlich niedrigen Preisen! Und das finde ich ist ein guter Mix!
Ich habe mir einen Ryzen 5 1600X gekauft und werde mir wohl mit der nächsten Ryzen Generation dann einen Ryzen 7 2700 kaufen. Im Moment bin ich total beeindruckt von der Energieeffizienz, der niedrigen Wärmeabgabe und der fast 120% Mehr Rechenleistung pro Core gegenüber meinem alten overclock'ten Intel i5 750. Im Multi-Core habe ich sogar fast 4 mal soviel Leistung! Da ich gern mit Virtuellen Maschinen rumtolle und sehr viele Entwicklungstools am laufen haben muss, ist diese Multithread Leistung ein wahrer segen!
Schauen wir lieber in die Zukunft und freuen uns auf die kommenden Jahre mit Software die aus der neuen AMD ZEN Architektur mehr rausholt als es aktuell Games tun!
PS: Nichts desto trotz ein tolles Video
Zuletzt bearbeitet: