最近我聽到史蒂夫喬布斯引用這個作爲IPADS上沒有Flash的主要原因爲什麼Flash在CPU上這麼難?
回答
在一般情況下,Flash在CPU上並不硬,Flash內容在CPU上很難。人們通常不使用Flash來顯示靜態文本和位圖,他們將它用於矢量動畫和具有自定義皮膚組件的視頻和RIA,並且合成所有這些矢量和漸變以及Alpha通道需要CPU - 無論您使用的是Flash還是HTML5或Silverlight或JavaFX或其他。請隨時查看this animation comparison的演示,並查看HTML5版本的CPU使用情況與Flash版本的對比情況。操作系統和瀏覽器的結果差異很大,但對於我(winXP/firefox),Flash版本使用與畫布版本(〜50%)大致相同的CPU,同時給出的FPS稍多一倍。
第二個答案特別關注視頻,答案是這樣的:不管用什麼技術來顯示視頻,只有兩件事情真正影響CPU使用率:編解碼器以及是否硬件加速。您可以跨瀏覽器和操作系統以及Flash/HTML5(and people have done so)測試H264視頻,並且您發現當視頻硬件加速時,CPU頻率較低,當閃存頻率較低時,CPU頻率較高。因此,Flash視頻是否在CPU上很難實現,唯一的問題是Flash視頻是否使用HWA。檢查鏈接的全部細節,但基本上除非你使用OSX/Safari,Flash視頻使用相同的CPU或少於其他選項。順便說一句,如果您也想知道爲什麼Flash在歷史上使用的PC在mac上的CPU比在PC上多,即使對於非視頻內容,請參閱here瞭解大量細節 - 既說明爲什麼過去更糟,爲什麼它使用Flash 10.1進行了改進。快速版本是Apple爲插件繪製到瀏覽器中添加了更新,更好的方法。
如果你看看Flash的處理器利用率,它在Mac上比PC上的要高得多。 Flash播放器(10.1)的下一個版本將使它變得更好,但與PC不一樣。
我在某處讀到部分原因是視頻。在Windows上,應用程序可以訪問硬件加速來加快速度,在OS X上,必需的API不可用於閃存。另外,閃存不能輕鬆使用多個處理器,因此它在這個意義上也受到限制。
有關mac/win比較的詳細信息,請參閱我答案中的鏈接。 – fenomas 2010-04-05 05:37:18
我想說的主要原因是做動畫和其他圖形計算,如alpha合成,圖形過濾器等,使用CPU而不是GPU。不具有動畫效果的Flash應用程序在CPU上不是很重。
同樣的事情可以在許多在http://www.chromeexperiments.com/的後期,像http://9elements.com/io/projects/html5/canvas/或動畫密集的東西HTML5 /畫布演示,這都很難在CPU上的可見一斑。所以我會說這不是Flash Player在CPU上很重,這是Flash經常被用來做這件事的原因。至於Flash不在iPad上的原因,我當然只能推測,但有一點人們往往會忘記,iPhone/iPad上不允許有瀏覽器插件。所以像Unity和Silverlight這樣的東西也出來了,不僅僅是Flash。 Java也不在那裏。
iPad上沒有閃光燈的原因很簡單......它依賴於第三方插件。這是進入瀏覽器的一種方式。它也將打開iPod到Adobe在閃光燈內創建自己的框架。基本上,它是關於控制。任何一個誠實的人都知道,這與表現不如說。 (從我的iMac中寫道) – Armstrongest 2010-04-05 05:37:57
無需推測 - Flash不在iPad上,因爲它被政策阻止。但作爲一個純粹的技術問題,Flash已經在iPad上了 - 新版本的Flash允許您發佈預編譯的iDevice應用程序(以解決Apple的無運行時策略),而且這些應用程序的功能與Flash播放器基本相同。 – fenomas 2010-04-05 05:41:43
主要原因是Flash產品的一個基本要求是它可以在儘可能多的PC上工作。因此,開發團隊所採取的方法是設計一種能夠使用PC硬件最小公分母的產品。大多數情況下,這意味着沒有高級視頻卡的個人電腦。
鑑於這種方法以及缺乏嚴肅的競爭,Adobe沒有太多動力來改變他們的戰略。在新版本10中最終發生的變化是Silverlight和HTML的新競爭以及增加3D功能的願望。
當然,史蒂夫喬布斯對Flash的反對意見與這一切毫無關係,並且真正歸結爲他希望控制(並收取)視頻分配給他的設備。
- 1. Sitecore,爲什麼這麼難?
- 2. 爲什麼CPU在運行xcode時利用了這麼多
- 3. 爲什麼PostgreSQL在Windows上這麼慢?
- 4. 爲什麼卡桑德拉用盡了這麼多的CPU
- 5. 爲什麼Go需要這麼多CPU來構建一個包?
- 6. 爲什麼這麼難找到一個C++ 3D遊戲教程
- 7. mongodb ... Mongoose更新嵌套集...爲什麼這麼難arg
- 8. 是什麼邏輯與在這裏幹什麼,難道是趕上錯誤
- 9. REGEXP上這就是爲什麼或者這就是爲什麼
- 10. 這爲什麼這麼快?
- 11. 爲什麼proc上傳這麼慢?
- 12. 四核CPU上的Java(log4j)死鎖。爲什麼300%的CPU?
- 13. 爲什麼numba在這個簡單的總結上這麼快?
- 14. 很難爲什麼這個功能在javascript中不起作用
- 15. 爲什麼這個基準測試代碼使用這麼高的CPU?
- 16. 爲什麼在HTML中居中很難?
- 17. 爲什麼這會在UIlabel上放棄?
- 18. 從AttributedString獲取文本(純字符串) - 怎麼做,爲什麼這麼難?
- 19. 很難理解爲什麼這個函數被稱爲MapReduce
- 20. 爲什麼這4個並行線程在CPU上的加載不均勻
- 21. NetworkStream.Read爲什麼這麼慢?
- 22. numpy.vectorize:爲什麼這麼慢?
- 23. 爲什麼DrawReversibleFrame這麼慢?
- 24. 爲什麼「htmlspecialchars」這麼慢?
- 25. 爲什麼numpy.array這麼慢?
- 26. 爲什麼PHP_INT_MAX這麼小?
- 27. 爲什麼DateTime.Parse這麼慢?
- 28. 爲什麼groupby這麼快?
- 29. 爲什麼read.csv這麼慢?
- 30. BCP爲什麼這麼快?
據史蒂夫喬布斯,這是因爲「Adobe的懶惰」:) – Julien 2010-04-05 01:48:21
我只是想找到它如此CPU密集的原因。 – 2010-04-05 01:58:22