Warum ist Flash so schwer auf der CPU?

7

Kürzlich höre ich, Steve Jobs zitiert dies als einen Hauptgrund, um Flash auf IPADS nicht zu haben

    
Srikar Doddi 05.04.2010, 01:47
quelle

4 Antworten

15

Im allgemeinen Fall ist Flash nicht schwierig für die CPU, Flash-Inhalte sind hart für die CPU. In der Regel verwenden Benutzer Flash nicht zum Anzeigen von statischem Text und Bitmaps, sie verwenden sie für Vektoranimationen und Video und RIAs mit benutzerdefinierten Skins, und das Zusammenstellen all dieser Vektoren und Farbverläufe und Alphakanäle erfordert CPU - unabhängig davon, ob Sie Flash oder HTML5 oder Silverlight oder JavaFX oder was auch immer. Schauen Sie sich die Demos im Animationsvergleich an und sehen Sie sich die CPU-Auslastung an der HTML5-Version stapelt sich gegen die Flash-Version. Die Ergebnisse variieren stark nach Betriebssystem und Browser, aber für mich (WinXP / Firefox) verwendet die Flash-Version ungefähr die gleiche CPU wie die Canvas-Version (~ 50%), während sie etwas mehr als das Doppelte des FPS ergibt.

Die zweite Antwort betrifft Video und die Antwort lautet: Egal welche Technologie Sie zum Anzeigen von Video verwenden, nur zwei Dinge beeinflussen die CPU-Nutzung wirklich: Der Codec und ob er hardwarebeschleunigt ist oder nicht. Sie können H264-Video über Browser und Betriebssysteme und Flash / HTML5 testen ( und die Leute haben dies getan ), und was Sie finden, ist, dass die CPU niedrig ist, wenn Video hardwarebeschleunigt wird, und es ist hoch, wenn es nicht ist, sowohl innerhalb von Flash und aus. Es gibt also keine Frage, ob Flash-Video auf der CPU schwer ist, die einzige Frage ist, ob Flash-Video HWA verwendet oder nicht. Überprüfen Sie den Link für die vollständigen Details, aber grundsätzlich, wenn Sie OSX / Safari verwenden, verwendet Flash-Video die gleiche CPU oder weniger als andere Optionen.

Übrigens, wenn Sie sich auch fragen, warum Flash in der Vergangenheit mehr CPU auf Macs als auf PCs verwendet hat, auch für Nicht-Video-Inhalte, siehe hier für viele Details - sowohl warum es in der Vergangenheit schlimmer war als auch warum es sich mit Flash 10.1 verbessert hat. Die schnelle Version ist, dass Apple neuere und bessere Möglichkeiten für Plugins hinzugefügt hat, um in den Browser zu zeichnen.

    
fenomas 05.04.2010, 05:31
quelle
3

Wenn Sie sich die Prozessorauslastung von Flash anschauen, ist diese auf dem Mac deutlich höher als auf dem PC. Die nächste Version des Flash-Players (10.1) wird es viel besser machen, aber nicht das gleiche wie der PC.

Ich habe irgendwo gelesen, dass ein Teil des Grundes das Video ist. Unter Windows haben Anwendungen Zugriff auf die Hardwarebeschleunigung, um die Dinge zu beschleunigen. Auf OS X sind die erforderlichen APIs für die Verwendung durch Flash nicht verfügbar. Außerdem kann Flash nicht einfach mehrere Prozessoren verwenden, so dass es auch in diesem Sinne begrenzt ist.

    
ablerman 05.04.2010 02:05
quelle
3

Ich würde sagen, dass der Hauptgrund darin besteht, Animationen und andere Grafikberechnungen, wie Alpha-Compositing, grafische Filter und so, die CPU statt der GPU zu verwenden. Flash-Anwendungen, die nicht animieren, sind nicht sehr schwer auf der CPU.

Dasselbe kann man in vielen HTML5 / Canvas Demos sehen, wie Ссылка oder animationsintensive Sachen bei Ссылка , die sehr schwer auf der CPU sind. Also würde ich sagen, dass es nicht Flash Player als solches ist, der schwer auf der CPU ist, es ist der Stoff, für den Flash oft verwendet wird.

Was die Gründe dafür angeht, warum Flash nicht auf iPads ist, kann ich natürlich nur spekulieren, aber eine Sache, die die Leute gerne vergessen, ist, dass auf dem iPhone / iPad keine Browser-Plugins erlaubt sind. Es gibt also Sachen wie Unity und Silverlight, nicht nur Flash. Java ist auch nicht da.

    
Lars Blåsjö 05.04.2010 04:15
quelle
0

Der Hauptgrund ist, dass eine grundlegende Anforderung des Flash-Produkts darin bestand, dass es auf so vielen PCs wie möglich funktioniert. Der Ansatz des Entwicklungsteams bestand daher darin, ein Produkt zu entwickeln, das auf dem kleinsten gemeinsamen Nenner der PC-Hardware funktioniert. In den meisten Fällen bedeutete dies PCs, die keine erweiterten Grafikkarten hatten.

Angesichts dieses Ansatzes und des mangelnden Wettbewerbs gab es für Adobe wenig Anreiz, ihre Strategie zu ändern. Was sich in der neuen Version 10 schließlich geändert hat, war eine neue Konkurrenz von Silverlight und HTML und der Wunsch, 3D-Fähigkeiten hinzuzufügen.

Natürlich hat Steve Jobs 'Einwand gegen Flash nichts damit zu tun und läuft auf seinen Wunsch hinaus, die Videoverteilung auf seinen Geräten zu kontrollieren (und zu berechnen).

    
GroovyDotCom 25.07.2011 21:08
quelle

Tags und Links