Firefox и Direct2D ускорение: реальный выигрыш производительности

В конце ноября Bas Schouten опубликовал в своем блоге заметку о том, что он добавил в код браузера Firefox еще один графический бекенд, для работы с Direct2D. Direct2D — это новый API, призванный заменить давным давно устаревший и выкинутый из состава DirectX DirectDraw. Он работает в Windows 7 и Windows Vista, если ваш драйвер видео карты соответствует хотябы стандарту WDDM 1.0.

Замеры скорости отрисовки популярных страниц показывают, что автор старался не зря 🙂
image

В той же записи есть ссылка на скомпилированный вариант Firefox с нужными патчами, и я решил посмотреть, так ли велик выигрыш от использования Direct2D.

Во первых, хочется рассказать про работу этой SVG-шки. Это что-то! Если в версии без Direct2D, как и в других браузерах, стоить увеличить хоть одну фотографию хотябы на пол экрана, все начинает тормозить, то в версии с Direct2D, даже если все 4 изображения растянуть на весь экран (1920×1200), и одно из них двигать, то загрузка процессора остается минимальной, а передвижение очень плавным.

Еще я решил погонять тест производительности peacekeeper, который тоже показывает впечатляющий прирост производительности:
image
Кстати, Google Chrome в этом же тесте оказался быстрее всего на 30%.

Что касается реальных сайтов, наконец-то хоть в одном браузере стало возможно работать с масштабом страницы != 100% и фиксированными фоновыми картинками 🙂 Например, сайт wii.ign.com, который назывался как пример тяжелого сайта, отлично скролится при любом масштабе, в отличии от версии без аппаратного ускорения, где он просто умирает. ( к сожалению, сейчас с этой страницы пропал фон и она перстала тормозить везде 🙂

В общем, ждем от Mozilla включения кода в финальную версию Firefox 3.7, тем более Microsoft уже делало заявление, что в девятой версии Internet Explorer будет аппаратное ускорение через Direct2D, а в Опере, как известно, аппаратное ускорение будет в движке Presto 2.4.

http://habrahabr.ru/blogs/firefox/77903/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *