Обновление Wine 10.7: Быстрее загрузка игр и доработка PDB-бэкенда

2025-05-03 886 комментарии
Релиз Wine 10.7 Beta от 2 мая 2025 года улучшает производительность .Net Core благодаря UFFD для write-watches, сокращая время загрузки уровней в играх до 1,5–2 секунд. Включает поддержку Float в WindowsCodecs, обновленный PDB-бэкенд и исправления для WinAmp, HeidiSQL и других приложений

Релиз Wine 10.7 Beta — очередной двухнедельный выпуск открытого программного обеспечения, предназначенного для запуска приложений и игр Windows на платформах Linux и других операционных системах. Обновление включает значительные улучшения производительности, новые функции и исправления ошибок, что делает его важным шагом в развитии проекта.

Что нового в Wine 10.7

Оптимизация производительности с поддержкой User Fault FD

Ключевой особенностью Wine 10.7 стала поддержка User Fault FD (UFFD), направленная на повышение эффективности работы механизма write-watches. Эта технология позволяет значительно сократить время загрузки уровней в некоторых играх и улучшить общую производительность приложений. Разработкой данной функции занимался инженер компании CodeWeavers Пол Гофман.

В запросе на включение изменений Гофман подробно описал преимущества новой реализации:

Основная цель данного набора патчей — повышение производительности. Проблема была впервые замечена в игре Streets of Rage 4, где загрузка уровней занимала от 1 до 1,5 минут, в то время как на Windows этот процесс выполнялся практически мгновенно. Причиной низкой производительности являлись особенности работы механизма управления памятью и сборщика мусора в .Net Core. Значительное замедление вызывалось не только прямой разницей в скорости обработки памяти с отслеживанием записи, но и спецификой алгоритма, который использовал различные пулы памяти и стратегии, зависящие от времени доступа к памяти. Это приводило к особенно неудачному шаблону, при котором страницы памяти, защищенные для отслеживания записи, использовались гораздо чаще, чем обычно. Хотя с тех пор в игре или в используемой версии .Net Core произошли изменения, и разница во времени загрузки уровней стала менее выраженной, без данной оптимизации загрузка занимает 6–8 секунд, а с патчем — 1,5–2 секунды, что соответствует показателям Windows. Таким образом, патч обеспечивает значительный прирост производительности, особенно для приложений, использующих .Net Core.

Микро-бенчмарки, проведенные в рамках запроса на включение изменений, также демонстрируют положительное влияние новой реализации на производительность Wine.

Новые функции и исправления ошибок

Помимо оптимизации производительности, Wine 10.7 включает следующие улучшения:

  • Поддержка преобразования форматов Float в WindowsCodecs. Это расширяет возможности обработки графических данных в приложениях, работающих через Wine.

  • Доработка PDB-бэкенда. Улучшения в обработке отладочной информации повышают стабильность и совместимость приложений.

  • Исправление 14 известных ошибок. В их числе:

    • Устранение проблем с обработкой клавиатурного ввода в играх при использовании режима виртуального рабочего стола.

    • Исправления для приложений, таких как WinAmp и HeidiSQL, что повышает их стабильность и функциональность.

Обновление Wine 10.7 будет полезно пользователям Linux, macOS и других платформ, которые используют Wine для запуска Windows-приложений и игр. Особенно заметные улучшения ощутят те, кто работает с играми или приложениями, использующими .Net Core, благодаря значительному ускорению загрузки и обработки данных.

© . По материалам phoronix
Комментарии и отзывы

Нашли ошибку?

Новое на сайте