Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики.
Продолжая посещать сайты проектов вы соглашаетесь с нашей
Политикой в отношении файлов cookie
Из перечисленных игр знаю только Paladins, а ещё я знаю, что эта игра использует EAC, который в свою очередь работает на SysCall'ах к ядру винды. У других игр примерно такая же ситуация (скорее всего). +ещё существует пресловутый DRM, который тоже может не давать работать игре, а «народная лицензия» этой же игры спокойно фурычит, в зависимости от степени «народности» конечно и каким способом эта «народность» получена.
Проблема тут в том, что SysCall'ы достаточно долго пытаются имитировать так, чтобы это не спровоцировало появления явных уязвимостей, которых и без этого много. Сначала пытались связаться с разработчиками, чтобы они добавили поддержку, они же либо отмалчивались, либо кормили завтраками, некоторые же откликнулись на просьбу. Поэтому достаточное количество игр не запускается, либо не пускает в онлайн из-за несовместимости с системами защиты.
Сейчас, насколько я знаю, имитацию всего этого дела пытаются провернуть на стороне wine + патчей ядра, что продвигается не так уж и быстро (патчи ядра нужно согласовывать, просто так их не запихнёшь, их нужно оптимизировать, защитить и тп.), хотя успехи в запуске отдельных игр уже есть.
По поводу второго: а вот как считаешь, будет ли прослойка трансляции всегда давать такую же производительность, как и нативно исполняемый код? Компания зла (или добра, чёрт их уже разберёт) под линукс системы свой DirectX делать не будет, поэтому остаётся только надеется на трансляцию в вулкан или нативную поддержку вулкана приложением. OpenGL, конечно, тоже хорошо, но он в плане производительности достаточно плох.
Для того чтобы программа нормально работала на какой-либо системе или железе, она должна быть под эту систему или железо написана и оптимизирована, ну или скомпилирована нормально на худой конец. Когда дело касается трансляции кода, то тут уж извините — потери происходят за счёт отвода части производительности под обработку кода, так как происходит JustInTime. Да и сами по себе библиотеки в окнах далеко не вылизаны до блеска (как и много где), а тут ещё и не нативно работают.
Проблема тут в том, что SysCall'ы достаточно долго пытаются имитировать так, чтобы это не спровоцировало появления явных уязвимостей, которых и без этого много. Сначала пытались связаться с разработчиками, чтобы они добавили поддержку, они же либо отмалчивались, либо кормили завтраками, некоторые же откликнулись на просьбу. Поэтому достаточное количество игр не запускается, либо не пускает в онлайн из-за несовместимости с системами защиты.
Сейчас, насколько я знаю, имитацию всего этого дела пытаются провернуть на стороне wine + патчей ядра, что продвигается не так уж и быстро (патчи ядра нужно согласовывать, просто так их не запихнёшь, их нужно оптимизировать, защитить и тп.), хотя успехи в запуске отдельных игр уже есть.
По поводу второго: а вот как считаешь, будет ли прослойка трансляции всегда давать такую же производительность, как и нативно исполняемый код? Компания зла (или добра, чёрт их уже разберёт) под линукс системы свой DirectX делать не будет, поэтому остаётся только надеется на трансляцию в вулкан или нативную поддержку вулкана приложением. OpenGL, конечно, тоже хорошо, но он в плане производительности достаточно плох.
Для того чтобы программа нормально работала на какой-либо системе или железе, она должна быть под эту систему или железо написана и оптимизирована, ну или скомпилирована нормально на худой конец. Когда дело касается трансляции кода, то тут уж извините — потери происходят за счёт отвода части производительности под обработку кода, так как происходит JustInTime. Да и сами по себе библиотеки в окнах далеко не вылизаны до блеска (как и много где), а тут ещё и не нативно работают.