Krulemuk hat geschrieben: ↑05.12.2017 19:20
Nintendo released in einer Kollaboration mit Nvidia Wii und Gamecube Games für das Nvidia Shield (nur in China).
Edit:
Quelle mit NSMB Wii in 1080p.
Das bedeutet doch, dass die entsprechenden Spiele eh in irgendeiner Form auf die ARM Architektur geportet werden müssen. Das Shield ist ja fast baugleich zur Switch. Die Chance für diverse Wii und Gamecube Ports (und sei es nur für die VC) haben sich mit dieser Meldung extrem erhöht..
Nee. Hamse nicht.
Die CPU-Architektur ist das eine, aber wenn man mal ehrlich ist, dann ist es nur bei extrem auf einen Prozessor optimierten Code wirklich Aufwand, den auf einen anderen zu bringen. Ich bezweifle, dass das z.B. bei NSMB in irgendeiner Weise wirklich so ist. Das dürfte stinknormaler C++ Code sein. Vielleicht hat man ein paar Eigenheiten von PPC berücksichtigt, aber ich glaube nicht, dass da wirklich komplexe Anpassungen vorgenommen wurden, die jetzt für ARM umgeschrieben werden müssten. Und selbst wenn da ein paar Optimierungen drin waren, die braucht der neue Prozessor nicht, das bekommt der auch mit roher Gewalt hin. Dafür ist er schnell genug. Bei Code, der wirklich gar keine prozessorspezifischen Anpassungen enthält (und bei dem alle Schnittstellen auch auf der Zielplattform verfügbar sind) reicht es im Extremfall sogar einen anderen Compiler mit dem gleichen Quelltext zu benutzen (wobei das so in der Spieleentwicklung sicher auch nicht auftreten wird). Der Prozessor an sich ist jedenfalls nicht unbedingt das große Problem, jedenfalls nicht, wenn man auf dem Zielsystem so viel mehr Leistung zur Verfügung hat.
Viel komplexer bei so einem Port ist die Anpassung an die Softwareschnittstellen des Zielsystems. Das wäre bei Shield für Grafik sehr wahrscheinlich OpenGL. Vielleicht sogar nur die Embeddedvariante OpenGL ES. Switch nutzt aber ein völlig anderes System aus OS und unterschiedlichen APIs. Nicht nur Grafik. Auch Sound, Eingaben, Dateizugriff, etc. sind ja alles in irgendeiner Weise abstrahiert. Für all diese Dinge ruft man Bibliotheken des zugrundeliegenden OS auf, die unter Umständen völlig unterschiedlich aufgebaut sind und die nicht zwingend immer einander exakt entsprechende Funktionen besitzen. Das ist etwa so, als hätte man ein Programm auf x86-Windows und müsste es für x86-Darwin (macOS) oder x86-Linux portieren. Auch wenn alles x86 ist, macht sich das längst nicht von allein. Zwischen Linux und macOS mag es sogar in manchen Fällen etwas einfacher gehen, weil beides von seiner Softwarearchitektur und Denkweise her gemeinsame Vorfahren hat (Unix). Das vereinfacht manche Dinge auf der Ebene von Dateizugriff etc. Trotzdem sind komplexere Dinge auch da noch stark unterschiedlich umgesetzt. Die reine Prozessorarchitektur ist dabei jedenfalls nichtmal die halbe Miete und in dem Fall wahrscheinlich nichtmal ein Zehntel. Lustigerweise ist die PS4 mit ihrem ebenfalls auf FreeBSD basierenden OS der Switch softwareseitig genaugenommen sogar noch näher als eine Shield.
Was natürlich nicht heißt, dass Nintendo das nicht trotzdem noch portiert, wenn sie den Code eh gerade aus dem Archiv geholt haben.
Wirklich wundern würde es mich nicht, aber glauben tu ich‘s natürlich auch erst wenn ich‘s sehe...