Вышел релиз Wine 10.7 для разработчиков, и в основных моментах они отметили интересное улучшение производительности при загрузке для некоторых игр.
О том как установить последнюю версию WINE и чем отличаются версии читайте в инструкции по wine.
Что нового в Wine 10.7
Основные моменты релиза:
- Поддержка пользовательского fd для улучшения производительности часов записи;
- Поддержка преобразования формата Float в WindowsCodecs;
- Продолжается работа над новым бэкендом PDB;
- Различные исправления ошибок.
Что касается первого пункта, то он взят из запроса на слияние под названием «ntdll: Использовать UFFD для отслеживания часов записи, когда это возможно» от разработчика CodeWeavers Пола Гофмана, который отмечает:
Основной мотивацией для этого набора исправлений является повышение производительности. Изначально проблема была замечена в игре Streets of Rage 4, которая иногда загружала [уровни] около 1-1,5 минут (в то время как на Windows это происходило почти мгновенно). Проблема с производительностью связана с кодом управления памятью / сборщика мусора .Net Core. Эта огромная проблема с производительностью была вызвана не только прямой разницей в оборотах для доступа к памяти с контролем записи, но и особенностями [алгоритма], который использовал различные пулы памяти / стратегии [эффективно] на основе времени доступа к памяти и приводил к тому, что особенно неудачный паттерн попадал на защищенные от записи (для контроля записи) страницы гораздо чаще, чем обычно. С тех пор что-то изменилось либо в игре, либо в используемом ею .Net Core, и разница в загрузке уровней без этой оптимизации не столь значительна, но все же она составляет около 6-8 секунд без этого патча вместо 1,5-2 секунд с этим патчем или на Windows, что говорит о том, что он все еще обеспечивает огромное улучшение производительности, по крайней мере, для управления памятью .Net Core.
Среди исправлений ошибок, отмеченных в этом выпуске, можно отметить следующие:
- Окна PokerStars исчезают при оповещении;
- В Winamp подменю «Отправить в…» в меню плейлиста не появляется;
- Кнопка «Alt Gr» вызывает нарушение доступа в Teach2000;
- Неправильно выровненные значки в панели значков;
- winhelp: Появляются всплывающие окна с фальшивыми полосами прокрутки, которые исчезают при нажатии на них;
- ScrollWindowEx() возвращает ERROR, если окно не видно (в смысле Windows API); реальная Windows возвращает NULLREGION;
- Barnham Junction не запускается «Cannot create file C\users\username\Temp\BBC*.tmp\Sim Resources\Barnham Junction\Nameboard.bmp»;
- HeidiSQL: некоторые иконки полностью закрашены серым цветом;
- Native Access 1.13.5 Setup PC.exe Установщик устанавливается бесконечно;
- Точка входа процедуры RasClearConnectionStatistics не может быть найдена в библиотеке динамических ссылок RASAPI32.dll;
- Comdlg32/Color — крест не закрашивается;
- Игры не получают ввод с клавиатуры в режиме виртуального рабочего стола;
- LVSCW_AUTOSIZE не включает размер списка изображений состояния;
- Состояние гонки в реализации GlobalMemoryStatusEx().
Источник: Wine GitLab