LINUX.ORG.RU
Ответ на: комментарий от xDShot

Там графики картинки глянь и удивишься почему FarCry5 в windows 10 при хорошой картинке выдает практически в 2 раза меньше fps.

mx__ ★★★★★
() автор топика
Последнее исправление: mx__ (всего исправлений: 1)

Были же какие то тесты где dxvk выдавал больше fps чем нативный directx12 в виндоуз. И по этому поводу виндузятники вроде как пытаются вкрячивать dxvk в виндоуз для некоторых игр. Без ссылок потому что лень, читал где то на реддит.

Jameson ★★★★★
()
Ответ на: комментарий от Jameson

Только не 12, а 11 директ, для 12 vkd3d. А вообще правда - та же eve в 8-10 окон на винде у меня идет «удовлетворительно», а в линуксе все отлично.

izmena ★★
()

Хм. Это только для AMD или на nvidia тоже есть заметное увеличение fps?

x3al ★★★★★
()
Ответ на: комментарий от izmena

Ага там по графикам тоже почему то dx11 в винде. Хз почему, может ФК5 dx12 не работает …

mx__ ★★★★★
() автор топика
Ответ на: комментарий от mx__

Полагаю из-за чудесной особенности кеширования шейдеров у dxvk.

xDShot ★★★★★
()
Ответ на: комментарий от mx__

Ага там по графикам тоже почему то dx11 в винде. Хз почему, может ФК5 dx12 не работает …

Могу ошибаться, но разработчики тогда решили отказаться от dx12.

dx11 часто уступает по производительности dxvk, особенно при сравнении на адм-шных карточках.

с dx12 под виндой тоже не всё гладко. Там остро встает проблема компиляции шейдеров, которую привыкли обходить под линуксом костылями. Из-за чего тот же елден ринг под виндой идет с рывками.

altwazar ★★★★
()

Обычно, когда наоборот, то виноваты кривые разрабы, которые выкатывают наколенное поделие, но это другое 😁

chenbr0
()
Ответ на: комментарий от chenbr0

Вон вроде Тотал3 вышел под линух. Вот бы его с нативным через dxvk проверить :)

mx__ ★★★★★
() автор топика
Ответ на: комментарий от altwazar

Могу ошибаться, но разработчики тогда решили отказаться от dx12

Приятель занимающийся геймдевом говорит что разница между dx11 и dx12 фундаментальная. И «переход» с dx11 на 12 невозможен, нужно полностью переделывать и переписывать движок. По затратам это сравнимо с переходом на Vulkan. Ещё он говорит что трансляция dx11 в Vulkan действительно может быть быстрее чем нативная реализация, за счёт более продвинутой архитектуры Vulkan и более «умного» взаимодействия с железом через поддерживающие Vulkan драйверы. А вот с трансляцией dx12 уже не так очевидно, так как на низком уровне реализации используются схожие с Vulkan методы работы с железом.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)

Пффф. Под Линукс есть одна онлайн игрушка, разработчики которой умудрились написать её так, что она регулярно перестаёт работать при обновлении kernel. Обновилоось ядро? Игра не работает? И не заработает до следующего обновления ядра. Да и тогда не факт.

Usruser
()

Уже выяснили, они используют одинаковый набор эффектов или в Винде просто больше всего рисуется и поэтому ниже фпс?

Im_not_a_robot ★★★★★
()
Ответ на: комментарий от Im_not_a_robot

Да поди все намного проще. Слишком много сервисов (телеметрии и тд) в винде пашуть ;)

mx__ ★★★★★
() автор топика
Ответ на: комментарий от Jameson

А вот с трансляцией dx12 уже не так очевидно, так как на низком уровне реализации используются схожие с Vulkan методы работы с железом.

С dx12 бывает другая забавная ситуация. Компиляция шейдеров вызывает фризы в играх и трансляция в вулкан в этом плане сама по себе ничего не даёт. Но для вулкана были созданы костыли, которые позволяют обойти проблему, типа раздачи готовых шейдеров стимом и компиляция перед запуском игры. Из-за чего и dx12 игры порой идут под линуксом лучше.

altwazar ★★★★
()
Ответ на: комментарий от altwazar

С dx12 бывает другая забавная ситуация. Компиляция шейдеров вызывает фризы в играх и трансляция в вулкан в этом плане сама по себе ничего не даёт. Но для вулкана были созданы костыли, которые позволяют обойти проблему, типа раздачи готовых шейдеров стимом и компиляция перед запуском игры. Из-за чего и dx12 игры порой идут под линуксом лучше.

Да, это так. А с другой стороны, читал что транслятор пока не умеет в динамическое освобождение памяти, и из за этого во многих dx12 игрушках видеопамять «течёт» при работе через vkd3d. Обладателям топовых видюх с большими объёмами памяти на борту это не сильно мешает, а вот те у кого восемь и менее гигов видеопамяти сталкиваются. Лично у меня ПЕЧ1660СУПИР с шестью гигами, и я замечаю что Киберпанк например подтекает, приходится перезапускать движок после нескольких часов игры.

Jameson ★★★★★
()
Ответ на: комментарий от mx__

dx12 оно. Онли. Они с Микрософт эксклюзивно законтрактились, поскольку были одними из первых кто заявил о разработке движка на dx12. Типа флагманский движок, раскроющий весь потанцевал dx12. Ну, они тогда обещали обильно и много.

Jameson ★★★★★
()

Выглядит очень странно, как какая-то аномалия.

В других тестах такого не наблюдается.

fornlr ★★★★★
()
Ответ на: комментарий от mx__

Согласен в 2 раза это уже перебор.

Угу, это странно. Такое видел только в dx9 играх (в gw2 через dxvk под виндой играли даже, чтобы фпс приемлемый получить).

altwazar ★★★★
()

В лине tez kota poperdolilo. Вертикальная синхра не работает

DumLemming ★★☆
()
8 апреля 2024 г.
Ответ на: комментарий от Im_not_a_robot

Скорее всего в этом и дело, часть отрисовки просто отбрасывается т.к. не поддерживается

nebularia ★★★
()
Последнее исправление: nebularia (всего исправлений: 1)

Короче сказки не рассказывайте. Windows это first-class платформа для ПК, все оптимизации и игр и драйверов идут под неё. Эмуляция (даже такая высокоуровневая, как Wine/DXVK) не может быть быстрее оригинала. Без использования трюков, типа игнорирования каких-то вызовов, какие эмулятор не поддерживает. Или например нерабочего VSync - в статье FPS на Windows как раз крутится около 120, что как бы намекает.

nebularia ★★★
()
Ответ на: комментарий от nebularia

Эмуляция и трасляция это разные вещи … Хз, есть статья с цифрами. Будет другая статья с цифрами то без проблем. А пока это просто слова.

mx__ ★★★★★
() автор топика
Ответ на: комментарий от mx__

В статье не представлено видео сравнение. Вообще никаких пруфов, только циферки.

Так что то, как работает на линуксе вполне может по факту быть эквивалентом более низких настроек под виндой за счёт нерабочих эффектов. И с VSync вопрос не раскрыт.

Короче не верьте в сказки XD

nebularia ★★★
()
Ответ на: комментарий от nebularia

Это не эмуляция. Быстрее быть может, потому что изначально видеокарта была недогружена из-за говнокода в старых апи и движке игры.

anonymous
()

Хотя конечно заглушки и неотрисовку части графона/ухудшение качества никто не отменял.

anonymous
()
Ответ на: комментарий от anonymous

Хотя конечно заглушки и неотрисовку части графона/ухудшение качества никто не отменял.

Легенды и мифы какие-то. Есть пруфы для DX12/Vulkan?

anonymous
()
Ответ на: комментарий от anonymous

Например у меня в одной игре графические артефакты через dxvk.

anonymous
()
Ответ на: комментарий от anonymous

Есть пруфы для DX12/Vulkan?

Вот, например, в том видео, ссылку на которое я давал выше, можно заметить, что DX9 криво передал воду, а реализация DXVK (Vulkan) эту воду исправила.

В обратную сторону это, очевидно, тоже работает. Наверняка найдутся игры, где на DXVK будут какие-то косяки в сравнении с DX. Например, нечто подобное: Linux непригоден для просмотра котиков

dennet
()
Ответ на: комментарий от nebularia

Не неси бред пожалуйста. Во первых WINE это «WINE IS NOT EMULATOR» он прям так и называется. Так что в этом контексте забудь про слово эмуляция и не срамись. Но да ладно допустим ты просто так к слову сказал. Но всё же дополню WINE это реализация Windows API ,также как например на линуксе есть реализация POSIX API или OpenGL API никакой разницы.

Теперь по поводу трансляции из одного API в другое. Тут опять же когда ты пишешь print() ты используешь API своего языка которое транслируется на системное API. Питон, жава, луа, прочие, трансляция вызовов везде куда не плюнь. Сама по себе трансляция это не что-то эдакое это то что везде и всюду и без чего вообще ничего не работает нигде и никогда за исключением голой сишечки писечьки (и то даже тут есть прослойки на уровне libc-ядро)

Вместо выполнения инструкции напрямую её надо преобразовать.

Преобразовывать ничего не надо, но вот вызывать лишний раз функцию надо и то не всегда. Смысл существования DXVK в том что он экономит такты процессора так что накладные расходы на трансляцию одного API в другое ничтожны.

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

К примеру выделение VBO в директикс например 1миллион тактов, трансляция выделения VBO из директикс в вулкан 300 тактов, выделение VBO на вулкане 50000 тактов и получаем что нативное выполение жрёт лям тактов проца, а с трансляцией всего 50300, в ~19 раз быстрее с трансляцией чем без неё.

Справедливости ради есть обратные случаи когда директикс некий вызов делает быстро допустим нам в 1000 тактов, тогда как вулкан сделает этоже тоже быстро тоже в 1000 но + ещё 300 на накладные расходы уйдёт, в этом случае будет медленно.

Ой короче всё.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.