@Gschwenni
Ich lauf ja auch mit Gerald durch die Wälder und hab aber pro logischem thread nie eine grosse Auslastung auf meinem 6 Core 6800K.
Schau i auf deine Bilder, dann zeigt bei ist bei mir die Auslastung auf meinem Prozessor ganz anderst.
Genau-
Bei dem von mir gezeigten Szenen muss der Prozessor einen 1080SLI Verbund befeuern- also weit mehr Drawcalls absetzen (ich kenne Diene Konfiguration nicht, gehe aber davon aus, dass Du keinen 1080 SLI Verbund betreibst).
Und da liegt des Pudels Kern, was auch die ganze 720P Diskussion angeht. Wenn eine CPU auf 720P (gleichzusetzen mit einem Entfernen des GPU Limits) 170 FPS schafft, so ist dies ein Indikator (nicht der allein gültige), der aufzeigt, welche Bildwiederholrate die CPU bei der getesteten Software maximal auf den Monitor stemmen kann. Unabhängig von Auflösung und sonstigen Bildverbesserern, da diese weitestegehend nur die GPU belasten.
Somit kann man das Potenzial der CPU ausloten. Du siehst bei Witcher 3 auf Deiner CPU an Stellen an denen nichts los ist, z.B. auf den Hyperthreading-Kernen genau deshalb wenig Last, weil die Software/der Scheduler eben mutlicoretechnisch alles richtig macht und anfangs aus Latenzgründen versucht die Berechnungen auf Hyperthreadingkernen zu vermeiden.
Irgendwann wird es zu viel der Berechnung (Stadtszene) und er nimmt alle Kerne in Beschlag. Das ist an sich der Inbegriff einer Top multicore- optimierten Software.
Für die Engine spricht, dass sie auch mit 2 Kernen bereits gut umgehen kann und lt. der Aussagen der Mitdiskutanten bereits flüssig läuft (wobei flüssig laufen ja immer im Auge des Betrachters liegt).
Das ändert aber nichts daran, dass ich mit den heutzutage erhältlichen Zweikernen garnicht erst versuchen brauche, 2x 1080 TI im SLI Verbund für Witcher zu befeuern. Das schafft die CPU nicht.
Der 720P Test ist also ein Indikator dafür, wie vieviel Potenzial eine CPU hat, auch nochfolgende Generationen an GPUs ausreichend mit Daten zu versorgen.
Von Flaschenhälsen rede ich hier immer, weil z.B. eine CPU die weniger Gesamtrechenleistung zur Verfügung stellt (Intel 7700K) in der potenziellen maximalen und minimalen FPS Generierung in mindestens 98% aller erhältlichen Titel einen Vorsprung hält.
Diesen Vorsprung hält die CPU auch bei Spielen, die in der Blütezeit von AMD (Athlon etc.) entstanden sind, in der auch für diesen Hersteller ausgiebig optimiert wurde, weil der Verbreitungsgrad der CPUs hoch war.
Somit scheint die Intel Architektur Dinge richtig zu machen, die bei der Konkurrenz nicht ganz so optimal laufen.
Wo der Flaschenhals liegt ist erstmal zweitrangig, da der Konsument in erster Instanz einfach nur die schlechtere Nutzererfahrung hat.
Mit Programmierung und Optimierung kann man auf diesem Sektor viel erreichen. Allerdings muss man sich realistischer Weise ein für allemal davon verabschieden, dass Spieleproduktionen Optimierungen wie zu C64 oder Amiga Zeiten oder der Anfangszeit von MS-DOS Spielen einfliessen lassen, wo Routinen, wenn sie zu langsam waren, per Hand in Maschinensprache angepasst wurden.
Viel zu teuer, viel zu aufwendig.
Auch die Optimierung von Programmen auf Multicoresysteme ist alles andere als einfach. Die einzelnen Subroutinen sollen am besten in beliebig viele Einzelaufgaben unterteilt werden, um auf die Kerne verteilt werden zu können.
Nur ergibt sich logisch bei der gestellten Aufgabe eine Schwierigkeit: Alle Threads müssen auf ein gemeinsames Ziel hinarbeiten (das fertig gerenderte Bild).
Somit ist es schonmal Essig hier, groß mit Asynchroner und unabhängiger Abarbeitung von Teilaufgaben arbeiten zu können.
Dies wäre aber genau das Szenario, wo die Multicore- CPUs ihre Muskeln spielen lassen können (siehe z.B. Cinebench).
Beim Verteilen von Aufgaben muss es bei der Spieleprogrammierung immer einen Kontrollthread geben, der dann entsprechend die Aufgaben verteilt und dann zum Schluss die verteilten Gesamtinformationen einsammelt, auswertet und zu einem Frame macht (der Renderthread).
Wenn dieser eine Thread überlastet ist, spricht man bereits von einem CPU Limit. Sieht man bei den Spieletiteln sehr oft, dass bei einem Spiel bei Teillast ein Thread immer 20% und mehr über die Masse heraussticht.
Was bedeutet dies nun in der Endkonsequenz?
Multicore- Optimierung hat in Spielen seine Grenzen.
Es gibt Architekturen, die ihr maximales Potenzial in Spielen abrufen können und andere, die das nicht tun.
Plattformen, die es nicht schaffen, die GPU auszulasten, obwohl der Prozessor "Reserven" bietet, haben irgendwo einen Flaschenhals.
Sei es:
-Datenträger
-Speicherbandbreite/Speicherlatenz
-CPU
-Software
oder oder oder....
Und das ist es, was ich hier (erfolglos) zu vermitteln versuche, unabhängig von der Marke des Prozessors.
Und zu Deiner Frage:
Ich geh stark davo aus, daß die CPU die 80 FPD schafft die bessere ist. Oder?
Es ist immer die CPU für ein Spiel die Bessere, die die besten Frametimes, die höchsten minimum FPS und die höchsten maximalen FPS bietet.
Hier hört man aber immer, dass die CPU am besten ist, die derzeit nicht ganz so gute Spieleleistung bietet, aber in Zukunft "vielleicht" dann höhere Leistung erzielen könnte, als ob es die Problematik der Multicore- Optimierung und der Skalierungseffizienz überhaupt nicht geben würde....
@rg88
Die Bilder zeigen gar nichts, außer, dass sich die GPU im Limit befindet und die CPU nicht
Die Bilder zeigen, dass Witcher 3 Multicore- optimiert ist und mehr als 8 Threads nutzt.
Und, dass die CPU Last mit steigender Anforderung der Grafikkarte steigt und die GPU nicht limitiert wird=Gute Skalierung=Kein Flaschenhals
Grüße
Zero