Auf diesen Teil wollte ich noch mal separat antworten. Wie Du sicher weisst, ist das Progammieren von Software für PC immer eine andere Sache, als für Konsole. Die unendlich vielen Hardwarekonstellationen, machen es nahezu unmöglich es super effizient und komplett fehlerfrei zu coden. Natur der Sache sozusagen.
Oh man, ist dieses Ammenmärchen immer noch nicht aus der Welt geschafft?
KEIN Spielehersteller programmiert die Hardware direkt! Die Zeiten wo sich ein Freak hingesetzt hat und in Assembler irgendwas direkt auf dem Chip angesprochen hat sind seit spätestens den 90ern vorbei. Heute gibt es standardisierte Schnittstellen für sowas, und die werden von den Programmierern angesprochen. Und ja, das kostet natürlich Leistung und auch Fehler liegen in den Natur der Sache, da das alles ja sehr komplex ist und wenn da irgendwo irgendwas nicht 100 Prozent kompatibel ist, dann kann es zu Problemen kommen. Aber anders ist das heute nicht mehr zu machen, Software ist eben keine wenige Kilobyte mehr groß.
Eine XBox besteht aus einer AMD APU mit X86 CPU und darin eine speziell angepasste Radeon GPU. Als Betriebssystem kommt ein spezielles Windows zum Einsatz. Ein PC besteht aus einer X86 CPU von Intel oder AMD und einer Intel, AMD oder NVidia Grafikkarte. Auf beiden Geräten wird als Schnittstelle Direct X verwendet.
Soll heißen, die Software spricht Direct X an und Direct X dann die Hardware.
Wobei Spiele in Engines geschrieben werden, die das übernehmen. Ein Klick in der Engine kompiliert das Programm für das jeweils gewünschte System, etwa X86 mit DX oder X86 mit Vulkan oder ARM mit Open GL. Das dauert dann je nach Umfang ein paar Stunden und fertig.
Wobei eben spezielle Hardware u.U. spezielle Features aufweist, etwa AMD hat Tress FX und NVidia hat Hairworks. Ob und was die Spielehersteller davon nutzen oder nicht liegt dann eben in ihrem Ermessen. Aber sie programmieren natürlich das nicht für den Chip direkt sondern für die Schnittstelle (Direct X, Vulkan, Open GL), die das dann an den Treiber weiterreicht und der dafür sorgt, dass der Code auf dem Chip ausgeführt wird.
Was u.a. Leistung kostet ist eben, dass die Engines bei PC Hardware auf die kleinsten gemeinsamen Nenner gepolt sind, also z.B. nicht direkt 4 oder mehr CPU Kerne ansprechen, weil jede zusätzliche Implementierung mehr, also Unterstützung für 2, 4, 6, 8 Kerne, auch mehr Arbeit kostet (die sich die Spielehersteller dann sparen), während die Engine für die XBox halt direkt für die 8 Kerne eingestellt ist. Gleiches Spiel halt bei den GPUs, ob Hairworks, Tress FX, beides oder keines davon genutzt wird hängt einfach vom Willen der Programmierer ab, sich da zusätzliche Arbeit zu machen.
Wie gut ein Spiel läuft hängt deswegen auch extrem von den Treibern ab (und nicht vom Spiel selbst). Bei unter DX gleichschnellen AMD und NVidia GPUs kann man das gut sehen, wenn dann plötzlich die AMD GPU bei Titeln die Vulkan als Schnittstelle nutzen mit 20 und mehr Prozent davoneilen, schlicht weil der AMD Treiber da besser mit Vulkan zusammenarbeitet.