LINUX.ORG.RU

Поддержка Direct3D 9 добавлена в Gallium3D

 , , ,


4

4

Представлена рабочая реализация трекера состояний Direct3D 9 для Linux, реализованная через Gallium3D, что даёт возможность прямого обращения к драйверам, без прослойки, транслирующей вызовы Direct3D в вызовы OpenGL. Благодаря этому удалось достигнуть боле чем двухкратного увеличения FPS в таких играх, как Skyrim, Civilization 5, Anno 1404 и Starcraft 2.

В отличие от ранее существовавших решений, данная реализация является полностью работоспособной и ориентированной на 9-ую версию API.

Для работы данного прототипа требуется изменённая версия Wine (инструкции можно найти здесь).

Разработчик верит, что эта реализация будет жизнеспособной, так как активно поддерживается, написана на языке C (а не C++). Также отмечается, что Gallium3D в его нынешнем состоянии гораздо более пригоден для реализации Direct3D 9, чем последующих версий.

>>> Подробности

★★★★★

Проверено: JB ()

Ответ на: комментарий от x4DA

на самом деле, много кто.

Только эти «много кто» не аудитория играющая в игры, т.к для игр в настоящий момент более-менее подходит только драйвер AMD. Портировать для них игры никто не будет.

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

Когда ждать нативные игры под linux (не требующие wine для своей работы), что будут использовать direct3d?

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

IMHO, дело не только и не столько в драйверах с Direct3D, сколько в WinAPI, которого в Linux без Wine никогда не было, нет и вряд ли будет (ибо не надо никому). Так что в любом случае простой перекомпиляцией не обойтись, с полноценным портированием никто заморачиваться не будет, и весьма наивно ожидать хоть сколь-нибудь заметного улучшения ситуации с играми после допилки сабжа — кто хочет, тот и так порт с рендером через OpenGL сделает, остальным одного только Direct3D всë равно не хватит.

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

В сборках svn поддержка принтерного порта есть, но куда он подключается за пределами dosbox я не смотрел.

Где бы раскопать этот вопрос? Жутко выручил бы. Я искал как-то, натыкался на досбокс, но там, англицким по белому было сказано что поддержки печати на LPT (хоть бы и в файл) нет

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

компилируем программу с winelib, а winelib сам решает - есть ли возможность не пользоваться d3d->ogl транслятором. профит.

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

И чем нативная программа, собранная с winelib, [существенно] лучше её виндовой версии, запущенной через Wine? В обоих случаях работа идёт через вайновые обёртки, но с нативной больше геммороя с отдельными сборкой и тестированием.

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

Где бы раскопать этот вопрос?

Ну, в общем в самом файле dosbox.conf. :)

Я искал как-то, натыкался на досбокс, но там, англицким по белому было сказано что поддержки печати на LPT (хоть бы и в файл) нет

Это вы про стабильный релиз читали, а поддержка в svn.

Качайте сборку отсюда: http://ykhwong.x-y.net/ и читайте. Если вкратце, то есть прямой проброс порта, дамп в файл как есть и «печать» на виртуальном принтере с сохранением результата в графические файлы (png, например). Работоспособность не тестировал.

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

профайлером определить места, где производительность проседает критически и переписать именно их, а не всю программу.

именно так сделали вальв

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

профайлером определить места, где производительность проседает критически и переписать именно их, а не всю программу.
именно так сделали вальв

Valve переписывали куски своего враппера Direct3D -> OpenGL. Переделывать ради сабжа уже имеющийся D3D-рендер никто не будет, т.к. его отпрофилировали вдоль и поперёк ещё при разработке под винду/X-Box (а если там профилированием-оптимизацией не заморачивались, то при сборке под сабж и подавно не станут) и потому дальнейшие изменения в лучшем случае не дадут хоть сколь-нибудь заметного прироста производительности.

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

Переделывать ради сабжа уже имеющийся D3D-рендер никто не будет

полностью - нет. несколько критических мест - вполне возможно.

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

Переделывать ради сабжа уже имеющийся D3D-рендер никто не будет

полностью - нет. несколько критических мест - вполне возможно.

Апстримом и основной/референсной реализацией Direct3D является Microsoft с её виндой и X-Box. Если авторы движка более-менее адекватные, то его ещё при разработке заоптимизировали настолько, насколько смогли или посчитали достаточным. Если же вдруг игру решили собрать под Linux с сабжем и при этом рендер хоть где-нибудь оказался существенно медленнее, чем в винде/х-ящике, то это проблемы исключительно сабжа, перепиливать движок под особенности какой-то левой реализации Direct3D никому нафиг не впилось.

anonymous ()

Опять чтоле?

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

А я еще помню те времена, когда словосочетание «директикс для линукса» могло считаться шуткой.

1998? Да ты старичок :3

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

believe в данном контексте

В контексте свободных дров всё правильно он перевёл.

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