Internet Explorer 9: новая ступень эволюции браузера

Среди браузеров Internet Explorer был своеобразным объектом для насмешек, когда дело касалось скорости. И вот на конференции разработчиков MIX2010 компания Microsoft показала ранний код ее предстоящего веб-браузера Internet Explorer 9. Похоже скоро все может измениться...

18.03.2010 15:55

На днях на конференции разработчиков MIX2010 компания Microsoft выпустила ранний код самого критического элемента ее предстоящего веб-браузера Internet Explorer 9, а именно движка рендеринга.

Ключевых целей для нового движка довольно немного и они просты – улучшенная скорость и поддержка новых веб-стандартов, в частности HTML5 и SVG, за разработкой чего следит консорциум всемирной паутины W3С, к которому, по сути, и направлен ранний код.

Пока Internet Explorer 9 еще не является полноценным веб-браузером. В настоящее время это лишь подсистемы рендеринга, встроенные в простой пользовательский интерфейс, который не умеет ничего более кроме ввода веб-адреса и обеспечения инструментов разработчика.

Среди браузеров Internet Explorer был своеобразным объектом для насмешек, когда дело касалось скорости и особенно производительности JavaScript. И результаты оценки SunSpider JavaScript Benchmark зачастую приводились как свидетельство этого. В свою очередь Microsoft уже давно утверждает, что прикладывает свои усилия к разработке других частей конвейера, необходимого для рендеринга веб-страниц, вроде разметки и отображения. В то же время новейшая версия Internet Explorer должна устранить проблемы и в JavaScript и других слабых местах браузера в плане скорости.

Предварительная версия Internet Explorer 9: что готовит Microsoft

Скорость через GPU-ускорение

Многое из того, что делает браузер, касается рендеринга графических изображений и их прорисовки. Учитывая это, кажется логичным, что такие операции следовало бы выполнять на аппаратуре, которая под них оптимизирована  - а именно на видеокарте. Текущие браузеры, однако, для этих операций используют лишь процесор. В то же время IE9 переносит рендеринг графики на видеокарту (через Direct2D и DirectWrite).

Будущий Internet Explorer 9 сможет использовать преимущества как высококлассных геймерских видеокарт, так и их более скромных моделей, которые можно найти в маломощных машинах. И хотя производительность JavaScript играет определенную роль в производительности веб-браузера, также существуют и другие влияющие на нее факторы, как, например, структура и протяженность самой сети, анализ HTML (так называемый HTML парсинг), CSS, сбор данных, DOM, COM маршалинг, разметка и рендеринг.

Так, набросав модели производительности тысяч веб-сайтов по всему миру, команда разработчиков IE обнаружила, что в действительности именно рендеринг, а не JavaScript составляет самую большую часть конвейера. Поэтому очевидно, что выполнение шагов рендеринга на видеокарте значительно и положительно повлияет на производительность браузера в целом.

Скорость JavaScript через компиляцию на втором ядре

Браузеры работают с JavaScript через интерпретацию “на лету”, которая, как и интерпретация человеческого языка, требует некоторых шагов между кодом и выполнением. Для справедливости, стоит отметить, что то, чем пользуются для этих целей Firefox, Chrome и Opera немного лучше прямой интерпретации. Все эти браузеры используют JIT-компилятор (just-in-time – на лету) JavaScript, который обеспечивает ощутимый прирост скорости по сравнению с интерпретацией кода.

Но IE9 пойдет еще дальше. Будущий браузер будет использовать преимущество того факта, что почти все купленные за несколько последних лет компьютеры в действительности обладают более чем одним процессором – в наши дни они являются двух или даже четырехъядерными машинами (кстати, Intel только что выпустила свой первый шестиядерный процессор), которые могут работать с вдвое большим числом потоков.

При наличии многоядерного процессора, Internet Explorer 9 будет использовать одно ядро для рендеринга кода JavaScript по старинке, тогда как другое ядро будет использоваться для его фактической компиляции в машинный код для оборудования, не требуя при этом трансляции (иначе говоря, компиляция JavaScript выделена в отдельный поток). Любой программист знает, что разница в скорости между интерпретированным и скомпилированным кодом огромна, и в некоторых случаях выигрыш в производительности будет полностью изменять игру.

Джейсон Уэбер (Jason Weber), руководитель разработки Internet Explorer, представил демо вращения 3D-иконок, которое ясно проиллюстрировало разницу, которой можно достигнуть при совместном использовании компиляции JavaScript и GPU-ускорения. Как только иконки добавлялись и начинали вращаться быстрее, все текущие браузеры “забивали” процессор на максимум и представление демо опускалось до 5 болезненных fps или даже ниже (при массе вращавшихся иконок). Однако вращение и приближение 256 иконок на огромной скорости в IE9 оставляло основное ядро процессора с уймой лишнего времени на обработку. По словам Уэбера, “мы используем лишь четверть первого ядра процессора. Это позволяет разработчикам создать совершенно новый класс приложений в Веб”.

Предварительная версия Internet Explorer 9: что готовит Microsoft

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

Так, для 15 топовых действий JavaScript,  Internet Explorer 9 был вдвое быстрее, чем текущий лидер SunSpider – браузер Opera. Конечно, для проверки результатов Microsoft нам необходимо провести свои тесты. И мы проведем их. Но в любом случае Microsoft провела эффектную демонстрацию.

Предварительная версия Internet Explorer 9: что готовит Microsoft

Поддержка HTML5

Браузеры IE имеют целую историю разочарований разработчиков, которым специально для IE приходилось писать параллельный код (особенно для ранних версий IE). Internet Explorer 9 стремится к тому, чтобы для всех браузеров, придерживающихся реальных стандартов, сайты должны предоставлять лишь один код. Для программистов такая концепция – пишешь один раз, работает везде -  годами была как Святой Грааль. И вот одной из повторявшихся тем на пресс-превью нового браузера была функциональная совместимость IE9.

Стоит отметить, что IE не был единственным браузером в желании своего собственного, специального кода. Так, Firefox для некоторых команд имел префикс "-moz", и такие команды работали лишь в Firefox. Кстати, и Webkit требовал для некоторых команд префикса "-Webkit". Тони Росс (Tony Ross), программный менеджер Internet Explorer, продемонстрировал как всего лишь все две строчки кода, скруглившие углы прямоугольника, быстро переросли в гораздо более обширный код, когда в них был добавлен альтернативный код для всех других браузеров. “В конечном счете, работа той же самой разметки и наличие совершенной функциональной совместимости является взаимной услугой: существует часть, которую должен играть браузер, и часть, которую должны играть разработчики”, заявил он и добавил, что Microsoft призывает разработчиков выявлять общие возможности, а не возможности для браузеров.

В целом Росс и другие инженеры Microsoft были чрезвычайно активными в W3C – официальной группе стандартов Интернета. Несмотря на то, что тесты, вроде Acid3, претендуют на индикацию поддержки стандартов, оказалось, что многие тестируемые ими возможности не являются официальными спецификациями W3C.

Разработчики надеются, что по мере поддержки большей использующейся веб-сайтами разметки, очки IE9 в Acid будут расти. К слову, новый движок IE9 поднял очки браузера в Acid3 с 20 до 55 (из 100 возможных). При этом очки IE9 еще могут возрасти – ведь его разработка еще не окончена.

Предварительная версия Internet Explorer 9: что готовит Microsoft

Парочкой специфических возможностей HTML5, которые будет поддерживать IE9, являются тэги video и audio. И если разработчики Firefox надеются, что провайдеры контента переключатся на открытые форматы Ogg, то IE9 для видео будет поддерживать промышленные стандарты MPEG-4 и H.264, а для аудио - AAC и MP3.

Новая поддержка SVG

Мы уверены, что для сложного контента, вроде поэтажного плана дома или организационной схемы, вы можете предложить скачивание PDF. Но почему бы не внедрить все это прямо в веб-страницу? Это как раз и позволяет SVG. SVG является стандартом W3C для анимированной, интерактивной графики, основанной на векторах, а не на растре. Не важно насколько вы приблизили изображение SVG, его контуры остаются неизменными (в отличие от растровых форматов изображений, вроде JPEG, которые "деградируют" при приближении). Это касается и текста. И это ключ к вставке приведенной выше организационной схемы в веб-страницу.

Джон Хрватин (John Hrvatin) – старший менеджер разработки Internet Explorer – заявил перед прессой, что IE9 является первым браузером, который врожденно поддерживает SVG с HTM,  ранее для этого требовался XHTML. SVG является потомком языка разметки VML, который вышел еще с Visio. Другие браузеры используют SVG для популярных картографических сайтов, тогда как до 9-ой версии IE использовал VML.

Получится ли у Microsoft с Internet Explorer 9?

Спустя годы критики в адрес IE по поводу недостатка поддержки стандартов и медлительной по сравнению с конкурентами загрузкой веб-страничек, Microsoft, похоже, предпринимает некоторые конкретные и решительные шаги, направленные на решение этих проблем.

Только время все расставит на свои места, но даже слова разработчиков IE9 к разработчикам о том, чтобы они перестали кодировать отдельно под Internet Explorer, являются хорошим знаком, как, впрочем, и инициативы Microsoft в области ускорения рендеринга. Использование преимуществ повседневных (на текущий момент) многоядерных процессоров и дискретного графического оборудования является и радикальным и логическим шагом, который к тому же может совершенно изменить игру в области скорости рендеринга страничек. И в целом будет интересно посмотреть, если другие разработчики браузеров вдруг закатают рукава и начнут внедрять в свои разработки подобные технологии.

Впрочем, одним из немаловажных факторов в этом является план выпуска Internet Explorer 9. Представители Microsoft пока уклоняются от темы даты выхода браузера, как и от даты выхода его бета или финальной версии. Учитывая частоту, с которой мы видим появление новых версий Firefox и Google Chrome, потенциально возможно, что какой-либо другой браузер выйдет к публике со своей поддержкой аппаратного ускорения еще до того, как кто-нибудь вообще получит шанс попробовать IE9.

Тем не менее, уже сейчас вы можете опробовать новую браузерную платформу от Microsoft, посетив из своего текущего браузера страничку Internet Explorer 9.

Оцените материал:  
(Голосов: 25, Рейтинг: 4.26)

Каждый вечер мы будем присылать вам одно письмо со всеми опубликованными за день материалами. Нет материалов - нет писем, просто и удобно (другие варианты).

Материалы по теме


Комментарии (0)