Test von Qualcomms Snapdragon-845 Schneller, sparsamer und überragende GPU

Das Testgerät mit Snapdragon-845-SoC, das sogenannte Qualcomm Reference Design (QRD).
Das Testgerät mit Snapdragon-845-SoC, das sogenannte Qualcomm Reference Design (QRD).

Auf dem Mobile World Congress werden in Kürze erste Oberklassen-Smartphones mit Qualcomms Snapdragon 845 vorgestellt. Ein Vorabtest zeigt Stärken und Schwächen des SoCs auf, das vor allen Dingen von einer konkurrenzlosen GPU profitiert.

Wenige Wochen, bevor in Barcelona die ersten High-End-Smartphones mit dem Snapdragon-845 vorgestellt werden, öffnete Qualcomm seine Firmenzentrale im kalifornischen San Diego, um der interessierten Öffentlichkeit erste reale Messungen an dem neuen High-End-SoC zu ermöglichen.

Als Testobjekt diente das neueste Qualcomm Reference Design (QRD), ein vollständig funktionales Smartphone, das zum Testen von Hard- und Software herangezogen wird, diesmal mit dem Snapdragon-845 als Herzstück. Für die Tests hatte Qualcomm relevante Benchmarks wie 3DMark, Antutu, Geekbench und GFXBench vorinstalliert. Darüber hinaus machte es der Hersteller den Testern unter Aufsicht möglich, weitere Benchmarks zu installieren und auszuführen. Das QRD-Handy weist ein 5,5-Zoll-Display mit einer Auflösung von 2560 x 1440 Pixeln auf. Neben dem Snapdragon 845 wird das QRD-Telefon mit 6 GB RAM betrieben und läuft auf Android 8.0 (Oreo). Ein Dual-Kamera-Setup, bestehend aus einer 12-Megapixel- und 13-Megapixel-Kamera, ist ebenso enthalten wie eine 12-Megapixel-Frontkamera.

CPU-Performance enttäuscht

In meinem Artikel vom Snapdragon-Summit im Dezember 2017 habe ich die Architektur soweit bekannt bzw. herleitbar ja ausführlich beleuchtet. Das Speichersystem ist insofern interessant, als dass es vier Level von Caches gibt, den L1-Cache pro CPU-Core (64 KB), einen L2-Cache ebenfalls pro CPU-Core (256 KB beim Cortex-A75-Derivat, 128 KB beim Cortex-A55-Derivat), dazu ein geteilter L3-Cache von 2 MB, welcher der DynamiQ Shared Unit (DSU) zugeordnet ist. Auf Ebene des Speichercontrollers gibt es einen weiteren 3 MB großen System-Cache, der offensichtlich von CPUs, GPU, DSP und anderen Blöcken geteilt wird.

Angekündigt war von Qualcomm eine Steigerung der Rechenleistung von 25-30 % gegenüber dem Snapdragon-835, was angesichts der Tatsache, dass 14 % über die höhere Taktfrequenz (2,8 vs. 2.47 GHz) enttäuschend wäre. ARM selbst hatte auf Basis von Simulationen für den Cortex-A75 vs. Cortex-A73 rund 22 % mehr Integer-Rechenleistung, 33 % mehr Gleitkomma-Rechenleistung und einen um 34 % höheren Benchmark-Wert für den GeekBench 4 versprochen.

Tatsächlich ergaben Messungen mit dem QRD, dass die Single-Thread-Integer-Rechenleistung normiert auf dieselbe Taktfrequenz gegenüber dem Snapdragon-835 nur um 15 % gestiegen ist, die Gleitkomma-Rechenleistung um 26 %. Beide Werte liegen unterhalb von ARMs Simulationen. Ein Grund dürfte der kleinere L2-Cache sein, denn ARM ging bei seinen Berechnungen von einem 512 KB großen L2-Cache aus, während Qualcomm bei seinen Cortex-A75-Derivaten nur die Hälfte implementierte. Ein anderer Grund die Implementierung des Speichersystems, dazu gleich mehr. Im Vergleich zu Apples A11 ist der Snapdragon-845 bei diesem synthetischen Benchmark hoffnungslos unterlegen: Das A11-SoC aus dem iPhone 8/X kommt normiert auf die identische Taktfrequenz in der Single-Thread-Rechenleistung auf einen um rund 60 % höheren Wert.

Auch beim Octane-Benchmark, für den ARM eine Steigerung um 48 % prognostiziert hatte, verfehlte der Snapdragon das Ziel: Einem Ergebnis von knapp 16.000 Punkten standen knapp 12.000 Punkte beim Snapdragon-835 gegenüber, wenn man die Taktfrequenzerhöhung mit einberechnet, hätte das Ergebnis für den Snapdragon-845 laut ARMs Simulation bei rund 20.000 Punkten (12.000 x 1.14 x 1.48) liegen müssen.

Kommen wir zum Speicher-Subsystem. Die privaten L2-Caches bringen in der Realität bei Qualcomms Implementierung einen noch größeren Vorteil als man es auf Grund von ARMs Prognose, einer Reduktion gegenüber dem Cortex-A73 beim Zugriff von 19 auf 8 Taktzyklen, erhoffen durfte. Tatsächlich sanken die Latenzzeiten im Schnitt von rund 30 ns auf unter 5 ns, was natürlich auch an der höheren Taktfrequenz der L2-Caches im Snapdragon-845 liegt. Läuft man aus dem L2-Cache raus, erhöhen sich die Zugriffszeiten durch den L3-Cache mehr linear als sprunghaft, wie dies beim Snapdragon-835 der Fall war. Bei noch größeren Datenblöcken kommt dann der Systemcache ins Spiel, auch hier findet eine vergleichsweise moderate Erhöhung der Zugriffszeiten statt.

Das Problem beim Snapdragon-845 sind die Zugriffe ins DRAM. Hier musste leider eine um bis zu 30 % längere Zugriffszeit als beim Snapdragon-835 diagnostiziert werden, was erklärt, warum die von ARM angekündigten Verbesserungen nicht erreicht werden. Offenbar stößt das 4-stufige Cache-System an seine Grenzen, wenn kein Cache-Hit erzielt werden kann.

Auswirkungen in der Praxis

Um zu sehen, wie die neuen CPUs und das Speichersubsystem in eine realere Systemleistung umgesetzt werden, wurde der realitätsnähere Benchmark PCMark herangezogen. Das Ergebnis von PCMark wird von mehreren Faktoren beeinflusst: Es zählt nicht nur die reine Leistung der Hardware, sondern auch der Software-Stack des einzelnen Systems. Es gibt große Unterschiede zwischen Androids  Hauptversionen, wo die Verbesserungen der Android-Runtime direkt in Subtests wie dem Schreibtest sichtbar werden. Auch die DVFS-Schemata und Scheduler eines SoCs können enorme Auswirkungen auf die Ergebnisse haben, indem bewertet wird, wie schnell die CPUs eine Arbeitslast erhöhen können. Ein Vergleich mit Apples iPhone verbietet sich an dieser Stelle, da in iOS ein völlig anderer Software-Stack zum Einsatz kommt.

Die PCMark-Tests zur Datenmanipulation und zum Schreiben verwenden die Laufzeitumgebung und die APIs von Android sowie sind sehr sensitiv gegenüber den Latenzen im Speichersubsystem. Gegenüber den besten Snapdragon-835-Implementierungen wurden maximal 14 % Zuwachs gemessen, was ebenso enttäuschend ist, wie der 20 %-Zuwachs beim Browser-Test, da DynamIQ einen deutlich effizienten Übergang von Threads zwischen den CPU-Cores erlaubt als der alte Little.Big-Ansatz.

Der Fotobearbeitungstest von PCMark verwendet Renderscript und die GPU-Beschleunigung, um verschiedene Effekte auf mehrere Bilder anzuwenden. Hier ist eine Steigerung um fast 40 % zu verzeichnen, was erklärbar wird, wenn wir später auf die Adreno-630-GPU zu sprechen kommen.

In Summe stehen beim PCMark knapp 18 % Steigerung gegenüber der besten Snapdragon-835-Implementierung in Googles Pixel XL 2 zu Buche.

Ein anderer Benchmark WebXPRT 2015 lässt sich allerdings sehr wohl zwischen iPhone und Android-Geräten vergleichen, da er auf WebView-Implementierungen statt auf einzelnen nicht vergleichbaren Browsern aufsetzt. WebView ist eine vorinstallierte System-App und kann nicht vom Nutzer deinstalliert werden. Mit ihr können Apps Internet-Inhalte innerhalb der Anwendung anzeigen. Mit dem Wechsel auf Android 5.0 wurde WebView in den Play Store ausgelagert, so dass Aktualisierungen abseits großer Firmware-Update stattfinden können. Bei iOS wird die WkWebView- Shell verwendet. Das Ergebnis: Eine 45 % Steigerung gegenüber dem Snapdragon-835, was überragend ist. Gegenüber dem iPhone 8 und X fehlen freilich immer noch rund 25 %.

Ein letzter, weniger bekannter Benchmark, genannt Speedometer 2.0., misst die Java-Script-Leistung., konkret simuliert er Benutzerinteraktionen in Webanwendungen. Dazu verwendet er TodoMVC, um Benutzeraktionen zum Hinzufügen, Ausfüllen und Entfernen von Aufgaben zu simulieren. Speedometer wiederholt die gleichen Aktionen mit DOM-APIs - einem Kernsatz von Web-Plattform-APIs, die häufig in Webanwendungen verwendet werden - sowie sechs beliebten JavaScript-Frameworks: Ember.js, Backbone.js, jQuery, AngularJS, React und Flight. Viele dieser Frameworks werden auf den beliebtesten Websites der Welt wie Facebook und Twitter verwendet. Die Leistung dieser Arten von Vorgängen hängt von der Geschwindigkeit der DOM-APIs, der JavaScript-Engine, der CSS-Stilauflösung, des Layouts und anderer Technologien ab.

Obwohl benutzergesteuerte Aktionen wie Mausbewegungen und Tastatureingaben in JavaScript nicht exakt nachgebildet werden können, versucht Speedometer, eine typische Arbeitslast innerhalb der Demoanwendungen getreu wiederzugeben. Um die Laufzeit so lang zu machen, dass sie mit der begrenzten Genauigkeit gemessen werden kann, werden synchron eine große Anzahl von Operationen ausgeführt, z. B. das Hinzufügen von einhundert Aufgaben.

Ein Wert von plus 37 % gegenüber dem Snapdragon-835 ist alles andere als schlecht, im Gegenteil. Allerdings erreicht der Snapdragon-845 nur fast genau die Hälfte der neuesten iPhones. Dies ist jedoch keine Frage von defizitärer Hardware: Die überlegene JavaScript-Leistung von Apple kann vielmehr auf seine viel schnellere und optimierte Nitro-Engine zurückgeführt werden, während Googles V8 im Laufe der Jahre nur geringe Verbesserungen erfahren hat. An diesem softwaretechnischen Mangel kann natürlich auch Qualcomm nichts ändern.