Guild Wars 2 на DirectX 12 вместо DirectX 9.

DarkMonk

Мембер GW2
Сообщения
198
Реакции
124
Награды
20
Возраст
37
  • Heavy Envoy Set
  • Warbringer
  • Nevermore
  • The Binding of Ipos
  • Xiuquatl
  • Twilight
  • Ad Infinitum
  • Astralaria
  • HOPE
  • Sunrise
  • Howler
  • Rodgort
  • The Bifrost
  • The Juggernaut
  • Bolt
  • The Predator
  • The Flameseeker Prophecies
  • Kamohoali Kotaki
Некий товарисч накодил способ запуска 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 вместе с описанием того, как данную ошибку повторить.
 

Solmir

Chain Lightning Master
Офицер GW2
Сообщения
1,809
Реакции
567
Награды
17
  • Incinerator
  • The Bifrost
  • Bolt
  • The Juggernaut
  • Meteorlogicus
  • Howler
  • Kraitkin
  • Nevermore
  • Eureka
  • The Binding of Ipos
  • The Shining Blade
  • Light Envoy Set
  • Ad Infinitum
  • Warbringer
  • Aurora
  • Conflux
Если кто попробует на собственном опыте, отпишитесь плиз.