Аппаратное ускорение mainstream графики в Windows 8.
Есть много способов, чтобы посмотреть на массовые видеокарты. Чтобы гарантировать, что наша работа принесет пользователям оптимальную производительность и мы изучали много примеров того, как работет Metro и настольные приложения, чтобы понять, как они используют графическое оборудование. В частности, Internet Explorer 9, Windows Live Mail и Windows Live Messenger прекрасно используют DirectX. Поскольку эти приложения проделали большую работу для использования DirectX, и они являются хорошими примерами того, что другие приложения могут сделать.Это привело к ряду инвестиций для обеспечения того, чтобы основные приложения работали быстро и выглядели великолепно.
Содержание
Повышение производительности текста
Текст является на сегодняшний день наиболее часто используемым графическим элементов в Windows 8,поэтому повышение производительности визуализации текста проходит долгий путь к созданию более эффективной работы.Веб-страницы,программы электронной почты, обмен мгновенными сообщениями и другие приложения для чтения имеют выгоду из высокого качества и высокой производительности отображения текста.
Метро-стиль язык проектирования типографских способов и направлен на обеспечение отличного чтения. DirectWrite даёт большое типографское качество, супер-быструю обработку данных шрифтов для рендеринга, а также обеспечивает глобальную поддержку текста. Мы продолжаем работу по усовершенствованию производительности текста в Windows 8 путем оптимизации отрисовки текста по умолчанию в Metro-приложениях для увеличения производительности и эффективности, сохраняя при этом типографское качество и глобальную поддержку текста.
Как показывает диаграмма производительности — результат от этой работы. Он включает в себя средства измерения следующих сценариев текста:
- Экран полный для чтения-размер текста в формате параграфы который вы можете найти на веб-страницах или в документах Word
- Экран полный небольшими кусками текста при чтении размеров, который вы найдете в пользовательском интерфейсе, такие как элементы управления,кнопки, метки или меню
- Экран, полный небольших блоков заголовков текста, который вы можете увидеть в названиях и заголовках в Metro-приложениях и, как заголовки на блогах и новостных статей на сайтах.
Наиболее заметное улучшение производительности видно при прокрутке длинных документов на сенсорном экране. Сокращение времени, необходимого для символов освобождает циклы процессора для обработки других задач, таких как обработка высокой частоты нажатия на кнопку ввода или отображения более сложных макетов документа.
Улучшенная производительность визуализации геометрии
Наряду с текстовыми, мы также внесли значительный прирост производительности для геометрии рендеринга 2D.Геометрия визуализации — это технология графического ядра,которая используется для создания таких вещей, как таблицы, диаграммы, графики,схемы и элементы интерфейса пользователя, как показано в примере ниже. Для Windows 8,в этой области есть заметный прогресс и в основном сконцентрирован на реализации высокопроизводительных HTML5 Canvas и SVG технологий для использования в Metro-приложениях,для просмотра веб-страниц и с помощью Internet Explorer 10.
Когда Direct2D рисует геометрию,она принимает инструкции от app о том, что нужно рисовать в виде 2D цифр (напр. прямоугольники, эллипсы, и пути), размер и расположение фигур, и о специфике стиля отображения, в том числе цвет кисти и стиль штриха. Затем он преобразует эти команды в набор треугольников и команд, которые он посылает, чтобы Direct3D могла создать желаемый результат. Мы называем этот процесс преобразования тесселяция.
Чтобы улучшить производительность визуализации геометрии в Windows 8, мы нацелены на сокращение нагрузки на CPU, связанных с тесселяцией двумя способами.
Во-первых, мы оптимизировали нашу реализацию тесселяции для простой геометрии,такой как прямоугольники, линии, скругленные прямоугольники и эллипсы. Ниже приведен график, показывающий влияние этих улучшений.
Во-вторых, для повышения производительности при неправильной геометрии (напр. географические границы на карте), мы будем использовать новую графическую аппаратную функцию,которая называется Цель Независимой Растеризации, или МДП.
TIR позволяет Direct2D тратить меньше циклов ЦП на тесселяции, поэтому он может дать инструкции по рисованию для GPU, более быстро и эффективно, без ухудшения видимого качества. МДП предоставляется в новых GPU предназначенных для Windows 8, которые поддерживают DirectX 11.1.Ниже приведен график, показывающий повышение эффективности оказания anti-aliased геометрии из множества файлов SVG на DirectX 11.1 GPU, поддерживающие МДП:
Мы тесно сотрудничаем с нашими партнерами графического оборудования в области разработки МДП. Значительные улучшения стали возможны из-за этого партнерства.Оборудование DirectX 11.1 уже находится на рынке и сегодня, и мы работаем с нашими партнерами, чтобы убедиться, что больше МДП — продуктов способны будут работать и широко доступны.
Визуализация изображений
Снимки широко используются в различных ситуациях, включая отображение пользовательских интерфейсов, веб-страниц и других приложений контента. Веб-сайты обычно используют изображения в формате JPEG для фотографий и PNG и GIF файлы, чтобы эффективно хранить элементы пользовательского интерфейса, такие как кнопки, графика.Работа с цифровыми фотографиями, также является весьма распространенной деятельностью в Windows. Количество цифровых фотографий, чтобы клиенты Windows могли просмотреть и сделать их обработку на ПК продолжает расти невероятными темпами.Мы внесли ряд усовершенствований для повышения производительности для работы с изображениями и фотографиями с помощью JPEG, GIF и PNG форматах.
Для JPEG, улучшения включают в себя:
- Быстрее декодирование изображений путем расширения использования SIMD на всех процессорных архитектурах
- Быстрее кодирование и декодирование Хаффмана
Для PNG, улучшения включают в себя:
- Быстрее декодирование изображения за счет расширения SIMD использования на всех процессорных архитектурах
- Быстрее кодирование и декодирование изображения путем оптимизации zlib
Кроме того, мы улучшили пиксельный формат преобразования, а также масштабирование изображения.Это позволяет повысить скорость декодирования и отображения изображения для всех приложений.
Рендеринг и просмотр
DirectX развивается для поддержки более популярных сценариев,и ещё одна область,в которой произошла оптимизация,это в приложениях визуализации и отображения их содержимого. Есть некоторые большие различия в том, как 3D-игры черпают своё содержание и, как обычные приложения, такие как Internet Explorer черпает своё содержание. Рассмотрим, например, видео игры.Такие игры, как эта, вся сцена меняется очень быстро. Как “камера” движется вокруг автомобиля, облака по небу, и дым волнами от двигателя, приложение должно делать перерисовку всей сцены в каждом кадре, чтобы достичь жизни и увлекательности в игре.
Теперь рассмотрим ниже веб-страницу. Она имеет и текст статьи и видео. Во время воспроизведения видео, браузер должен обновить часть окна, содержащего видео, а не текста. Кроме того, если пользователь прокручивает страницу, то нам нужно только, чтобы представить новый текст в нижней части страницы. Остальной текст уже был вынесен, и его просто необходимо переместить.
Для улучшения приложений, которые не нужны для перерисовки всего экрана для каждого кадра, мы оптимизировали DirectX с перекройкой только части экрана и когда она исчезнет. Эта работа не только повышает эффективность и производительность приложения, но, поскольку это снижает избыточное рисование и уменьшает количество раз графических данных,которые должны быть скопированы в память, оно также снижает потребление энергии, тем самым увеличивая срок службы батарей.
Сделав большой всей платформы
Все эти изменения помогут Windows render работать очень быстро и гладко. В то время как мы говорили в основном о возможностях DirectX, великое дело в том, что вся эта работа способствует тому, чтобы вся наша платформа работала с аппаратным ускорением по умолчанию. Поскольку мы построили Метро стиль на DirectX, все приложения в полной мере воспользуются графическим оборудованием в системе, независимо от языка программирования и структуры по выбору разработчика.
[share-locker locker_id=»ad9165220652dd2d4″ theme=»blue» message=»Если Вам понравилась эта статья,нажмите на одну из кнопок ниже.СПАСИБО!» facebook=»true» likeurl=»CURRENT» vk=»true» vkurl=»CURRENT» google=»true» googleurl=»CURRENT» tweet=»true» tweettext=»» tweeturl=»CURRENT» follow=»true» linkedin=»true» linkedinurl=»CURRENT» ][/share-locker]