The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Стабильный релиз Wine 9.0"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для слежения за появлением новых сообщений в нити, нажмите "Проследить за развитием треда".
. "Стабильный релиз Wine 9.0" +1 +/
Сообщение от Zenitur (ok), 18-Янв-24, 01:30 
> В Direct3D 10 реализована поддержка дополнительных эффектов.
> В классический бэкенд шейдеров OpenGL ARB добавлена поддержка определения теней при помощи расширения ARB_fragment_program_shadow.

Расскажу про свой опыт использования бэкенда шейдеров ARB.

В 2012 году я начал играть под Wine в игры, в которых было много шейдеров: Skyrim, StarCraft 2 и Portal 2. Была проблемка с фризами, которая решилась, как только я переключился с шейдеров GLSL - на ARB. Драйвер NVIDIA.

Если осуществлять трансляцию шейдеров HLSL в GLSL, то будет высокая совместимость. Не важно, какой у тебя драйвер: NVIDIA, ATi или Intel - игра будет одинаково работать на каждом из этих драйверов. А если транслировать в ARB - есть вероятность, что у тебя заработает больше игр. Так как трансляция высокоуровневого в низкоуровневое даётся разработчикам Wine просто. А вот высокоуровневое в высокоуровневое - сложно.

Так и живём. На NVIDIA можно смело включать трансляцию в ARB вместо GLSL, так как разработчики тестируют WINED3D в первую очередь на NVIDIA. На остальных картах - бывает, что ARB лечит игры, делая их работу лучше. А бывает что наоборот. Поэтому лучше оставить GLSL (включая ARB лишь иногда, чтобы узнать, как с ним ведёт та или иная игра, стало ли лучше или нет).

Игра Сталкер, например. На драйвере Catalyst (fglrx) при обновлении дров с 9.3 на 9.4 (2009 год, прикиньте), стала подклюкивать трава. А в какой-то момент, при обновлении Wine с версии 2.21 до версии 5.0 (это уже недавно), драйвер fglrx стал неюзабелен. Подозреваю, что из Wine удалили код для fglrx в связи с его устареванием. Хотя, может просто регрессия.

И есть один нюанс. Включать ARB стоит только если вы запускаете DirectX 9.0c игру (или для более старого DirectX). Если у вас DX10-игра или новее, то трансляция HLSL в ARB не будет работать. Причина в том, что ARB-шейдеры - это максимум OpenGL 2 (а это уровень Direct3D 9).

Так значит, надо держать в уме, что DX9-игру лучше всего запускать в ARB-режиме, а DX10 - в GLSL? Ну, на самом деле нет. DX10 не работает в Wine в принципе, ни с ARB, ни с GLSL. DX10 работает в DXVK работает, а в WINED3D - нет. WINED3D поддерживает DX10 и 11 лишь в зачаточном состоянии.

Поэтому я на своей NVIDIA Fermi (на которой нет Vulkan) прописал ARB, чтобы играть исключительно в DX9-игры, и не играть в DX10-игры. А на Kepler (на которой есть Vulkan) я установил DXVK, чтобы играть в DX9, 10 и 11-игры.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Стабильный релиз Wine 9.0, opennews, 17-Янв-24, 12:26  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру