Новое слово в вопросе производительности для игры 2006 года. Переводит рендеринг с устаревшего DirectX 9 на Vulkan, сильно ускоряя Oblivion на подавляющем большинстве современных игровых систем. Важно заметить, что ваша видеокарта должна быть совместима с Vulkan, а в процессе возможны небольшие визуальные странности (относительно редкие).

Vulkan – это технология от AMD, но видеокарты Nvidia со времён микроархитектуры Kepler тоже поддерживают её. 

DXVK можно использовать вместе с MoreHeap, Oblivion Stutter Remover или Oblivion Reloaded Combined, но нет необходимости ставить все три последних одновременно, так как по части менеджмента памяти они выполняют идентичную функцию, с которой Oblivion Reloaded справляется лучше всего.

Требования

Oblivion. Любая версия. Это полностью автономное дополнение, для получения результата вам не потребуется ничего, кроме самой игры. 

Установка

В архиве есть две папки. В одной вариант для работы с ENB, во второй – вариант для обычной игры. Они не отличаются ничем, кроме собственно названия основных библиотек. Выберите тот, который подходит вам, и скопируйте содержимое в корневую папку игры, где лежат exe-файлы.

Про особенности работы с ENB обязательно почитайте ниже, если это актуально для вас.

Удаление

Просто сотрите из корневой папки оба файла – d3d9.dll (или dxvk.dll) и dxvk.conf.

Настройка

Все основные правки в конфигурационный файл внесены, так что беспокоиться вам особо не о чем.

Тем не менее, автор релиза считает необходимым отметить несколько критически важных пунктов, чтобы пользователи имели представление о том, что вообще делает это дополнение (кроме прямого повышения FPS).

Файл настроек DXVK называется dxvk.conf. Его можно открыть в любом текстовом редакторе. Перед каждой неактивной опцией стоит значок решётки. Чтобы включить опцию, вам необходимо просто удалить его, иначе система сочтёт написанное обычным комментарием.

d3d9.samplerAnisotropy. Анизотропная фильтрация. Варьируется от 0 до 16. Подключена. При рендеринге через Vulkan большинство стандартных средств для фильтрации текстур не работает, поэтому необходимо использовать внутренний функционал самого DXVK.

d3d9.evictManagedOnUnlock. Механизм работы с памятью, который делает игру более производительной на современных графических картах. Подключен. Работает в точности как ENBoost, так что последний можете спокойно удалять, больше он вам не понадобится.

d3d9.floatEmulation. Может пригодиться, если во время дождя в вашей игре появляются странные графические артефакты. Отключен. Уберите решётку и поменяйте значение с "Auto" на "Strict". Имеет значение для пользователей большинства версий Oblivion Reloaded.

d3d9.presentInterval. Собственная система вертикальной синхронизации, полностью заменяющая собой оригинальную. Отключена. Значение 0 отключает V-Sync совсем, отрицательное значение не имеет эффекта. Подойдёт любое положительное число.

d3d9.maxAvailableMemory. Первоначальное количество видеопамяти, доступной для обработки текстур (в мегабайтах). Отключена. Значение может быть любым. Например, 4096 или 2048, всё зависит от характеристик вашего PC.

dxvk.hud. Маленькое приятное дополнение, которое позволяет элементам интерфейса DXVK отображаться на экране. Отключено. Значение "compiler" даёт возможность увидеть момент компиляции шейдеров, значение "fps" отображает счётчик кадровой частоты. Подробнее см. в секции HUD на странице GitHub

Совместимость с ENB

Откройте свой файл enblocal.ini. В случае The Elder Scrolls IV он, скорее всего, будет называться просто enbseries.ini. В самом его начале будет раздел, который выглядит примерно так:

[PROXY]
EnableProxyLibrary=false
InitProxyFunctions=false
ProxyLibrary=d3d9.dll

Поменяйте все три строчки соответственно, чтобы результат выглядел таким образом, как показано ниже:

[PROXY]
EnableProxyLibrary=true
InitProxyFunctions=true
ProxyLibrary=dxvk.dll

Это позволит DXVK беспрепятственно работать вместе с ENB. Однако есть нюанс, о котором стоит помнить. В том случае, если в ProxyLibrary подключен файл вроде d3d9_smaa.dll, вам придётся заменить его. Альтернативных способов, к сожалению, не имеется.

Если вам очень важно получить те же самые эффекты, которые даёт SMAA от ENB, можете попробовать обратиться к ReShade. Только не забудьте, пожалуйста, использовать его в режиме совместимости с Vulkan.

Благодарности | Credits

doitsujin for dxvk
Sporif for dxvk-async

Загрузил:
Кафкa
37

Комментарии

Добавить комментарий

очень любопытно и многообещающе. установил, игра запускается, вроде даже быстрее, но пока не уверен.

dizzy, в моей игре получился прирост на 10-15 кадров минимум (около святилища Молаг Бала в Великом лесу). Было 30, стало 45-50. В портах Анвила и Имперского города игра больше не тормозит. Портовая архитектура стандартная, без Better Cities. Но мой сетап модов и так очень громоздкий, стоит ENB и множество тяжелых текстур. Эффект довольно индивидуален и зависит как от загруженности самой игры, так и от системы пользователя, но какой-то эффект, тем не менее, есть всегда.

На 1060 в тяжелой локации прирост составил ~15 fps. Это очень хороший результат. Но больше всего обрадовало, что стала корректно работать многопоточность. Все 4 ядра загружены примерно одинаково. В dxvk.conf понизил анизотропную фильтрацию до 8, а в OR (верс. 6.4) ее отключил. Попробовал отключить в OR и MemoryManagement (вроде как он теперь не нужен) но загрузка ядер прошла пошла неравномерно (интересно почему?). Включил обратно - все нормально...
Единственная проблема - это крашится CSE. При запуске нужно будет переименовывать d3d9.dll, но то мелочи.
Подскажите, нужно ли удалять MoreHeap? На нексусе говорят, что он тоже уже не нужен.

Kub, я не в курсе насчёт всех технических подробностей, однако читала, что OR и DXVK различным образом контролируют память, так что в результате они скорее дополняют, а не исключают друг друга. Я играю с HeapMode 6 и HeapSize 896, полёт отличный.

При запуске нужно будет переименовывать d3d9.dll, но то мелочи.

Такая же проблема, если стоит ENB. Обычно просто переношу dll на рабочий стол. Кладу обратно, как только CSE запускается. Иногда мешает, но я редактором не так часто пользуюсь, так что не критично.

Подскажите, нужно ли удалять MoreHeap? На нексусе говорят, что он тоже уже не нужен.

В MoreHeap действительно нет нужды, тем более, что у вас есть Oblivion Reloaded. Они делают одно и то же, но при этом OR делает это лучше, чем MoreHeap или OSR, перегруженный лишним функционалом. OR Combined, кстати, можете попробовать, на него есть ссылка в самом начале страницы. Очень стабильная версия, совсем недавно вышла.

если у меня ноут 4096 озу, подскажи что ставить, есть два мода на катаны они конфликтовать не будут?

syntax1337, ну, вы можете просто поставить всё в том порядке, как показано на страничке. В d3d9.maxAvailableMemory есть смысл вписать количество видеопамяти (то есть именно графической, не оперативной), как я поняла из описания в конфигурационном файле. И нет, конфликтовать DXVK с плагинами в самой игре не может и не будет. Максимум может потребоваться совместимость с ENB наладить, а так всё окей!

Кафкa, спасибо за ответ

Видел эту штуку еще на Нексусе. Не знаю в чем причина но у меня она вообще не работает. Игра крашится при запуске.
Стоят MoreHeap и Oblivion Stutter Remover, без них пробовал, не помогает. Пробовал подключать-отключать настройки в ини, тоже без изменений. Вроде все делаю по инструкции, в чем причина загадка.
Правда без ЕНБ не пробовал но мне без ЕНБ и ненадо, возможно причина в несовместимости с моим ЕНБ пресетом или в модах, хотя как понимаю эта штука с модами никак не контактирует. В любом случае если у кого была аналогичная ситуация и удалось выяснить ее причину было бы интересно ее узнать.
Карта у меня GTX 960, вроде Вулкан должна поддерживать.
За мод в любом случае спасибо. =)

Rian, хм, очень странно. А вы раздел [PROXY] редактировали же, как полагается? А вообще пожалуйста, я редко выкладываю файлы, но эта вещь слишком ценна, чтобы её игнорировать.

Rian, схожая ситуация. При первом запуске игра вылетела. Потом понизил анизотропную фильтрацию и указала точное значение видеопамяти - запустилось. Но особого прироста не выявила. ЕНБ сейчас не пользуюсь. Для улучшения производительности в текущей сборке использовала только (кажется) 4GB RAM PATCHER:
tesall.ru/files/modi-dlya-oblivion/programmi-i-instrumenti/11550-utilita-dlya-obrabotki-4-gb-operativnoi-pamyati-v-osn-igre-tolko-2-gb

Кафкa, огромное спасибо, что выложили!!!
Да, сейчас эффект не увидела, но в следующей сборке вполне вероятно попробую снова)

Спасибо.
Слышал, что Сталкеру это также помогает.

Вроде-б было такое на Фоллаут Новый Воронеж, но не все поняли суть мода и как установить. Но подойти должно.

Мод подходит и на другие игры, включая Фолыч. Но вот у меня после установки мода начали мерцать тени и туман. Но ФПС повышает, правда.

Скажите, пожалуйста, нужно ли перед установкой этого мода устанавливать (в смысле, пропатчить файл Oblivion.exe) 4gb Ram Patcher?

Vittard, патчер для текстур скорее, он позволяет использовать больше памяти, то есть важен в любом случае, но конкретно данная вещь его не требует. Всё необходимое указано в описании! :3

Обнаружился баг, не знаю, индивидуальный ли...Файл d3d9.dll из этого приложения блокирует отображение лиц НПС в обливионском TES Construction Set. Приходится перемещать файл в другую папку, чтобы работать с приложением.

piramis, с ENB похожая история, плюс TES CS Extender вообще не открывается, если d3d9.dll лежит в папке игры (появляется окошко с предупреждением). Насколько я знаю, там нет иных способов лечения, кроме временного удаления d3d9.dll из папки. Переименование тоже помогает.

Отличная штукенция, как-то всё стало более плавненько и гладенько :) Спасибо :)

помогите кто нибудь, купил ноут 8гб озу проц i7-8550u 1.99ghz, и видюха нвидиа 940мх 2гб, в обливионе 40-60 фпс, видюха нагружена на 10-15%, это так и должно быть? вроде норм сборка а обла лагает, если кто-то что-то знает подскажите, может что-то с видюхой не так, просто в hl2 на максималках 60 а если отключить верт. синх. то под 90, подскажите может что в панели управления нвидиа что-то подкрутить

Спасибо за такое чудо игра гораздо лучше идет

Всегда пожалуйста.

Доброго времени суток! Скажите, а если в настройках ENB стоит строчка ProxyLibrary==SweetFX_d3d9.dll. Как переименовать и надо ли?

Arica, здравствуйте! Придётся пожертвовать частью эффектов и отказаться от SweetFX, к сожалению, заменив строчку на ProxyLibrary=dxvk.dll. Насколько я знаю, альтернативного варианта нет, но игра и так должна выглядеть достойно (я использую связку Oblivion Reloaded + Cinematic ENB, в итоге всё и летает, и смотрится божественно).

Спасибо, огромное за ответ.

Комментарий похищен злыми рептилоидами

кафка может быть вы мне поможете, я установил данную конфигурацию и моя видеокарта стала работать на 100% и 50% видеопамяти(раньше 3% видеопамяти было задействовано), но появился какой-то фпс лок чтоли, т.к выше 30 фпс не поднимается, в меню 60 фпс, но в самой игре 30 с просадками, также процессор работает на 2%, конфигурация моего ноутбука: nvidia geforce 940mx 2 gb, intel core i7 8550u 1.99 ghz 4 ядра,
8gb ram, очень жду помощи от вас

Привет. Прошу прощения за поздний ответ. :3 Не подскажу насчёт видеокарты, но конкретно DXVK не должен врубать ограничение на кадровую частоту – ну, сам по себе. Возможно, он конфликтует с чем-то ещё, что у вас установлено. У меня сейчас стоит DXVK и Oblivion Reloaded Combined, без ENB, SweetFX, ReShade или чего-то подобного, в большинстве зон поддерживается 50-55 кадров в секунду. Я даже не уверена, что в параметры DXVK встроен какой-либо лок FPS, обычно за него отвечают сторонние OBSE-плагины или ENB.

спасибо, поищу что может мешать

Подскажите пожалуйста, эта версия последняя? На нексусе плагина нет, а где оригинал базируется сейчас найти не смог.

I'mACactus, вроде как нет.Быстрый поиск в гугле выдал гитхаб с версией 2.0 от 10 ноября.Предполагаю что это,как бы расширение драйверов для всех игр на базе 9 10 и 11 дирек икса,а не конкретно для облы.Так что по идеи можно качать 2.0 и так же для облы использовать(хотя нигде там в описании не написано для каких конкретно игр оно).Почему с нексуса удалили,хз.Всё таки вещь самопальная,может от неё видяхи горели или она фоном для китайцев майнила xD

Sinder, премного благодарен, не додумался просто погуглить, только с облой. От данной версии через пару часов отказался, появились разрывы изображения, пропуски кадров и графические артефакты. Посмотрю как еще гитхабовская работать будет.

Это не оригинал, а пропатченная асинхронная версия, которая конкретно в обливионе значительно меньше тормозит. Уже есть версия 2.1, но не пропатченная и которая из-за этого тормозит в разы сильнее старой 1.10.1. На гитхабе есть пропатченная версия 2.0 в которой значительно улучшена многопоточность github.com/Sporif/dxvk-async/releases. Из архива нужно взять 32-разрядную версию d3d9.dll. Теперь игра в сложных местах сильно нагружает все ядра процессора, а не одно как раньше. Файл dxvk.conf нужно взять отсюда github.com/doitsujin/dxvk/blob/6188ffa23a87ca9f96572a01abf82668329ef838/dxvk.conf и добавить в самом начале строку, которая включает асинхронность: dxvk.enableAsync = True. Также dxvk старается максимально снизить нагрузку на CPU и RAM, перераспределив её на видеокарту, но если у вас пропатченная на 4гб версия обливиона, то с помощью новой опции d3d9.textureMemory можно заставить dxvk не экономить на оперативной памяти, по максимуму нагружая и её и видеокарту. Нужно поставить максимальное значение в МБ при котором игра не будет вылетать, но так чтобы игра все еще съедала меньше 4 гб.

Joanit, вы чудо, спасибо огромное.
Можете ещё поделиться вариантами d3d9.textureMemory, которые для вас точно работают, если не сложно? Я пока попробовала несколько, вроде бы очень нормально, но услышать альтернативы всё равно было бы здорово.

Кaфка, у меня 8 гб оперативы, 1280 максимум, при 1536 уже вылетает.

Кстати относительно редкие визуальные баги вроде мигания текстур/частичного их исчезновения и быстрого появляния связаны именно с функцией асинхронности dxvk.enableAsync. Когда она отключена этих багов нету, но тогда фпс сильно проседает. Если у кого есть желание можете набежать в ветку багов на страницу автора github.com/Sporif/dxvk-async/issues и нажаловаться, только через гугл переводчик пропустите, может в следующей версии исправит.

Комментарий украден НЛО

Почитал комментарии - у всех вроде работает. У меня не заводится. Никак. Ни с 2.0, ни то, что с Tesall скачивается.
Видео ATI (R7 360). Вроде должно работать "из коробки". Но не только игра не заводится, но даже лаунчер не дает войти в "настройки", если добавляю d3d9.dll в папку с игрой.
То ли что-то не так делаю, то ли лыжи не той системы?

jpsmith, Доброго времени суток, какая ошибка выходит?

Arica, как узнать?
У меня запуск игры через obse. Т.е. на короткое время появляется черное окошко (буквально на секунду) и исчезает.
Если запускаю штатный лаунчер, он заводится, но кнопка "Настройки" тупо не реагирует на нажатия.

p.s. "Если Вы толкнули дверь, а она не открылась, попробуйте потянуть ее на себя!"
Попробовал запустить сам Oblivion.exe. Вылетело "Failed to initialize renderer. GetAdapterDesc() failed."
Почитал, что пишут в Интернетах по этому поводу.
Действительно, помимо основной видеокарты, есть еще встроенная (ее отключение не помогло).
DirectX недавно обновлял. Безрезультатно (нечего было обновлять).

jpsmith, ты используешь енб? Если да, то тебе нужно временно удалить свой енб. скачать enbseries_oblivion_v0181, нужна именно инжектор версия. Установишь в папку с игрой. Дальше
открываем enbinjector.ini, видим там ProcessName0=FalloutNVLauncher.exe, вместо фолаута пишем 1 OblivionLauncher.exe, 2 Oblivion.exe, 3 Obse_loader. exe. Сохраняем. дальше запускаем ENBInjector.exe и входим в игру через обсе. Ошибка должна пропасть. Если что-то не понятно спрашивай.

Arica, не использую.
Хотя пробовал подсунуть игре и версию для ENB.

Могу ошибаться (уж очень много времени прошло), но, по-моему, когда я еще устанавливал игру первый раз (это было лет 10 назад), в папке с "экзешниками" уже был файл d3d9.dll. И "чистая", только что установленная игра не завелась. Почитал советы в Интернете, в том числе "удали d3d9.dll", попробовал - получилось.
Может, и правда есть комбинации "железа" + ОС, которые в принципе не будут работать при наличии d3d9.dll?

jpsmith, Вполне возможно, современное железо, не очень любит 8 и 9 директс, Ведь в требованиях к чистой игре именно 8. Главное запустилось.)

Большое спасибо за заплатку, она спасла мой Oblivion от очередной пересборки. Были сплошные вылеты в рандомных местах, просто при пешем путешествии. Скорее всего, помогла замена файла d3d9.dll

Вроде заработало! Была проблема с ini файлами самой игры (в папке MyGames/Oblivion). Удалил их, игра создала ini заново при запуске лаунчера и всё заработало.

Старый автор Sporif забил на разработку DXVK Async, поддержкой проекта занимается Ph42oN: уже есть версия 2.3.1-1 (заходить через VPN): gitlab.com/Ph42oN/dxvk-gplasync/-/releases
Тоже самое- из архива нужно взять 32-разрядную версию d3d9.dll и положить в папку с игрой. Файл dxvk.conf: disk.yandex.ru/d/Qh-OX1oLLxjQpw
В строке dxvk.numCompilerThreads желательно указать количество ядер процессора, включая логические. По ощущениям просадки фпс уменьшились, в MSI Afterburner видно, что нагрузка на ядра ЦП стала практически равномерной.

Залил d3d9.dll на яндекс:
disk.yandex.ru/d/6kno4glcBo_0HQ

Смог запустить эту штуку у себя (раньше не получалось, была неподходящая версия драйвера).
Но так и не увидел хоть сколько-то заметной разницы между DirectX и Vulkan.
На открытых пространствах FPS практически одинаковый и редко превышает 30, в пещерах/фортах поднимается до 60-80.
Как с этим модом, так и без него видеокарта (R7 360) нагружена процентов на 30-40% (трудно определить, график загрузки похож на зубья пилы, от 0 до 100% скачет), в процессоре загружены все 4 ядра, а не одно (и тоже процентов на 30 только).
Типа теста: от ворот Скинграда побежал (строго по дороге) в сторону Анвила. Чисто субъективное мнение: с Vulkan-ом, похоже, чуточку быстрее, но есть моменты, когда картинка замирает, хоть и ненадолго (доли секунды). С D3D9 все плавно, никаких замираний не увидел.

Авторизуйтесь, чтобы оставить новый комментарий. Или зарегистрируйтесь.