Unterschiede PS4/PC/ONE Architektur

GKM

Neuling
Thread Starter
Mitglied seit
16.12.2015
Beiträge
2
Moin,

bin mir nicht sicher, ob das dass richtige Forum ist, es schien mir aber ganz passend für meine Frage und außerdem glaube ich, dass sich in diesem Unterforum am ehesten die Leute rumtreiben, die meine Frage beantworten können.
Ich habe mich schon öfter gefragt, was eigentlich die Schwierigkeiten bei dein Portierungen (die Hardware/Software Aspekte, nicht die Steuerung etc.) zwischen den og. Plattformen ist.

Meinem Verständniss nach, und das ist jetzt nur ein sehr rudimentärer Ansatz und wirkt vermutlich ziemlich naiv, programmiert man sein Spiel in Sprache X (z.B C) und der Compiler übersetzt es dann in die Befehlssätze des jeweiligen Prozessors.

Das müsste dann ja für alle Platformen ja nur ein anderer Compiler machen. So einfach ist es aber offensichtlich nicht. Also was genau verursacht denn, dass sich Hersteller bei z.B PC Versionen immer so schwer tun, und die Ports teilweise von unmengen an Bugs geplagt sind.

Werden Architektur spezifische Dinge gehardcoded, die zu ändern/auf eine andere Plattform umzustimmen zu viel Zeit verbraucht? Bin in Sachen Rechnerarchitektur nicht allzu bewandert.

Entschuldigung für den langen Text, hoffe ihr könnt mir weiter helfen.

Gruß
Tobi
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
ich denke mal das größte problem wird die kompatibilität mit der unterschiedlichen und vielfältigen hardware sein, eine ps4 oder xbox ist immer von der hardware gleich egal wo auf der welt und wer sie hat, beim pc ist das schon anders (z.b intel oder amd dann noch amd oder nvidia graka und welches modell etc.) da wird man kaum zwei pc´s finden die gleich von der hardware sind auser irgendwelche fertig pc´s.
und das dann alles mit den verschiedenen konfigurationen einwandfrei läuft ist denke ich mal mit eins der Schwierigkeiten bei der Portierungen ist.

Sind aber auch nur meine gedanken.
 
Zuletzt bearbeitet:
Das müsste dann ja für alle Platformen ja nur ein anderer Compiler machen. So einfach ist es aber offensichtlich nicht. Also was genau verursacht denn, dass sich Hersteller bei z.B PC Versionen immer so schwer tun, und die Ports teilweise von unmengen an Bugs geplagt sind.

Du lässt hierbei völlig außer acht dass das Programm auch mit dem rest des (Software-)Systems kommunizieren muss. Ein nicht unerheblicher Teil von so einem Programm besteht darin irgendwelche Funktionalitäten des OS bzw. der auf diesem installierten Frameworks aufzurufen. Sowie du also versuchst dein Programm für ein anderes OS zu übersetzen wird dir der Compiler dich für verückt erklären weil es nicht mal ansatzweise versteht was du da willst.
Windows und Linux (und teilweise MacOS) laufen auf identischer Hardware - versuch z.B. mal größeren C/C++ Quellcode von einem Linux-Programm so zu übersetzen das es unter Windows läuft (oder umgekehrt) - viel Spass:-)

Auf den Konsolen hast du da meistens eher ein Schmalspur OS drauf und es wird auch nur eine einzige Hardwarekonfiguration unterstützt. Da was stabil drauf zum Laufen zu bringen ist noch vergleichsweise "einfach".
Als Gegenstück dazu dann Windows als OS mit alleine schon etlichen möglichen Versionen und dazu noch eine nahezu unendliche Anzahl an möglichen Hardwarekonfigurationen und da dann auch noch spezielle Optimierungen um die eine oder andere Hardware etwas besser nutzen zu können und und und...
 
Moin,

bin mir nicht sicher, ob das dass richtige Forum ist, es schien mir aber ganz passend für meine Frage und außerdem glaube ich, dass sich in diesem Unterforum am ehesten die Leute rumtreiben, die meine Frage beantworten können.
Ich habe mich schon öfter gefragt, was eigentlich die Schwierigkeiten bei dein Portierungen (die Hardware/Software Aspekte, nicht die Steuerung etc.) zwischen den og. Plattformen ist.

Meinem Verständniss nach, und das ist jetzt nur ein sehr rudimentärer Ansatz und wirkt vermutlich ziemlich naiv, programmiert man sein Spiel in Sprache X (z.B C) und der Compiler übersetzt es dann in die Befehlssätze des jeweiligen Prozessors.

Das müsste dann ja für alle Platformen ja nur ein anderer Compiler machen. So einfach ist es aber offensichtlich nicht. Also was genau verursacht denn, dass sich Hersteller bei z.B PC Versionen immer so schwer tun, und die Ports teilweise von unmengen an Bugs geplagt sind.

Werden Architektur spezifische Dinge gehardcoded, die zu ändern/auf eine andere Plattform umzustimmen zu viel Zeit verbraucht? Bin in Sachen Rechnerarchitektur nicht allzu bewandert.
Das Haupt Problem war die "andere Architektur" der alten Konsolen, diese hatten noch RISC Kerne, welche komplett anders anzusprechen sind.
Daher dauert es Teils Jahre bis manche Titel den PC erreicht haben, wenn ein Konsolen Spiel überhaupt mal portiert (Übersetzt) wurde.

Heute steht bei allen Konsolen AMD auf der GPU drauf und es sind X86 Architekturen, vorteil es ist keine Übersetzung mehr Notwendig, also kann man mehr Zeit für mehr Grafikpracht am PC nutzen. (Spiele Patches)
Zusätzlich kannst im Win 10 Store (PC) Spiele kaufen für die xbox one und auch auf dem PC Spielen, beide Versionen sind Zeitgleich verfügbar (PC & Konsole).

Solang es uns zugute kommt, finde ich es top...
 
Man hätte es so einfach machen können... Einfach die 2 Boxen wie nen Rechner aufbauen die mit nem "Windows Box" laufen.
Aber warum einfach wenn es auch Behindert geht :d
So muss ja Sony an Microsoft zahlen usw usw.... ich glaube ich begebe mich schon auf Dünnem Eis :d
 
Meinem Verständniss nach, und das ist jetzt nur ein sehr rudimentärer Ansatz und wirkt vermutlich ziemlich naiv, programmiert man sein Spiel in Sprache X (z.B C) und der Compiler übersetzt es dann in die Befehlssätze des jeweiligen Prozessors.

Das müsste dann ja für alle Platformen ja nur ein anderer Compiler machen. So einfach ist es aber offensichtlich nicht.
Ist es auch nicht. Sprachen wie C oder C++ kennen keine Sachen wie Grafik (GPUs), Mehrkernprozessoren usw. Manches wird mittlerweile zumindest teilweise unterstützt, wie Threading in C++ seit C++11. Dennoch kommt man früher oder später nicht drumherum, auf plattformspezifische Sachen zurückzugreifen, wie DirectX unter Windows. Es gibt zwar auch plattformübergreifende Lösungen wie OpenGL. Nur sind die genauso wenig im C oder C++ Sprachstandard enthalten. Ein Compiler muss das also auch erst mal unterstützen. Dazu kommt dass Konsolen eh immer hardwarenäher programmiert wurden, weil die Hardware immer die gleiche ist. Auf PCs muss man alle möglichen Konfigurationen berücksichtigen, wie AMD oder Intel CPUs, CPUs mit oder ohne entsprechende ISA Erweiterungen, AMD, Intel oder Nvidia GPUs, etc.pp. Das ist logischerweise nicht nur aufwändiger, sondern auch fehleranfälliger.
 
Man hätte es so einfach machen können... Einfach die 2 Boxen wie nen Rechner aufbauen die mit nem "Windows Box" laufen.
Aber warum einfach wenn es auch Behindert geht :d
So muss ja Sony an Microsoft zahlen usw usw.... ich glaube ich begebe mich schon auf Dünnem Eis :d
Nein, hätte man nicht.
Die PS4 und Xbone sind schon beinahe Computer. Normale X86 Architektur durch eine AMD APU. Den CPU-Teil bekommt man sogar in ähnlicher Ausführung in éinen Desktop, nur der GPU Teil ist größer.

Es gibt aber einen Grund wieso man hierauf setzt und das hat paooli schon erwähnt. Vieles wird deutlich einfacher wenn man nur eine Konfiguration zu berücksichtigen hat. Vorallem kann man das efizienter betreiben was sich "Hardwareoptimierung" nennt.
Um eine Software auf verschiedenen Systemen zum laufen zu bringen, z.B. AMD Grafikkarten und NV Grafikkarten, braucht man eine Abstraktionsschicht.
Diese kostet naturgemäß Leistung und wenn die Hardware sogar unterschiedliche Features hat, muss man das auch noch berücksichtigen (was vorallem Entwicklungszeit und damit Geld kostet).
Auf desto mehr Zwischenzichten man verzichten kann, desto mehr der Rohleistung kann man abrufen.
Deswegen braucht man fürs gleiche game, im PC oft eine Leistungsklasse höher (was aber nicht wirklich ein Problem darstellt, denn die Hardware der PS4 entspricht etwa einer GTX 1050 mit einem Athlon).

Im Endefekt stellen die Game Hersteller die vorallem für die Konsolen entwickeln, für die PC Version schlicht zu wenig Geld bereit. Wahrscheinlich auch mit dem Hintergedanken, nicht zu viele Leute an die PCs zu locken, denn die Games werden dort meistens verscherbelt.
 
Zuletzt bearbeitet:
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