Zitat
Original geschrieben von kues
Das wage ich mal zu bezweifeln. Entscheidender dürften die standardisierten Zwischenschicht APIs sein- also im GPU Bereich insbesondere OpenGL ES (iOS, Android, BB10, Symbian, Bada, WebOS) samt darauf aufbauenden Spieleframeworks bzw. bei WP8 DirectX.
Beim Kernel gibt es vielleicht noch sinnvolle Optimierungsmöglichkeiten trotz bzw. bei der Hardwareabstraktion. Aber bei 'normaler' Anwendungssoftware (inklusive der OS eigenen Programme) dürften Entwicklungsaufwand, Wartbarkeit(skosten), (Teil)Portabilität (nicht ganz ohne Grund ermöglicht Microsoft mit WP8 'reines' C++) etc in aller Regel wichtiger sein.
Zwischen API und Hardware steht u.a. noch der Treiber.
Jeder Treiber arbeitet anders. Beispiel (erneut) Grafikkarten. AMD hatte in den letzten Jahren einen immensen Vorteil an purer Rechenleistung (FLOPS) im Vgl. zu NVidia. In der Balkenlänge hat man das i.d.R. nicht gemerkt.
Beispiel PC-Games: Häufig laufen explizit ausgesuchte Games (aber eben nicht alle) nach Updates durch der Treiber deutlich besser, obwohl sich weder die hardware noch die API geändert haben.
Beispiel PC-Games: Obwohl alle Games bestimmte Spezifikationen und APIs nutzen, laufen Sie auf unterschiedlicher Hardware unterschiedlich schnell. Vereinzelt sogar unterirdisch schlecht, obwohl die Hardware und der Treiber API-Konform ist.
Mit der Power, die in den aktuellen Konsolen (XBox360 / PS3) verbaut ist, kannst Du im PC-Berich keinen Blumentopf mehr gewinnen. Die Hardware ist nach PC-Rechnung ca. 4 komplette Hardware-Generationen zurück. Durch die geringe Vielfalt ist es aber den Entwicklern möglich, die Renderpfade so genau anzupassen, das mit dieser extrem lahmen und absolut veralteten Hardware doch noch ansehnliche Ergebnisse erzielt werden können. Die gleiche Hardware im PC hätte keinerlei Chance, dasselbe Spielerlebnis zu bieten, weil die PCs aufgrund der Vielfalt viel ineffizienter laufen (aber dafür eben heutzutage die 10-20-fache Leistung aufweisen).
Aber aktuell gibt es 3-4 verschiedene CPU-Architekturen (jeweils 2 von Intel und AMD) und parallel 5-6 verschiedene GPU-Architekuren (nur 2-3 vom AMD und die 3 von NVidia berücksichtigt) auf dem PC-Markt. Diese sind frei kombinierbar. Man kann sich leicht ausrechnen, wie viele Kombinationsmöglichkeiten es also im PC-bereich gibt.
Smartphones sind in dieser Beziehung ähnlich wie PCs. Der Aufbau der Gesamtchips und der einzelnen "Pipelines" von Adreno, PowerVR SGX, Tegra und Co. unterscheiden sich untereinander fundamental, obwohl am Ende ein ähnliches Ergebnis rauskommt. Die reine Hardware-Leistung eines Tegra ist gemessen an PowerVR und dessen Technik des Tile Based Deferred Renderings angeblich unterirdisch, aber die Treiber reißens wohl halbwegs raus. Selbst Tegra 4 hat wahrscheinlich noch getrennte Pixel- und Vertexshader, während die z.B. beim SGX im iPhone5 unified sind, was viele Vorteile bringt.
Ähnliches betrifft die CPUs Qualcomm S4, S2 oder Exynos oder TI oder die China-Derivate, obwohl alle z.T. auf der selben ARM-IP basieren. Und deswegen kann man 1.5GHz eines China-Derivats nicht zwingend mit den 1.5GHz eines Qualcomm S4-Pro auf eine Stufe stellen, weil unklar ist, was die Hardware Takt für Takt raushauen kann und was der Treiber taugt. Deswegen ist eine 1.5GHz Exynos schneller/langsamer als ein 1.5GHz Qualcomm S2. Und deswegen gibt es z.B. einen Unterschied zwischen ARMv11- und A9-Chips.