Leon-x hat geschrieben: ↑25.06.2017 19:19
Genau wie bei der Pro wo man erst den Takt runtergedreht hat weil ja angelblich sonst PS4 Games ohne Patch nicht lauffähig sind und schupps gibt es den Boost-Mode für jedes Game.
Sollten die Hardwaredifferenzen nicht zu groß sein sollte man es schon hinbekommen das neue Hardware es auch darstellen kann.
Nein. Es kommt auf die Softwareentwicklung an. Das hat nicht allzuviel mit der Hardware zu tun.
Wenn man sich bei der Softwareentwicklung zusehr darauf verlässt, dass es genau diese eine Hardware gibt und dementsprechend die Software exakt auf diese Hardware zuschneidert, im speziellen sich auch auf das Timing dieser Hardware verlässt, dann ist es durchaus üblich, dass man auf schnellerer Hardware in Probleme fährt.
Das ist halt die Kehrseite, hochgradiger Optimierung. Man kann dadurch sehr wohl aus gegebener Hardware noch einen Ticken mehr rausholen, aber wenn die Hardware nur minimal abweicht, kann das halt schon enorme Probleme verursachen.
Ich habe mal in einer Firma gearbeitet, die haben Automatensteuerungen (Siemens S5) programmiert. Aus Sicht von PC-Spielen ist das Taschenrechnerniveau, praktisch auf dem Niveau eines 4t-Klässerls im Kopfrechnen. Aber natürlich schweine teuer.
Dann kam eine Konkurrenzfirma daher und hat ein "binär kompatibles" Produkt angeboten, für 1/10 des Preises. Nunja, das Produkt war ansich kompatibel, nur gab es auf der S5 zahlreiche Bugs. Also wirklich Fehler in der Hardware, die so von en Hardwareentwicklern nicht beabsichtig waren. Allerdings hat sich herausgestellt, dass man durch diese Fehler in der Hardware, die die Ausführungsgeschwindigkeit in speziellen Fällen enorm beschleunigen konnte. Die Softwareentwickler haben also diese Hardware-Bugs ausgenutzt, wenn es gepasst hat, vorallem, wenn man sich am Rande der Rechenkapazität der Hardware bewegt hat.
Am Ende ist das Konkurrenzprodukt gnadenlos untergegangen, trotz 10facher Rechenleistung und nur 1/10 der Kosten, weil eben genau wegen diesen Bugs die alte Software nicht zuverlässig auf dieser neuen Hardware lief. Und eine Anpassung der Software hätte Millionen gekostet, so dass sich sebst 90% günstigere Hardware nicht gerechnet hat.
Genau den selben Effekt haben wir auch (wenn auch weit weniger effektiv) in der Spieleentwicklung für Konsolen. Gerade diverse AA-Exklusiv-Titel sind so enorm auf genau diese Platform optimiert, dass sie mit einer "eignetlich" gleichen, nur schnelleren Hardware, nichtmehr einwandfrei funktionieren. Daran ändert sich auch nichts, wenn die Konsolen mittlerweile x86-CPUs verwenden. Wenn man das allereletzte aus einer Hardware rausholen will und voll und ganz auf die bestehenede Hardware optimiert, die mit 1,6Ghz läuft, dann kann es durchaus schon sein, dass man in Probleme läuft, wenn die ansich exakt gleiche Hardware auf einmal mit 1,8Ghz läuft.
Balmung hat geschrieben: ↑25.06.2017 20:30
Nur mal so: Emulation bedeutet auch nicht das das komplette Spiel emuliert werden muss, kann sich dabei auch nur um kleinere Teile handeln.
Und im Prinzip könnte man schon sagen, dass die One X dann quasi den ESRAM emuliert
Und genau aus oben genannten Gründen, kann man sowas wie ESRAM eben nicht 1:1 emulieren. Das funktioniert nur, wenn der in der wirklichen Hardware verwendete Speicher schneller ist, als das was man emulieren will. Da man in einem PC eben kein Esram + normales RAM hat, muss der komplette RAM schneller sein als das ESRAM, um das emulieren zu können. Ist er das nicht, hat man enorme Geschwindigkeitsverluste. Abgesehen davon, dass Emulation noch einen enormen Softwareoverhead verursacht, vorallem, wenn die grundlegende Platform abweicht, man also z.B. eine MIPS-CPU auf einer x86-CPU emulieren will.
Es hat schon einen Grund, warum man auf einem PC noch vor 20 Jahren, mal eben NICHT so einfach, PSX-Spiele emulieren konnte, auch wenn der PC die pure 10fache Rechenleistung einer PSX hatte.
Abgesehen vom Timing, auf das man sich bei enormer Optimierung verlässt, ist das ähnlich wie bei gesprochenen Sprachen, die übersetzt werden. Sofern der O-Ton im Hintergrund noch zu hören ist und man mächtig ist, auch den O-Ton zu verstehen, merkt man das deutlich. Demenstprechend auch häufig Fehlübersetzungen in einer Live-Syncro.
Wenn ich mich da z.B. mal an meine allererste Lateinstunde erinner:
"Markus et Claudia in coloseum est"
Wort für Wort übersetzt heisst das:
"Markus und Claudia im Kolloseum sind".
Im Deutschen sagt man aber:
"Markus und Claudia sind im Kolloseum".
Man kann also nicht völlig synchron übersetzen, weil sobald der Übersetzer "Markus et Claudia in colloseum" (ohne "est") gehört hat,
weiß er nur, Markus und Claudia machen irgendwas im Kolloseum, aber er weiß nicht was. Es könnte ja statt einem einfachem "sind" auch "kämpfen" sein. Im Deutschen nennt man aber das Prädikat vor dem Objektiv. Er muss also warten, bis der Satz zuende gesprochen ist, um ihn übersetzen zu können. Dadurch entsteht aber schon ein massives Lag.
Emulation ist nichts anderes. Man muss hier und da warten, bis noch 2, 3 Operationen ausgeführt sind, um beurteilen zu können, was für einen Effekt die Opertationen vorher überhaupt hatten. Deswegen braucht man für Emulation wesentlich mehr Rechenleistung, als die Originalhardware, wenn man noch im Timing bleiben will. Und das muss man eben bei vielen Spielen.