Почему Flash так сильно загружает процессор? - PullRequest
7 голосов
/ 05 апреля 2010

Недавно я слышу, как Стив Джобс назвал это главной причиной отсутствия Flash на IPADS

Ответы [ 4 ]

15 голосов
/ 05 апреля 2010

В общем случае Flash не сильно загружает процессор, содержимое Flash сильно загружает процессор. Люди обычно не используют Flash для отображения статического текста и растровых изображений, они используют его для векторной анимации, видео и RIA с компонентами с индивидуальной кожей, а для компоновки всех этих векторов, градиентов и альфа-каналов требуется процессор - независимо от того, используете ли вы Flash или HTML5 или Silverlight или JavaFX или что-то еще. Не стесняйтесь, посмотрите демонстрации на в этом анимационном сравнении и посмотрите, как использование ЦП в версии HTML5 соотносится с версией Flash. Результаты сильно различаются в зависимости от ОС и браузера, но для меня (winXP / firefox) версия Flash использует примерно тот же процессор, что и версия canvas (~ 50%), при этом чуть более чем вдвое увеличивая FPS.

Второй ответ касается конкретно видео, и ответ таков: независимо от того, какую технологию вы используете для отображения видео, только две вещи действительно влияют на загрузку процессора: кодек и его аппаратное ускорение или нет. Вы можете протестировать видео H264 в браузерах и операционных системах, а также в Flash / HTML5 (, и люди сделали это ), и вы обнаружите, что процессор имеет низкую скорость, когда видео аппаратно ускоряется, и высокий, когда нет, внутри и снаружи. Таким образом, нет проблем с тем, является ли Flash-видео жестким для процессора, вопрос только в том, использует ли Flash-видео HWA или нет. Проверьте ссылку для получения полной информации, но в основном, если вы не используете OSX / Safari, Flash-видео использует тот же процессор или меньше, чем другие опции.

Кстати, если вам интересно, почему Flash исторически использовал больше процессоров на Mac, чем на ПК, даже для не видео контента, см. здесь , чтобы узнать больше подробностей - и о том, почему это хуже в прошлом и почему это улучшается с Flash 10.1. Быстрая версия заключается в том, что Apple добавила новые и лучшие способы для добавления плагинов в браузер.

3 голосов
/ 05 апреля 2010

Я бы сказал, что основная причина заключается в выполнении анимации и других графических вычислений, таких как альфа-композитинг, графические фильтры и т. Д., С использованием процессора вместо графического процессора. Flash-приложения, которые не анимируются, не сильно нагружают процессор.

То же самое можно увидеть во многих демонстрациях HTML5 / canvas в последнее время, таких как http://9elements.com/io/projects/html5/canvas/ или анимация с интенсивностью http://www.chromeexperiments.com/, которые очень сильно нагружают процессор. Так что я бы сказал, что это не Flash Player как таковой, который сильно загружает процессор, это то, для чего часто используется Flash.

Что касается причин, по которым Flash отсутствует на iPad, я, конечно, могу только догадываться, но одна вещь, которую люди склонны забывать, это то, что на iPhone / iPad не разрешены никакие плагины для браузера. Так что такие вещи, как Unity и Silverlight, тоже не только Flash. Java там тоже нет.

3 голосов
/ 05 апреля 2010

Если вы посмотрите на загрузку процессора Flash, он значительно выше на Mac, чем на ПК. Следующий выпуск флеш-плеера (10.1) сделает его намного лучше, но не таким, как на ПК.

Я где-то читал, что одной из причин является видео. В Windows приложения имеют доступ к аппаратному ускорению для ускорения процесса, в OS X необходимые API недоступны для использования флэш-памятью. Кроме того, флэш-память не может легко использовать несколько процессоров, поэтому в этом смысле она тоже ограничена.

0 голосов
/ 26 июля 2011

Основная причина заключается в том, что основным требованием к продукту Flash было его использование на максимально возможном количестве компьютеров. Поэтому подход, использованный группой разработчиков, заключался в разработке продукта, который будет работать с наименьшим общим знаменателем аппаратного обеспечения ПК. По большей части это означало ПК, на которых не было продвинутых видеокарт.

Учитывая такой подход и отсутствие серьезной конкуренции, у Adobe не было особых стимулов для изменения своей стратегии. В конечном итоге, чтобы изменить это в новой версии 10, была новая конкуренция со стороны Silverlight и HTML и желание добавить возможности 3d.

Конечно, возражение Стива Джобса о Flash не имеет ничего общего с этим и на самом деле сводится к его желанию контролировать (и взимать плату) распространение видео на свои устройства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...