
Владельцы Linux-систем в очередной раз столкнулись с загадкой Euro Truck Simulator 2: даже мощное железо не гарантирует стабильный кадраж, а вот прирост при смене видеокарты иногда выглядит несоразмерным заявленным характеристикам. Обсуждение проблемы в сообществе игроков показало, что дело не столько в конкретной конфигурации компьютера, сколько в особенностях работы игры с драйверами OpenGL под Linux.
Разброс показателей на схожем железе
Один из пользователей с процессором AMD FX-8300 и видеокартой GTX 660 жаловался на 10-30 кадров в секунду в городах и около 30 за их пределами даже на средних настройках. При этом другой участник обсуждения с почти идентичной связкой — FX-8320 и GTX 660Ti — получал стабильные 30-40 кадров с настройками, выкрученными на максимум. Разница в производительности при схожих характеристиках натолкнула сообщество на мысль, что дело в драйверах и версии ядра, а не только в мощности комплектующих.
Обладатель Intel Core i7-3820 и GTX 680 демонстрировал куда более ровный результат — 40-60 кадров вне зависимости от локации. А вот пользователь видеокарты Radeon R9 290 с открытыми драйверами получал куда более скромные 20-30 кадров в городах, что подтвердило давнее подозрение сообщества: проприетарные решения Nvidia под Linux работают с игрой заметно стабильнее, чем открытые альтернативы для видеокарт AMD.
Игра плохо использует многоядерность
Отдельного внимания заслуживает наблюдение о нагрузке на процессор. По свидетельствам нескольких пользователей, ETS2 задействует по сути только два ядра, причём второе загружается несущественно. Этим объясняется скромный разрыв в кадрах между системами на базе Core i7 и куда более бюджетными процессорами FX-8xxx — игра попросту не умеет распределять нагрузку на восемь ядер, даже если они физически присутствуют в системе.
Любопытно, что параметр __GL_THREADED_OPTIMIZATIONS, который обычно ускоряет OpenGL-приложения за счёт многопоточной обработки вызовов, повёл себя непредсказуемо: одним пользователям он добавил около 10 кадров, другим не дал вообще ничего, а у кого-то и вовсе обрушил производительность до 18 кадров в секунду.
Новая видеокарта решила проблему радикально
Показательный случай — апгрейд с GTX 680 на GTX 970 у одного из участников обсуждения. Прирост оказался внушительным: с 40-60 кадров до 45-60 в городах и свыше 60 за их пределами при максимальных настройках и масштабировании разрешения в 400 процентов. Для сравнения, разница между поколениями видеокарт Nvidia Kepler и Maxwell в других играх обычно измеряется куда более скромными процентами, что вновь указывает на специфическую, не всегда логичную оптимизацию ETS2 под Linux.
Один из пользователей также отметил разницу в производительности между Windows и Linux на одинаковом железе с картой AMD: в Windows игра работала практически вдвое быстрее — 40-90 кадров против 20-60 на Linux. Это лишний раз подтверждает, что проблема кроется не в самой игре, а в качестве реализации графических драйверов для Linux, особенно у AMD.
Что в итоге посоветовали сообществу
Единого рецепта решения проблемы участники обсуждения так и не нашли. Кто-то советовал отключать сглаживание и коррекцию цвета, кто-то — экспериментировать с параметрами потоковой оптимизации, а кто-то просто рекомендовал переходить на видеокарты Nvidia последних поколений, если производительность критична. В целом же вывод получился неутешительным: даже мощный процессор и современная видеокарта не гарантируют комфортного кадража в ETS2 под Linux, и многое здесь зависит от везения с конкретной сборкой драйверов и ядра системы.