- Насколько важна для браузера скорость? Приоритетна ли она по отношению к поддержке стандартов?
- Если бы мы сделали много новых свойств, но сделали бы их очень медленными, никому бы это не было нужно. Если бы мы сделали только очень-очень быстрый браузер, но без единого нового свойства, это, наверное, было бы полезно.
- Выходит, скорость в приоритете?
- Совершенно верно.
- Каким образом в новой версии достигается это ускорение? В частности, графики.
- Производительность - это довольно многомерная вещь. Есть много вещей, которые участвуют в процессе от обращения к проводу до того момента, когда пиксели загорятся на мониторе. И в этом процессе есть несколько вещей, которые мы переделываем очень серьёзно. У нас есть новый движок JavaScript, который работает намного быстрее, чем предыдущий. Он написан совсем с нуля с учётом того, как сейчас используется JavaScript. Мы учли и новые подходы к программированию и существование новых многоядерных процессоров. Есть новая графическая система, которая использует ресурсы видеокарты. Кто-то пробовал превью и обнаружил ускорение в сто раз между Chrome и IE9 на некоторых тестируемых вещах, связанных с большим количеством графики. Есть и другие серьёзные улучшения.
- Хотелось бы узнать технические подробности. Как именно достигнуто ускорение JavaScript?
- Не знаю, насколько технически глубоко рассказывать, я не читаю каждую строчку кода, но ключевая вещь, которую делает наш движок JavaScript - это компиляция. Важно также решение, когда нужно и когда не нужно компилировать. Бывает так, что если скрипт исполняет каждую строчку по разу, то компилировать будет бесполезно и медленно. Есть другая важная вещь – компиляция происходит в фоновом процессе, обычно на другом ядре. То линейное время, которое требовалось скрипту, раньше не только становится меньше, но исчезает.
- В целом, это звучит похоже на Tracemonkey и Opera.
- В общем это современная технология программирования. За большую часть того, что мы делаем, мы не получим Нобелевскую премию.
- Давайте поговорим о новых возможностях. В IE9 будет поддерживаться тег video и кодек H.264. Почему именно этот кодек?
- Это хороший стандарт - этого достаточно.
- Mozilla, к примеру, агитирует за поддержку Theora.
- Я знаю, почему Mozilla агитирует за Theora. У них нет кода для поддержки H.264. Если бы им кто-нибудь дал бесплатно код, они бы были совершенно счастливы.
- Но они же даже заблокировали плагин, реализующий H.264 из идеологических соображений.
- Именно так. Всё, что делает Mozilla, должно быть открыто, а open-source кода для H.264 пока что никто не написал. Когда кто-нибудь напишет, Mozilla будет счастлива. Или им самим придётся написать.
- То есть поддержки Theora в IE можно не ждать?
- Политические вопросы вокруг Theora я обсуждать не могу.
- А если Google будет использовать для тега video свой кодек VP8, Microsoft последует?
- Не знаю, может быть. Почему столько времени заняла реализация тега video: трудно найти формат, который не защищён какими-то патентами, который можно использовать бесплатно. В случае с H.264 компромисс найден, и если найдутся какие-то другие форматы, которые компании могут использовать без риска получить санкции, их, конечно, можно будет поддерживать.
- В отличие от тега video, тег canvas в IE9 не появится.
- Я не могу рассказывать ни о чём, что не включено в платформу. И я не могу ни подтвердить, ни подтвердить ни опровергнуть любое из пожеланий, которое есть в этом списке.
- Но вы уже говорили о том, что Microsoft хочет все те же игрушки, что и у других. Не получится ли так, что HTML5 начнёт конкурировать с другими решениями компании вроде Silverlight?