Апаратно-прискорений HTML5: перша попередня версія IE9 доступна розробникам, Різне, Інтернет-технології, статті

Коли ми уважно поглянули на HTML5, ми побачили, що ця технологія ознаменує поява нового класу додатків. Ці додатки будуть навантажувати середу виконання браузера і наявне апаратне забезпечення іншим чином, відмінним від існуючих сайтів. Ми швидко усвідомили, що забезпечення грамотної реалізації HTML5 – це є нашим завданням з самого початку – пов’язане з розробкою підсистем браузера з урахуванням потреб цього нового класу програм, ніж з певним набором функцій. З самого початку розробки IE9 ми поставили перед собою завдання забезпечення професійної підтримки HTML5 на базі можливостей сучасного апаратного забезпечення через Windows.

Сьогодні на конференції MIX ми продемонстрували, як стандартні шаблони, добре відомі і широко застосовуються розробниками, працюють краще за рахунок застосування сучасних пристроїв через IE9 в Windows. У цій статті я розповім про те, що ми показували сьогодні на конференції: продуктивність, стандарти, апаратно-прискорена HTML5-графіка і доступність IE9 Platform Preview для розробників.

По-перше, ми показали новий механізм обробки сценаріїв IE9, відомий під кодовим ім’ям “Chakra,” а також розповіли про прогрес, якого нам вдалося досягти в популярному тесті продуктивності JavaScript. З різницею в обробці сценаріїв різними механізмами, порівнянної з часом помаху вій, ми повідали про наш підході по створенню сайтів, що працюють відчутно швидше. Chakra здійснює компіляцію JavaScript у фоні на окремому ядрі процесора паралельно з IE.

Ми продемонстрували наш прогрес в забезпеченні роботи стандартизованого HTML-коду, сценаріїв та розмітки в різних браузерах. Ми показали підтримку деяких стандартів: HTML5, DOM і CSS3. Ми представили результати IE9 в тесті Acid3 (55 балів); ​​в міру нашого прогресу в забезпеченні єдності розмітки, яку розробники зможуть використовувати в різних браузерах, результати в тесті Acid3 будуть також зростати. І в рамках нашого зобов’язання по стандартизації ми передали тестові випадку до органів стандартизації. Крім того, ми зробили ці тести публічно доступними, щоб будь-який бажаючий зміг їх протестувати в будь-якому з доступних браузерів.

Ми продемонстрували значне зростання продуктивності, який задовольнить апетити візуально насичених веб-сторінок, а також використання браузером можливостей сучасного обладнання через операційну систему. Той же самий HTML-код, сценарій і розмітка CSS працюють в різних браузерах, при цьому в IE9 сторінки завантажуються значно швидше завдяки апаратно-прискореної графіку. Крім того, IE9 є першим браузером, що забезпечує підтримку апаратно-прискореної SVG-графіки.

На закінчення ми анонсували доступність першої версії IE Platform Preview для розробників і зобов’язання оновлювати її кожні два місяці. Ми хочемо, щоб представники спільноти розробників могли ознайомитися з результатами нашої роботи щодо поліпшення платформи IE.



Продуктивність
У IE9 використовується новий JavaScript-движок, відомий під назвою “Chakra.” Ось графік продуктивності IE9 з популярного тестового пакета для оцінки продуктивності JavaScript, тесту Webkit Sunspider:



Як бачите, в даному тесті IE9 швидше, ніж IE8 і деякі інші браузери. Зверніть увагу на різницю між поточною версією IE9 і браузерами, розташованими по праву сторону від нього. Знадобилося порядку 70 секунд, щоб виявити різницю в 300 мс між браузерами.

У міру подальшого збільшення швидкості механізму обробки сценаріїв на реально існуючих сайтах IE9 продовжить набирати бали в цьому тесті. До цього моменту ми, відверто кажучи, не займалися тонкою налаштуванням для Webkit Sunspider. Але, як і у випадку з іншими тестами, результати можуть відрізнятися в залежності від комп’ютера.

Продуктивність, відчутна при відвідуванні веб-сайтів, часто пов’язана не з JavaScript, а з іншими підсистемами браузера. Наприклад, деякі сайти витрачають більше часу на розмітку сторінки або її візуалізацію, ніж на виконання сценарію. Перший графік у цій статті з PDC відмінно ілюструє цю ситуацію. У сучасних комп’ютерах передбачені кошти для збільшення продуктивності графіки. І IE9 використовує це апаратне забезпечення для прискорення візуалізації графіки і тексту на сторінці і, як наслідок, збільшення швидкості промальовування сторінки.

Для подальшого збільшення продуктивності JavaScript механізм Chakra робить щось, що відрізняє його від інших механізмів обробки сценаріїв. Для механізму передбачений окремий фоновий потік для компіляції JavaScript. Windows запускає даний потік паралельно на окремому ядрі, якщо таке є. Компіляція у фоні дозволяє користувачам взаємодіяти з веб-сторінкою, поки IE генерує код. За рахунок запуску окремого фонового потоку даний процес використовує переваги сучасних багатоядерних процесорів. Таким чином, користувачі з процесорами Core2Duo, QuadCore і i7 можуть використовувати їх міць для прискорення завантаження сторінок, не докладаючи додаткових зусиль.

Розробники отримають вигоду в продуктивності за рахунок використання сучасного апаратного забезпечення без необхідності вносити будь-які зміни в свої сайти. Користувачам доведеться менше чекати, плюс, до всього іншого, сайти стануть більш інтерактивними, як традиційні настільні додатки. Подібний дизайн забезпечить більш високу продуктивність для нових шаблонів веб-розробки, які використовуються на багатьох сучасних веб-сайтах. І ключовим тут є можливість використання сучасних технологій в найбільш важливому з використовуваних вами мов – JavaScript.

Стандарти
Метою стандартів і інтероперабельності як таких є забезпечення ідентичності HTML-коду, сценаріїв та розмітки в різних браузерах. Від усунення необхідності оптимізувати код для різних браузерів виграють всі, плюс це створить більше можливостей для інновацій.

Багато стандарти до цих пір знаходяться в процесі затвердження. Часто вони знаходяться в комітеті у формі чернеток або частково реалізованих стандартів, що працюють в різних браузерах по-різному. Тут розробників чекає серйозне випробування: вони повинні працювати старанніше, ніж могли б, писати більше HTML-коду, сценаріїв та розмітки, щоб покласти схожі, але не ідентичні результати в різних браузерах.

Ми хочемо, щоб розмітка однаково працювала в різних браузерах. У IE9 ми проробили для платформи таку ж роботу, яку виконали для CSS 2.1 в IE8. IE8 забезпечив високоякісну реалізацію CSS 2.1, яка повністю відповідає стандартам. Розробникам слід очікувати на цьому фронті аналогічні ініціативи від інших вендорів, які спростять задачу розробки HTML5-додатків.

Наш підхід починається з даних. DOM і JavaScript API, що використовуються розробниками на веб-сайтах, є основою для стандартів, підтримка яких будуть забезпечена в IE9. Для отримання цих даних ми створили інструмент, що оцінює використання веб-API на 7000 популярних сайтів. Нижче представлений графік розподілу – скільки сайтів використовують кожен з цих API. Про цих даних ми розповімо окремо в майбутніх публікаціях.



Таким чином, ми маємо намір реалізувати підтримку кожного зі стандартів, що використовуються розробниками. У IE9 ви також помітите підтримку декількох стандартів, яких немає в зазначених даних – з метою доповнити сценарії, які потрібні додаткам HTML5.

Основними технологіями, про які варто згадати, є HTML5, CSS3, DOM і SVG. На сайті IE9 Test Drive можна ознайомитися з деякими деталями і прикладами. На поточний момент ми чекаємо відгуків від розробників з приводу нашої реалізації правил парсинга HTML5, Selection API, підтримки XHTML і SVG. Що стосується CSS3, ми чекаємо відгуків розробників щодо підтримки в IE9 селекторів, простору імен, квітів, значень, фонів і меж, шрифтів. В рамках DOM ми чекаємо відгуків щодо підтримки ядра, подій, стилю і діапазонів.

Деякі люди використовують Acid3 в якості швидкого способу перевірки на відповідність стандартам. У цьому тесті оцінюється близько 100 аспектів декількох технологій. Частина з них знаходиться в розробці. Деякі з шаблонів, як, наприклад, SMIL-анімація, несумісна з іншими елементами HTML5, CSS3-анімацією, і вимагає перегляду. Ось знімок екрана, який показує результати IE9 Platform Preview в тесті Acid3:



У міру прогресу в забезпеченні “єдності розмітки” для стандартів та окремих елементів стандартів, що використовуються розробниками, значення в Acid3 буде збільшуватися. Ключовим елементів в нашому підході до стандартів є розробка стандартизованого галузевого тестового пакета. На поточний момент Microsoft передала в W3C понад 100 додаткових тестів HTML5, CSS3, DOM і SVG. Ви можете оцінити деякі з цих тестів тут.

Microsoft співпрацює з органами по стандартизації для створення всебічного набору тестів. Ми передаємо наші тести у відповідні робочі групи і співпрацюємо з розробниками інших браузерів в рамках групи для створення точного і всеосяжного тестового пакета. Сьогодні існує маса сценаріїв, в яких розробники змушені використовувати різний HTML-код, сценарії і розмітку, при цьому результати все одно будуть відрізнятися. Всебічний пакет тестів від органу із стандартизації допоможе і розробникам, і індустрії в цілому.

Апаратно-прискорений HTML5
Додатків HTML5 потрібно висока продуктивність виконання скриптів і відповідність принципу “один код, одні результати” у всіх браузерах. Кращі програми HTML5 будуть розроблятися саме на цих підставах і підуть ще далі, вносячи в користувальницький інтерфейс рівень інтерактивності, доступний раніше тільки в іграх, і візуальну насиченість, властиву кінофільмів.

Сучасні стандарти розмітки веб-сторінок і браузери обмежені в своїх можливостях лише невеликою частиною того, що дозволяє обладнання ПК і операційна система. HTML5 зажадає більшого.

В очікуванні цих додатків IE9 використовує сучасні графічні програмні інтерфейси (API) Windows та обладнання ПК для прискорення відображення графіки і тексту, що виводиться браузером на екрані. Самий простий приклад являє собою невелику веб-сторінку з анімованими зображеннями, переміщаються за покажчиком миші:



Зверніть увагу, що при тому ж самому HTML-коді, сценаріях і розмітці, IE9 властива велика чуйність і кращі показники кількості кадрів в секунду. Багато хто з сучасних веб-сайтів витрачають занадто багато часу на відображення об’єктів на екрані, як це було описано вище, в розділі, присвяченому продуктивності.

IE9 – перший браузер, що надає повну апаратно-прискорену підтримку SVG. Засоби розробника також підтримують SVG, і ми з нетерпінням чекаємо, що ж створять розробники на базі сучасного обладнання і платформи, яка має відмінною продуктивністю і внутрішнім відповідністю. Ми детальніше розглянемо SVG в одній з наступних статей.

Превью-версія IE9
Сьогодні ми також анонсували доступність першої версії IE9 Platform Preview для розробників, і ми маємо намір оновлювати його приблизно раз в два місяці. Дана версія і програма отримання зворотного зв’язку істотно відрізняються від попередніх релізів IE.

За допомогою прев’ю-версій IE9 розробники зможуть побачити той прогрес, якого нам вдалося досягти в платформі IE. Тепер у розробників з’явився поліпшений форум для обговорення та публікації відгуків, який доступний прямо з вікна IE9. Укупі з нашим співробітництвом з органами стандартизації і розробкою галузевих тестів подібний відкритий діалог і регулярні релізи збірок відображають наші зобов’язання по відношенню до Мережі.

Як приклад додаткової підтримки стандартів, яка гряде через оновлення Platform Preview, в ході MIX ми продемонстрували підтримку відео HTML5, а також те, яким чином забезпечена висока продуктивність відтворення HTML5-відео (зокрема, галузевого стандарту H.264 720p) за рахунок використання можливостей сучасного обладнання для декодування графіки.
Якщо ви розробник або ентузіаст, будь ласка, завантажте IE9 Platform Preview. Це перша попередня версія, яка покликана продемонструвати, як загальноприйняті і широко використовуються шаблони можуть ставати швидше за рахунок використання можливостей сучасного обладнання в Windows.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*