Некий товарисч накодил способ запуска GW2 через DX12 и сообщает о приросте фпс в ~33%.
Оставляю ссылку на тему на реддите.
И Ридмик на русском:
d912pxy - "DirectX9 to DirectX12 API proxy for Guild Wars 2"
-Что делает эта штука?
-Позволяет играм, которые используют DirectX9, использовать DirectX12 без изменений в игровом коде.
К таким играм относится и Guild Wars 2, для которой и написана данная библиотека. Можете попробовать использовать эту библиотеку в других играх, возможно она будет работать.
Этот проект ещё не завершен и находится в стадии альфа тестирования, возможны зависания, ошибки и вылеты!
[![Build status](https://ci.appveyor.com/api/project...ttps://ci.appveyor.com/project/megai2/d912pxy)
# Результаты
Тестирование показывает, что дополнительные расходы при работе с d912pxy до 70% меньше, чем при работе с обычным DirectX9.
Реальная производительность зависит от сцены и от железа!
Например для локации Mistlock Sanctuary в Guild Wars 2 на i7-7700/GTX960, результаты такие:
```
@6.3k batches, all max, 1080p
dx9
min FPS: 5,5
max FPS: 21,5
dx12
min FPS: 17,6
max FPS: 26,6
boost:
min FPS: +220%
max FPS: +23%
```
DX12:
https://cdn.discordapp.com/attachments/477036595019644928/524540609105756160/unknown.png
DX9:
https://cdn.discordapp.com/attachments/477036595019644928/524541036626837504/unknown.png
# Требования
Windows 10, Видеокарта с поддержкой DirectX12, конкретно 12.1 feature level и 3+ Gb VRAM.
16 Gb системной памяти
(будет изменятся по мере оптимизации)
# Как использовать
1. Рекомендуется: Установите поле "Resolution" в настройках графики в "Fullscreen windowed"/"Windowed"
2. Выключите все оверлеи/аддоны
3. Скачайте последний доступный релиз [ссылка](https://github.com/megai2/d912pxy/releases/)
4. Распакуйте архив в папку с игрой, так чтобы папка d912pxy находилась в корневой папке игры.
6. Запустите игру
# Как удалить
1. Удалите d3d9.dll из папки bin64
2. Удалите папку d912pxy
3. Готово
# Извесные проблемы
-Функция скриншотов не работает
# Решение проблем
## Случай 1
Мир долго прогружается, прогружается по частям.
**Решение**
d912pxy загружает шейдеры асинхронно, т.к. невозможно эффективно загружать шейдеры сразу.
Такой подход может создать некоторые графические ошибки, но с другой стороны более эффективен по производительности.
## Случай 2
Игра вылетает, зависает.
**Решение**
Не обращайтесь в техподдержку игры, если установили d912pxy!
Если игра падает без d912pxy, не спрашивайте об этом здесь, т.к. d912pxy не делает модификаций в игровых файлах.
Удостоверьтесь, что игра работает без d912pxy.
Далее обновите графические драйвера и обновите DirectX9!
(ссылка на установку dx9 https://www.microsoft.com/ru-ru/download/details.aspx?id=34429)
Если проблема не решена, напишите о ней на github вместе со следующей информацией:
1. Лог файл из папки P7logs
2. Crash.dmp и d912pxy_crash.txt если он у вас появился
Если вас попросят запустить дебаг версию, следуйте данной инструкции:
0. Дебаг версия записывает огромное количество данных, не запускайте её надолго!
1. Скачайте и установите Release_d версию [ссылка](https://github.com/megai2/d912pxy/releases/)
2. Запустите игру, повторите ошибку.
3. Отправьте лог файл и Crash.dmp на github
## Случай 3
Ошибки в графике
**Решение**
1. Скачайте и установите Release_ps версию [ссылка](https://github.com/megai2/d912pxy/releases/)
2. Запустите игру, повторите найденную ошибку в графике.
3. Удалите файл d912pxy/pck/shaders_cso.pck
4. Установите обычную версию.
5. Запустите игру заново. Подождите пока шейдеры перекомпилируются, т.к. это займет значительное время.
6. Если ошибка не исправлена, напишите о ней на github вместе с описанием того, как данную ошибку повторить.
Оставляю ссылку на тему на реддите.
И Ридмик на русском:
d912pxy - "DirectX9 to DirectX12 API proxy for Guild Wars 2"
-Что делает эта штука?
-Позволяет играм, которые используют DirectX9, использовать DirectX12 без изменений в игровом коде.
К таким играм относится и Guild Wars 2, для которой и написана данная библиотека. Можете попробовать использовать эту библиотеку в других играх, возможно она будет работать.
Этот проект ещё не завершен и находится в стадии альфа тестирования, возможны зависания, ошибки и вылеты!
[![Build status](https://ci.appveyor.com/api/project...ttps://ci.appveyor.com/project/megai2/d912pxy)
# Результаты
Тестирование показывает, что дополнительные расходы при работе с d912pxy до 70% меньше, чем при работе с обычным DirectX9.
Реальная производительность зависит от сцены и от железа!
Например для локации Mistlock Sanctuary в Guild Wars 2 на i7-7700/GTX960, результаты такие:
```
@6.3k batches, all max, 1080p
dx9
min FPS: 5,5
max FPS: 21,5
dx12
min FPS: 17,6
max FPS: 26,6
boost:
min FPS: +220%
max FPS: +23%
```
DX12:
https://cdn.discordapp.com/attachments/477036595019644928/524540609105756160/unknown.png
DX9:
https://cdn.discordapp.com/attachments/477036595019644928/524541036626837504/unknown.png
# Требования
Windows 10, Видеокарта с поддержкой DirectX12, конкретно 12.1 feature level и 3+ Gb VRAM.
16 Gb системной памяти
(будет изменятся по мере оптимизации)
# Как использовать
1. Рекомендуется: Установите поле "Resolution" в настройках графики в "Fullscreen windowed"/"Windowed"
2. Выключите все оверлеи/аддоны
3. Скачайте последний доступный релиз [ссылка](https://github.com/megai2/d912pxy/releases/)
4. Распакуйте архив в папку с игрой, так чтобы папка d912pxy находилась в корневой папке игры.
6. Запустите игру
# Как удалить
1. Удалите d3d9.dll из папки bin64
2. Удалите папку d912pxy
3. Готово
# Извесные проблемы
-Функция скриншотов не работает
# Решение проблем
## Случай 1
Мир долго прогружается, прогружается по частям.
**Решение**
d912pxy загружает шейдеры асинхронно, т.к. невозможно эффективно загружать шейдеры сразу.
Такой подход может создать некоторые графические ошибки, но с другой стороны более эффективен по производительности.
## Случай 2
Игра вылетает, зависает.
**Решение**
Не обращайтесь в техподдержку игры, если установили d912pxy!
Если игра падает без d912pxy, не спрашивайте об этом здесь, т.к. d912pxy не делает модификаций в игровых файлах.
Удостоверьтесь, что игра работает без d912pxy.
Далее обновите графические драйвера и обновите DirectX9!
(ссылка на установку dx9 https://www.microsoft.com/ru-ru/download/details.aspx?id=34429)
Если проблема не решена, напишите о ней на github вместе со следующей информацией:
1. Лог файл из папки P7logs
2. Crash.dmp и d912pxy_crash.txt если он у вас появился
Если вас попросят запустить дебаг версию, следуйте данной инструкции:
0. Дебаг версия записывает огромное количество данных, не запускайте её надолго!
1. Скачайте и установите Release_d версию [ссылка](https://github.com/megai2/d912pxy/releases/)
2. Запустите игру, повторите ошибку.
3. Отправьте лог файл и Crash.dmp на github
## Случай 3
Ошибки в графике
**Решение**
1. Скачайте и установите Release_ps версию [ссылка](https://github.com/megai2/d912pxy/releases/)
2. Запустите игру, повторите найденную ошибку в графике.
3. Удалите файл d912pxy/pck/shaders_cso.pck
4. Установите обычную версию.
5. Запустите игру заново. Подождите пока шейдеры перекомпилируются, т.к. это займет значительное время.
6. Если ошибка не исправлена, напишите о ней на github вместе с описанием того, как данную ошибку повторить.