9 сентября 2010 в 21:33

Почему, всё-таки, IE9 для XP не будет?

Официальный ответ на этот вопрос с сайта IE9 Platform Preview:
Q. Does Platform Preview run on Windows XP?
A. No. Internet Explorer 9’s GPU-powered graphics take advantage of new technologies available in Windows 7 and back-ported only to Windows Vista. These technologies depend on advancements in the display driver model introduced first in Windows Vista.

По-русски:
В: Работает ли Platform Preview на Windows XP?
О: Нет. В IE9 используется аппаратное ускорение графики средствами видеокарты, которое использует новые технологии, доступные только в Windows 7 и портированные только в Vista. Эти технологии зависят от улучшений в модели драйверов, впервые применных в Vista.

Данное объяснение с самого начала казалось мне несколько сомнительным. Давайте разберемся.

Что это за технологии такие, о которых идёт речь? На сайте MS утверждается, что IE9 использует для рендеринга Direct2D API, и именно это API нельзя реализовать на XP из-за иной модели драйверов. Хорошо, с этим ясно. Но ведь Direct2D — не единственный способ сделать аппаратное ускорение графики! У нас есть DirectDraw, у нас есть возможность использовать поверхность Direct3D — как это делают рендереры многих видеоплееров. Неужели аппаратное ускорение графики в браузере — настолько специфичная задача, что решить её можно только через Direct2D?

Как оказалось, нет. Chromium 7-й ветки прекрасно справляется с задачей аппаратно ускоренной графики в XP безо всякой поддержки Direct2D, при этом демонстрируя большую производительность, чем IE9 на Win7 на компьютере сопоставимой конфигурации (для тех, кто не знает этого теста — браузеры без поддержки аппаратного ускорения графики в аналогичных условиях выдают в нем 2-3 FPS).

Конфигурация системы, с которой сделан скриншот:
Athlon 64 X2 3800+ 2.0 Ghz
4 Gb RAM
Ati Radeon HD 4600, драйвер 8.702.0.0
XP SP3 Pro
DirectX 9.0c

Строка запуска chomium:
start chrome.exe --enable-gpu-plugin --enable-accelerated-compositing --enable-click-to-play --enable-gpu-rendering --enable-video-layering --enable-webgl --enable-accelerated-2d-canvas --enable-nacl

Так что отсутствие IE9 для XP следует понимать как исключительно маркетинговый ход, одновременно убивающий двух зайцев: поднять продажи новых ОС и популяризировать новый API.

PS: сборка chromium, которую я использовал. Попробуйте сами.

PPS: Firefox, насколько мне известно, тоже пошел по пути Direct2D — во всяком случае, никакие эксперименты с about:config в последней бете не дали мне сколько-нибудь сопоставимого с chrome результата того же теста в Windows XP.

PPPS: Из блога Chome про GPU-ускорение. Интересно.
Иван Сорокин @unxed
карма
112,1
рейтинг 0,0
Пользователь
Самое читаемое Разработка

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

  • +1
    Казалось бы, причем тут хром…

    Не будет API, не будет приложений использующих это API. Специально для устаревшей XP, никто пилить Direct2D не будет.
    • +1
      хром — это работающая демонстрация, что сделать аппаратное ускорение рендеринга в браузере без Direct2D — в принципе можно, и это будет работать.

      Я не имел в виду, что Direct2D — это плохо. Я имел в виду, что логика «нет Direct2D — нет аппаратного ускорения в браузере» — ложная, и привел пример обратного.
      • 0
        ок, тогда как ускоряется Хром? через DirectShow?
        • 0
          во-первых, пардон, конечно же, DirectDraw а не DirectShow. исправил в статье.
          во-вторых, в багтрекере chromium более сотни багов, посвященных аппаратному ускорению. всё это переварить довольно трудно, но там встречается и поддержка directdraw, и другие средства.
          ссылка
          • 0
            ускорить то можно, только насколько правильно, как с точки зрения системы и пользователя.

            вот пример.

            у меня есть словарь Abbyy Lingvo, у него есть возможность при наведении курсора с зажатой Ctrl на слово, словарик в popup-е переводит с Eng>Rus.
            В Windows XP это работает в Internet Explorer-е, а в Google Chrome — нет. Казалось бы мелочь, но не приятно. А все из-за того, что Хром сам рендерит.

            Но самое забавное, что такая же фигня ив Mac OS X, там только работает такая функциональность в Сафари и не работает в Опере и FireFox, во всяком случае я в них тестировал.

            Поэтому, если с Direct2D словарик будет работать в IE9, то я в этой истории поддерживаю Microsoft

            • 0
              Подозреваю, что в Vista+ Chrome тоже будет через Direct2D рендерить.
            • 0
              В мак оси сложнее. Там рендеринг шрифтов аппартный, но через стандартный интерфейс — поэтому с этим особо мучаться не приходится.

              А сафари вполне может делать эту фишку некросплатформенной
      • +2
        Причина скорее не только в ускорении. Direct2D — имеет функции, которые под XP портировать никто не будет.
        Например Paint.NET следующей версии тоже обещают Vista/7 only, и именно из-за Direct2D, ЕМНИП.
        • +1
          Пост-то был про то, что можно сделать быстрый браузер без Direct2D, а не про то, что «дайте нам Direct2D в XP».
          • +1
            Зачем? Это распыление сил команды
  • +2
    >Так что отсутствие IE9 для XP следует понимать как исключительно маркетинговый ход, одновременно убивающий двух зайцев: поднять продажи новых ОС и популяризировать новый API.

    да кому он нужен ?!
    • +2
      IE9 для XP или новый API?
  • +23
    сейчас популярный ретвит: «Ищем человека на #devpoint с инвалидной коляской, который на докладе про IE9 встанет и уйдет»
  • +3
    >Так что отсутствие IE9 для XP следует понимать как исключительно маркетинговый ход, одновременно убивающий двух зайцев: поднять продажи новых ОС и популяризировать новый API.

    Надеюсь, этот ход приведёт к тому, что пользователи наконец-то станут пользоваться другими браузерами, пускай даже Оперой :)
  • +10
    На момент выхода IE9 ХР исполнится почти 10 лет! Вы ведь в 2001 году не возмущались тем фактом, что IE6 не работает под MS-DOS 5.0 или Windows 3.0?
    • +1
      При чем тут возмущение? Не выпустить новую версию самого популярного браузера для самой популярной ОС это просто несколько странно, как мне кажется.
      • –2
        С каких пор Win XP стала самой популярной ОС?
        • +1
          Вот здесь так считают, к примеру.
        • +1
          Давно уж: gs.statcounter.com/#os-ww-monthly-200807-201009
          Впрочем, судя по динамике, семерка через год-два ее перегонит.
          • 0
            ну как раз к выходу сравняются с 7 + Виста
    • 0
      Сравнивая DOS и Windows, вы путаете член с пальцем.

      Сколько бы XP ни исполнилось, дело не в этом. Мне например удобно в виртуальной машине пользоваться XP, потому что каталог windows весит меньше 500 метров и работает система резво. В OS X фаерфокс грузится медленней, чем стартует виртуальная машина с XP.
      • +1
        Я провожу аналогию между браузером, который должен выйти и ОС, которой исполнится 10 лет. В 2001 году это был IE6 и MS-DOS 5.0 или Windows 3.0, что вам больше нравится. Конечно я утрирую, но ведь ХР уже тоже морально устарела. Это была отличная ОС, но после нее вышло еще две новых, причем вторая из них очень и очень хороша. А к моменту релиза IE9 скорее всего уже будет доступна информация о следующей версии Windows (ее вроде как планируют выпустить где-то под конец 2012 года).
        • +6
          А что значит «морально устарела»? Это ведь тоже маркетинг, уверяю вас. Надо же как-то объяснять людям, почему они должны раз в три-четыре года платить за новую ОС.

          Утюг не становится «морально устаревшим» до тех пор, пока он может гладить. То, что у нового утюга есть больше кнопочек и фишечек, совсем не значит, что производитель утюгов должен настаивать на том, чтобы я выкинул старый и купил новый. Да мне просто нравится мой старый утюг, оставьте меня в покое!
          • 0
            Никто не настаивает. Это вы пытаетесь требовать у производителя утюга делать новые гладильные доски совместимыми с вашей моделью :)
            • +3
              Нет, что Вы! Я пользуюсь Chrome и Firefox и бед не знаю, чтобы требовать ещё чего-то.

              Но меня удивляет, что производитель не хочет выпускать гладильные доски, подходящие к самой популярной модели утюга.
              • +1
                А что тут удивительного? В ХР нет Direct2D — это один из пунктов, по которому она морально устарела по сравнению с новыми ОС. Автор этого поста перепутал «можно сделать» с «можно сделать также легко». Я думаю, команда разработчиков прекрасно знает, что браузер можно написать и без Direct2D, другое дело, что на это прийдется потратить дополнительное время, которое лучше потратить на реализацию фич, полезных пользователю, например на более полную поддержку веб-стандартов. Пришлось выбирать — и выбрали путь прогресса.
              • 0
                Не хочет раздавать совместимые доски бесплатно.
    • НЛО прилетело и опубликовало эту надпись здесь
  • –3
    Это получается, чтобы сидеть ВКонтактике с IE9 обязательно надо будет иметь современную видеокарту с мощным GPU?)
    Или IE9 такой ресурсоёмкий, что аппаратное ускорение просто необходимо, чтобы отобразить на экране страничку из Википедии?)
    • +3
      Нет. Dirext2D может использовать софтверный рендеринг. Аппаратный рендеринг позволяет перенести нагрузку с CPU на GPU, особенно это критично не на страницах Википедии, а на страницах с активным использование мультимедийных элементов (динамичная графика, видео).
      • –1
        Хорошо-хорошо, я это понимаю. Меня просто абсурдность ситуации удивляет, когда для браузера настолько сильно нужно аппаратное ускорение, что готовы принести в жертву миллионы пользователей Windows XP.
        • +2
          Аппаратное ускорение графики — это в любом случае будущее, но с другой стороны поддерживать старую платформу бесконечно тоже невозможно.
      • 0
        дык там не только DX2D, но и прочие подсистемы DirectX. Все-все-все рендерица с помощью DirectX.
    • +2
      Даже самой хилой интеловской интегрированной видеокарты хватит, чтобы ускорить рендеринг в много раз. Просто используется железо, которое бы простаивало в ином случае.
  • +3
    DirectDraw — устаревшая технология, которая никак не развивается. Конечно, это не означает, что ее нельзя использовать и да, она также обеспечивает аппаратную поддержку.

    Использование Direct2D не только проще, но делает некоторые вещи лучше…
    habrastorage.org/storage/3feda402/3011550d/8cc054a1/cfa7970c.png
    • 0
      100% с Вами согласен.

      Но есть нюанс: IE6 — устаревшая технология, но сайты под него верстают до сих пор. Потому что есть люди, которые им пользуются.

      Здесь так же: конечно, здорово было бы пересадить всех разом на Win7 с Direct2D и весь софт писать уже под него. Но пока есть очень-очень много пользователей с XP, использование DirectDraw в качестве одного из фронтэндов рендерера имеет свой смысл.

      Когда пользователей XP станет меньше 7%, возможно, будет смысл убрать весь код, связанный с DirectDraw, чтобы избежать ненужного усложнения, отлова багов, поддержки, развития двух веток и тд. А пока — это конкурентное преимущество chrome. Для миллионов пользователей XP это единственный браузер, использующий ресурсы видеокарты. Посмотрим, как это скажется на его популярности… дайте я угадаю… вот Вы что бы легче сменили, операционку или браузер?
      • 0
        Это автоматом означало бы, что либо нужно вернуться к устаревшей технологии, либо нужно поддерживать обе технологии в браузере.

        Последнее означает не только усложнение решения, но усложнение всей инфраструктуры тестирования и поддержки. И оба варианта означали бы необходимость возврата к поддержке и развитию старой технологии.
  • НЛО прилетело и опубликовало эту надпись здесь
  • +2
    > Почему, всё-таки, IE9 для XP не будет?

    Ответ очевиден. Потому же, почему не было IE7 и IE8 под Win2k — из-за маркетинга, не желания поддерживать софт под старые версии ОС и желание всех подтолкнуть к переходу на новую версию ОС.
  • 0
    А я не пойму почему Майкрософт не хочет использовать свой же WPF?
    Он ведь вроде как и создан для работы с окнами и аппаратная поддержка есть…
  • +1
    Про XP: ох! как-то, в последнее время, я перестал доверять Остапу Ибрагимовичу, что-то Бендер не то делает…
  • +1
    Да по той же причине ICQ иногда меняет протоколы, винрар перестает поддерживать старые архивы, а китайские кроссовки рвутся после 5-й игры в них в футбол
  • +1
    Я так понимаю тесты были на 800x600?
    Не понимаю, почему на 1920x1200 начинаются дикие тормоза, несмотря на всякие заявления о GPU-ускорении? Это же не crysis какой-то.
  • 0
    Да, и почему интересно на Chrome 7 beta рыбки в 3D не тормозят даже в количестве 1000 штук — webglsamples.googlecode.com/hg/aquarium/aquarium.html, а рыбки в 2D — ie.microsoft.com/testdrive/Performance/FishIE%20tank/Default.html — на FullHD выдают 1fps. Несмотря на все эти 2D acceleration и GPU.

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