После года разработки и 23 экспериментальных версий представлен (https://www.winehq.org/news/2018011801) стабильный релиз открытой реализации Win32 API - Wine 3.0 (http://www.winehq.org/announce/3.0), который вобрал в себя более 6000 изменений. Из ключевых достижений новой версии отмечается поддержка Direct3D 10 и 11, реализация обособленного потока обработки команд Direct3D, графический драйвер для платформы Android, улучшенная поддержка DirectWrite и Direct2D. Из возможностей которые отложены до следующей значительной ветки отмечаются поддержка Direct3D 12, Vulkan и реализация Direct3D через OpenGL ES на платформе Android.В Wine подтверждена (http://appdb.winehq.org/) полноценная работа 4580 программ для Windows, еще 3907 программ прекрасно работают при дополнительных настройках и внешних DLL. У 3301 программ наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений.
Ключевые новшества (https://www.winehq.org/announce/3.0) Wine 3.0:
-
Direct3D
- Реализована значительная часть возможностей Direct3D 10 и 11, в том числе вычислительные и тесселяционные шейдеры, потоковый вывод, инструкции и модификаторы интерполяции для моделей шейдеров 4 и 5, непрямого (indirect) рендеринга, структурированных и побайтово адресуемых буферов, многослойной отрисовки на трёхмерных текстурах и массивах текстур, создания уровней mip-map и т.д.
- Реализация обособленного (https://www.opennet.ru/opennews/art.shtml?num=37818) потока обработки команд Direct3D, позволяющего выполнять отрисовку в асинхронном режиме с распараллеливанием на многоядерных системах. В настоящее время работа сосредоточена на обеспечении корректной отрисовки в многопоточном режиме, но в будущем ожидается проведение работы по увеличению производительности. В секцию реестра "HKCU\Software\Wine\Direct3D" добавлен новый ключ
"csmt" (REG_DWORD), через который можно включить (0x1) или выключить (0x0, по умолчанию) поддержки многопоточной обработки команд Direct3D;
- Улучшена поддержка применения базовых контекстов OpenGL в Direct3D, которые уже используются по умолчанию для обеспечения работы приложений Direct3D 10 и 11 на системах с графическими картами AMD и Intel, что позволяет при наличии OpenGL-драйверов Mesa обойтись без установки в реестре параметра"MaxVersionGL" для включения Direct3D 10 и 11;
- Увеличено число графических карт, распознаваемых для WineD3D;
-
Графическая подсистема
- В Direct2D реализована поддержка контуров геометрических объектов, кистей с линейными и радиальными градиентами, вычисления границ геометрических объектов, упрощения геометрических объектов;
- Обеспечена совместимость Direct2D с GDI;
- Список поддерживаемых расширений OpenGL обновлён до OpenGL 4.6;
- Частично реализована библиотека GLU (https://en.wikipedia.org/wiki/OpenGL_Utility_Library) (OpenGL Utility Library). Системная библиотека GLU необходима только при использовании системы рендеринга Nurbs, во всех остальных случаях функции GLU предоставляются в Wine;
- В GdiPlus обеспечена обработка графических операций, включающих трансформации;
- В GdiPlus добавлена поддержка воспроизведения большинства специфичных для GdiPlus типов записей metafile, помимо стандартных записей metafile;
- В WindowsCodecs добавлена поддержка кодирования форматов изображений, включающих палитру;
-
Обеспечение работы Wine в окружении платформы Android
- Появилась возможность сборки Wine в виде пакета в формате APK и установки как обычного приложения для Android;
- Подготовлен полноценный графический драйвер (GDI) для Android. Из-за ограничений API Android возможна работа только в полноэкранном режиме;
- Реализован полноценный звуковой драйвер для Android;
- Обеспечена поддержка OpenGL, ограничивающаяся возможностями API OpenGL ES. Direct3D в окружении Android пока не поддерживается, так как не может быть полноценно реализовано поверх OpenGL ES;
-
Ядро
- Заявленная по умолчанию версия Windows поднята до Windows 7;- Реализована полная семантика именованных каналов, включая режим обмена сообщениями для именованных каналов. Обработка именованных каналов теперь целиком производится на стороне сервера Wine;
- Поддержка исполняемых файлов в формате POE (Position Independent Executables), как для исполняемого файла Wine, так как для запуска внешних исполняемых файлов;
- Автоматическое создание устройств для параллельных и последовательных портов (могут быть переопределены через ключ HKLM\Software\Wine\Ports);- Реализован и включен по умолчанию безопасный режим поиска DLL (для отключения следует в разделе реестра HKLM\System\CurrentControlSet\Control\Session Manager установить переменную "SafeDllSearchMode" в 0);- Реализован безопасный режим поиска процессов, который отключен по умолчанию (включается через установку переменной HKLM\System\CurrentControlSet\Control\Session Manager\SafeProcessSearchMode в 1);
- Увеличена производительность асинхронного ввода/вывода, благодаря сокращению числа обращений к серверу;
- На 64-разрядных платформах обеспечена возможность выделения областей виртуальной памяти произвольного размера;
-
Интерфейс пользователя
- Выполнен редизайн курсоров мыши, которые также предложены в более высоком разрешении для экранов с высокой плотностью пикселей (high DPI);- Для экранов с высокой плотностью пикселей адаптированы Shell Explorer, RichEdit и все основные диалоги;
- Для переопределения DPI экрана предложена настройка "LogPixels", доступная в секции реестра "HKEY_CURRENT_USER\Control Panel\Desktop";- В режиме рабочего стола добавлена поддержка более высоких разрешений с различным коэффициентом соотношения сторон;- Реализована панель задач (Task Dialog);- В MSI добавлена поддержка внутреннего интерфейса (IUI, Internal User Interface);- Добавлен режим отрисовки тем оформления с применением двойной буферизации;- В библиотеку TWAIN добавлена поддержка диалога для выбора доступного сканера;
- Добавлена возможность сохранения в OLE Data Cache платформонезависимых битовых карт и metafile;
-
Интеграция с рабочим столом
- В desktop-файлах обеспечена возможность определения поля StartupWMClass для обеспечения привязки к исполняемому файлу Windows;
- Для определения изменений в буфере обмена X11-приложений задействована библиотека Xfixes, вместо периодической проверки буфера;
* В компонент RichEdit добавлена поддержка вставки в форме metafile;
- Добавлена поддержка Progman DDE (компонент с DDE-сервером для Program Manager);
- Активирован по умолчанию HID-сервис для определния устройств с поддержкой PNP;- Для macOS обеспечена поддержка 4 версии протокола вывода уведомлений;
-
Текст и шрифты
- В API Uniscribe добавлена поддержка контекстной замены глифов;- Таблицы символов переведены на использование стандарта Unicode 10;- Поддержка шрифтов приведена к - Обеспечена совместимость со шрифтовым движком FreeType 2.8.1 (https://www.opennet.ru/opennews/art.shtml?num=47217);
-
DirectWrite
- Обеспечена симуляция наклонных и жирных начертаний символов; - Улучшена обработка разрывов строк; - Улучшена отрисовка подчёркиваний- Улучшена поддержка режима работы в оттенках серого; - Улучшена поддержка сглаживания и преобразования шрифтов; - Реализованы методы применения равномерного и пропорционального межстрочного интервала;- Кэш адаптирован для использования в многопоточных приложениях;- Реализована поддержка загрузки файлов шрифтов в память;
-
D3DX
- Улучшена поддержка прешейдеров (preshader);- Добавлена возможность определения в приложениях D3DX 9 движков применения эффектов (ID3DXEffectStateManager);- Реализован пул эффектов для совместного использования параметров между разными эффектами D3DX 9;
-
Сетевые возможности
- В WebServices д...
URL: https://www.winehq.org/news/2018011801
Новость: http://www.opennet.ru/opennews/art.shtml?num=47934