Найти в Дзене
Games4Linux

Прорыв в производительности: Майк Блюменкранц улучшает драйвер Zink для OpenGL на Vulkan

Zink - это проект открытого исходного кода, который направлен на создание пользовательского пространства OpenGL вокруг Vulkan. Он позволяет использовать API OpenGL поверх Vulkan, что позволяет исполнять приложения OpenGL на устройствах, поддерживающих только Vulkan. Это важно, потому что Vulkan обеспечивает более высокую производительность и эффективность, чем устаревший OpenGL, и Zink позволяет приложениям, которые все еще используют OpenGL, использовать преимущества Vulkan без необходимости полного переписывания кода.
  Майк Блюменкранц (Mike Blumenkrantz) из группы разработчиков открытого исходного кода Valve, занимающейся графикой в Linux, завершил значительное улучшение и устранение ошибок в драйвере Zink, который обеспечивает работу OpenGL на платформе Vulkan.
  На прошлой неделе Блюменкранц поделился информацией о своей работе в своем характерном ярком стиле. Он отметил: "По всему спектру я заметил прирост производительности примерно на 6000%. Наконец-то, этот этап завершен."

Zink - это проект открытого исходного кода, который направлен на создание пользовательского пространства OpenGL вокруг Vulkan. Он позволяет использовать API OpenGL поверх Vulkan, что позволяет исполнять приложения OpenGL на устройствах, поддерживающих только Vulkan. Это важно, потому что Vulkan обеспечивает более высокую производительность и эффективность, чем устаревший OpenGL, и Zink позволяет приложениям, которые все еще используют OpenGL, использовать преимущества Vulkan без необходимости полного переписывания кода.

  Майк Блюменкранц (Mike Blumenkrantz) из группы разработчиков открытого исходного кода Valve, занимающейся графикой в Linux, завершил значительное улучшение и устранение ошибок в драйвере Zink, который обеспечивает работу OpenGL на платформе Vulkan.

  На прошлой неделе Блюменкранц поделился информацией о своей работе в своем характерном ярком стиле. Он отметил: "По всему спектру я заметил прирост производительности примерно на 6000%. Наконец-то, этот этап завершен." Конечно, это не научное измерение, но в целом он сосредотачивался на большом проекте Zink, направленном на оптимизацию ввода-вывода.

В конце недели последовало короткое сообщение на его блоге:

"Быстрый пост
Сверхбыстро
Просто хотел сообщить всем, что я нажал кнопку слияния на MR vroom. Как только это произойдет, вы сможете оценить увеличение производительности с помощью параметра ZINK_DEBUG=ioopt.
Я планирую включить это по умолчанию в течение следующего месяца, как только выйдет новый релиз GL CTS, который исправит сотни несрабатывающих тестов, что может ухудшить ситуацию. Несмотря на это, я уже провел тестирование на нескольких играх и бенчмарках, и все работает ожидаемо.
Удачи."

Слияние касается переписывания компилятора Zink и оптимизации ввода-вывода для внедрения нескольких улучшений в Zink. Как отметил Майк, данный код должен быть включен по умолчанию после выхода нового набора тестов OpenGL (CTS), который исправит несрабатывающие тесты в этом режиме.

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28580