Аппаратное ускорение: кто самый быстрый?
Гонка браузеров продолжается и она, безусловно, серьезнее и «жарче», чем в предыдущие годы. Все основные производители соревнуются в уровне поддержки HTML5 и сопряженных с ним технологий — к этому мы уже привыкли. А сейчас в фокусе еще одно направление — аппаратное ускорение — когда браузер передает требующие больших мощностей и затрат энергии задачи видеокарте компьютера, чтобы ускорить и сгладить анимацию и рендеринг страниц.
Компания Microsoft создала почву для разногласий, разместив в прошлые выходные в своем блоге сообщение о том, что бета-версия IE9 «первый и единственный браузер, предоставляющий полное аппаратное ускорение для HTML5 содержимого».
Вопреки таким утверждениям Microsoft, Firefox 4 пользуется тем же Windows 7 API, который использует и Microsoft, чтобы ускорить композитинг и рендеринг страниц веб-страниц и, самое главное, Firefox 4 делает так уже на протяжении некоторого времени. Да, поддержка аппаратного ускорения в Firefox 4 все еще сильно ограничена бета-версиями и «ночными» сборками, но это те же, что и в IE9, функции аппаратного ускорения.
Кто не в теме
Композитинг предлагает простой и действенный способ рационального распределения нагрузки между центральным и графическим процессором компьютера. Страница попросту разбивается на слои, состоящие из разных по сложности объектов. Более простые объекты, такие как текст и обычные картинки, будут обрабатываться центральным процессором, а высококачественное видео — 3D графика с элементами WebGL и прочее — попадут под крылышко графического процессора. И последний шаг — объединение всех слоев веб-страницы в единое целое, так, как ты видишь ее на мониторе, также будет осуществлять графический процессор.
В Mozilla, понятное дело, слегка рассердились на такие заявления от Microsoft. Но, честно говоря, в блоге IE никто прямо на Firefox не указывал и по имени его не называл, так что, возможно, Microsoft видит Google Chrome в качестве прямого конкурента. Аппаратное ускорение Chrome отстает от Mozilla и достижений браузера Microsoft, но в тоже время в 6 и 7 версиях Chrome встроено аппаратное ускорение для композитинга.
Чтобы лучше разобраться и разложить все по полочкам, предлагаем удобную таблицу, где показаны все три уровня аппаратного ускорения и какие поддерживают каждый вид:
Аппаратное ускорение композитинга, поддерживаемое Windows-браузерами:
FF 4.0 beta 5 | IE9 beta | Safari 5 | Chrome 6+ | Opera 10.5 |
---|---|---|---|---|
+ | + | - | + | - |
Аппаратное ускорение рендеринга, поддерживаемое Windows-браузерами:
FF 4.0 beta 5 | IE9 beta | Safari 5 | Chrome 6+ | Opera 10.5 |
---|---|---|---|---|
+ | + | - | - | - |
Аппаратное ускорение декстоп-композитинга, поддерживаемое Windows-браузерами:
FF 4.0 beta 5 | IE9 beta | Safari 5 | Chrome 6+ | Opera 10.5 |
---|---|---|---|---|
+ | + | - | - | - |
Есть еще некоторые странности в сообщении в IEBlog: указывается, что аппаратное ускорение IE9 в чем-то быстрее потому, что не поддерживает другие платформы, даже Windows XP. Смысл, наверное, в том, что сосредотачиваясь на одной платформе, Microsoft может сконцентрировать свои усилия на создании полноценной поддержки специфических сценариев поведения, характерных для Windows 7.
В случае Firefox 4, аппаратное ускорение отчасти абстрагировано и это, в конечном счете, дает возможность поддержки Linux и Mac OS X также как и Windows. Даже сейчас Firefox 4 частично поддерживает аппаратное ускорение Windows XP.
Несмотря на заявления Microsoft, во многих независимых тестах (лабораторных и общедоступных), IE9 и Firefox идут «корпус в корпус». И, как подчеркивает Роберт О&Каллахан (Robert O&Callahan) из Mozilla, «дополнительный уровень абстрагирования не должен ухудшить производительность, конечно, если вы все делаете правильно».
В конце концов, кто пришел первым и что там происходило за кулисами так до конца и не ясно. Но точно понятно, что на финише выиграют пользователи — через пару месяцев они, весьма вероятно, получат три аппаратно ускоренных браузера для Windows с более широким списком операционных систем, доступных через не-IE браузеры.
Материалы
- A Guide to Hardware Acceleration in Modern Browsers