суботу, 20 жовтня 2007 р.

Graphics Performance on Microsoft Windows

Команда Десктоп разработчиков переписывает графическую реализацию на Виндовз чтобы иметь преимущества от Direct3D для выполнения операций начиная с обычной заливки прямоугольников и их копирования, это то сейчас получает пользователь по умолчанию, до прозрачности, градиентов, произвольных преобразований, и других более сложных 2D операций. Как результат: простые и сложные Swing приложения должны более быстро выполнятся в среде Виндовз.

Swing выполняет свою отрисовку через Java 2D API и таким образом зависит от скорости отрисовки Java 2D. Начиная с J2SE 1.4, платформа Джава начала использовать нативные функции для ускорения аппаратного обеспечения через DirectX на Виндовз но только для базовых операций заполнения и копирования прямоугольных областей и горизонтальных и вертикальных линий.

Такие простые примитивы очень важны для отрисовки Swing, из-за того что большая часть пользовательского интерфейса состоит из таких примитивов, и возможность кэшировать второй (задний) буфер Swing как изображение VRAM позволяет очень быструю двойную буферизацию. Но пользовательский интерфейс становится более сложным, и возможность ускорить более сложные операции, такие как прозрачность, градиенты и операции масштабирования становится очень важной.

Команда Java 2D продолжила работу над отрисовкой с помощью DirectX, которая теперь имеет возмость ускорять большое количество операций с помощью нативных библиотек Direct3D на Виндовз. Тем не менее эти улучшения производительности не включены по умолчанию из-за комбинации проблем связанных со скоростью и надежностью. Тем временем, 2D команда также реализовала отрисовку с помощью OpenGL с еще более расширенными возможностями, но этот механизм также не включен по умолчанию из-за проблем связанных с надежностью на некоторых платформах.

Сейчас Java 2D команда переписывает механизм отрисовки DirectX чтобы копировать возможности которые уже есть в OpenGL механизме, с исправлением ошибкоустойчивости которая сделает его более жизнеспособным отрисовщиком по умолчанию. Эта фича должна быть активирована по умолчанию, пердоставляя возможность Swing очень быстрого аппаратного ускорения через графический процессор. Это должно ускорить работу для нынешних Swing приложений, но оно позволить намного более сложным и мощным Swing приложениям запускаться достаточно быстро, даже если содержит более более богатые и динамические, анимированные эффекты в ихнем графическом пользовательском интерфейсе.

Немає коментарів: