Ryzen selbst für die Lieblings games Optimieren?

Oluap

Profi
Thread Starter
Mitglied seit
28.03.2017
Beiträge
120
Ort
Bremerhaven
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 :-)
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
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.

Ist nichts Neues, das Windows Scheduling ist seit Generationen nicht besonders Smart. For Ewigkeiten habe ich mit einem Phenom II in Windows 7 Pro 64 Bit bei Dawn of War +10% Leistung gewonnen, als ich die Prioritäten des Spiels auf höchste Stufe manuell auf die Kerne 1-3 gesetzt habe und den Rest von den Programmen im Hintergrund auf Kern 4 lief. Zeitintensive und fummelige Arbeit die im vom Spielgefühl nicht viel gebracht hat (55 Fps anstatt von 50 Fps im CPU-Limit), aber die Erfahrung war es Wert. Gut zu sehen, dass durch eine einfache Massnahme die Performance erhöht werden kann.
 
Zuletzt bearbeitet:
fast 120% Mehr Rechenleistung pro Core gegenüber meinem alten overclock'ten Intel i5 750.

geiles stepup von dem i5 auf den 1600x.
das der ryzen singlethreaded 120% schneller sein soll ist aber schwer zu glauben,
welcher bench soll das denn sein?

der i5 kommt auf nen cinebench 15 single score von 95
Cinebench R15 Ergebnisse - ComputerBase Forum

auf die 4ghz vom 1600x hochgerechnet landet man da bei etwa 120.

der 1600x landet bei etwa 150
AMD Ryzen 5 1600X - Technikaffe.de
 
Zuletzt bearbeitet:
Zusammengefasst, "SMT aus" und ganz normal mit 8 Kernen laufen lassen bringt laut deinen Zahlen die beste Leistung (gleichauf mit der Zuweisung auf nur 7 Kerne + SMT)
Vielleicht verstehe ich nicht ganz was Du meinst, aber bei den Werten sehe ich nicht wirklich einen Grund auch nur 1sec in "Optimierung zuhause" zu verwenden, sondern deaktiviere einfach SMT. (was nichts Neues ist, ist ja bei den Intels auch oft so dass HT deaktivieren etwas höhere fps bringt)
 
Das geheule der Devs immer lol, wir können nix machen blah, Rausreden ist das mehr nicht.
Ihr verkauft ein Produkt und nehmt dafür Geld ,dementsprechend erwartet man eine Gegenleistung und die heist in diesem Fall sauber nutzung der Hardware in einem Maße das eure creative Leistung auch geniessbar ist .
Nen Handwerker baut ja auch kein Garagentor das sich nur durch nen 150KG Gewichtheber mit Mühe und Not öffnen Lässt und sagt geht nicht anders.
Er hat auch keine Ahnung wie er nen Elektromotor bauen soll aber er kauft sich dieses Knowhow ein .
Das selbe Spiel erwarte ich von Softwareentwicklern dennen entsprechende Fähigkeiten fehlen weil sie nur Blueprints/Scripts zusammen kloppen können!
Leider wird in der heutigen Consolport,DLC , Servermietzeit , vom Kunden viel zu viel Dreck geduldet so das eine saubere technische Umsetzung die eigendlich selbstverständlich sein sollte auch noch gefeirt wird die die Oase in der Wüste.
Ich meine wo bleibt da der qualitative Anspruch an sich und seine Arbeit ?
 
Wenn man auf eine Blackbox ala Nvidia Gameworks setzt ist es klar, dass man nix optimieren kann...
 
MrKGB, du weißt doch überhaupt gar nicht wovon du da redest ^^
Wenn du bei ebay Kleinanzeigen Wladimir bestellst, der dir ein sonstwo zusammengekauftes Tor einbaut - dann muss der sich nicht mit dessen Spezifikationen auskennen. Wenn du eine Firma beauftragst, die so ein Paket anbietet (fertiges Tor mit darauf ausgelegter Motorisierung samt Einbau und Service), dann wirst du das auch bekommen. Diese Firma verbaut dann aber Motoren, die iiirgendwo auf diesem Planeten für wenig Geld entwickelt (oder nachgebaut) und produziert werden. Wenn du Pech hast, wurden diese Motoren für etwas gänzlich anderes entwickelt, entsprechen aber grob dem Anforderungsprofil, sparen der Firma ne Menge Geld und für Ausfälle hat man genug davon auf Lager und macht das über Gewährleistung.
Da gehst du doch jetzt in nem Servicefall nicht nach Taiwan und motzt den Hersteller des Motors an, der noch nicht einmal weiß wofür sein Produkt verwendet wird und verlangst, er solle bitte ein paar Bauteile so auslegen, dass damit alles bewegt werden kann...
Hups, wall of text xD
Fazit: Wenn du nicht weißt für welches Endprodukt du entwickelst, dann schreibst du vielleciht gerade nen code für den fiesesten Hack oder die atomigste Bombe. Ich kann die Entwickler da verstehen.
 
Bestimmte Codes vielleicht, aber bei weitem nicht alle.
 
Bezog sich bei mir eher auf die Aussage, das Gameworks eine Blackbox sei und man dadurch NIX optimieren könne.

Gesendet von meinem E6653 mit Tapatalk
 
Eigentlich ging es mir bei.dem thread darum zu zeigen das man jedes game selbst etwas optimieren kann. In den man die kerne selbst zuweist. Da muss man auch die Multi threads nicht übern BIOS abstellen. Vorallem bleiben die denn am ende übrig für andere Programme die im Hintergrund laufen. Wie das Beispiel oben zeigt läuft tomb Raider am besten mit 7 zugeteilten Kernen. Diese Einstellung bleibt ja vorhanden und somit kann man seinen Games nochmal Manuel etwas mehr fps geben. Was für viele Leute ja sehr wichtig ist.
 
Gameworks ne Blackbox? Man bist du verwirrt.
Nvidia: Neue GameWorks-Zerstörung und besseres DirectX 12 - ComputerBase.
Nvidia hatte schon davor bestimmte Codes von Gameworks geöffnet. Aber immer schön Haten.

Gesendet von meinem E6653 mit Tapatalk

Das muss man aber mal relativieren. Seit dem AMD die Konsolendeals haben, versucht Nvidia auch krampfhaft Ihre Software an den Mann zu bringen. Was mit PhysX selten geklappt hat wird nun durch solche Aktionen umso unglaubwürdiger, da eben fast alles bei Nvidia propritär war. Das ist also nur ein Tropen auf den heißen Stein der letzten 20 Jahre Firmen-Geschichte. ;)
 
Ich muß nichts relativieren. Fakt ist, das eine Aussage kam, das Gameworks eine Blackbox ist, und somit nichts optimiert werden könne. Das entspricht nicht der Wahrheit. Warum ,wieso, weshalb Nvidia seit 2016 davon Source Codes weiterer GameWorks-Effekte veröffendlicht, stand nicht zur Debatte.
 
Zuletzt bearbeitet:
Es waren Developer, die Gameworks als erstes als Blackbox bezeichnet haben.
Nvidia Responds To Witcher 3 GameWorks Controversy, PC Gamers On The Offensive

Erst letztes Jahr wurde ein wenig Source Code veröffentlicht.
Is Nvidia moving away from the black box of Gameworks? Source codes are slowly becoming available to Devs through GitHub. : pcmasterrace

Sowas bringt weder dem Kunden noch der Branche etwas.
Man kann doch wohl sowas öffentlich machen, es läuft ja dennoch auf der eigenen Hardware besser.
Und nein der Geldaspekt zählt hier nicht, da es sogar AMD kann die alles andere als finanziell gut dastehen.
 
Zuletzt bearbeitet:
Bestimmte Codes vielleicht, aber bei weitem nicht alle.

Du bist nicht auf dem aktuellen Stand. Es ist fast alles verfügbar ;) Bis auf Turf. Der Rest ist stand alone oder im Paket mit dem Sourcecode der UE4 auf Github zum Download... Stand heute, 04/2017. Bei Turf keine Ahnung ob/wann das noch kommt...
Es gab übrigens dazu auch News, dass NV diesen Schritt geht, schon vor Monaten. PhysX ist sogar noch länger offen...

Was mit PhysX selten geklappt hat wird nun durch solche Aktionen umso unglaubwürdiger, da eben fast alles bei Nvidia propritär war. Das ist also nur ein Tropen auf den heißen Stein der letzten 20 Jahre Firmen-Geschichte. ;)

Nope, auch du liegst daneben... Die Masse der Effekte sind lange schon nicht mehr Cuda only. Vor allem die neueren... Wenn es rein um den Entwickler geht, dann ist alles properitär, da immer irgendwer sich seinen Teil dabei gedacht hat. Auch für Dinge die Heute ein Standard sind hat irgendwer mal was definiert -> was sich dann durchsetzte. Alternativen gibt es für diverse Effekte ebenso. Was es nicht gibt ist eine Alternative Bibliothek, die viele Effekte/Ansätze vereint.

Eigentlich müsstest du ähnlicher Meinung sein -> da du ja davon ausgehst in ein paar Jahren gäbe es bis auf ein paar Sonderlocken nur noch eine Hand voll Lizenzengines... Gameworks zielt (im Moment als einzige Sammlung im Physikbereich) in exakt diese Richtung. Steht halt nur NV drauf ;)

Sowas bringt weder dem Kunden noch der Branche etwas.
Man kann doch wohl sowas öffentlich machen, es läuft ja dennoch auf der eigenen Hardware besser.
Und nein der Geldaspekt zählt hier nicht, da es sogar AMD kann die alles andere als finanziell gut dastehen.

Zum ersten, du bist offenbar nicht 100% informiert -> CDPR hätte Sourcecode Einsicht lizensieren können. Haben sie aber nicht. Das war zumindest die Aussage seitens NV ggü. den Vorwürfen seinerzeit.
NVIDIA Under Attack Again for GameWorks in The Witcher 3: Wild Hunt | PC Perspective

Zum zweiten, es ist bis auf Turf offen... Was gibts da also noch zu diskutieren? Muss man ja nicht nutzen, wenn man nicht will.

PS: und natürlich zählt der Geldaspekt da rein. Ein Hersteller, der Software unter Lizenz "vertreibt" verdient damit unter Umständen Geld. Der selbe Hersteller, die diese Software ohne Lizenzkosten vertreibt, verdient damit unter Umständen kein Geld. Ist es verwerflich, einen Unternehm dies vorzuwerfen? Eher nicht...
Warum Open Source deswegen trotzdem attraktiv ist/sei kann, steht gar nicht zur Debatte...
 
Zuletzt bearbeitet:
Ok, dann ist es inzwischen keine Blackbox mehr. Und seit wann ist das der Fall?
 
@Oluap

Endlich jemand der das auch mal hinterfragt. :) Hatte da auch mal einige Games getestet um mal zu sehen bis zu wieviel Threads die eigentlich effektiv skalieren. Mir fehlt diese Angabe immer in den Benchmarks.
 
Oh Gott, nicht der.
 
@Oluap
netter eingangspost!

Als Entwickler nimmt man immer den einfachsten/besten weg denn Geld = Zeit. Daher kann ich den Youtube Kommentar total verstehen und dass der ryzen 1-2 jahre brauchen wird ist mir auch völlig klar.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh