вчера мы повторили из новостей, что Valve продолжай улучшать протон, реализация, основанная на Wine, для переноса нативных игр Microsoft Windows в клиент Stream Play для Linux. Valve не похожа на другие компании и не сосредотачивается только на всем, что окружает Microsoft, и, следовательно, на ее платформе видеоигр. Steam предложил внести в ядро некоторые изменения, которые улучшат взаимодействие с пользователем при игре в Linux.
Новая версия Proton, помимо прочего, включает функцию, которая снижает общее потребление ЦП для многопоточных игр. Разработчики Steam заявляют, что заставили «сценарий с привязкой к ЦП на высокопроизводительной машине за счет уменьшения графических деталей до минимума»Чтобы увидеть разницу между существующей версией Proton и версией, которая включает в себя улучшение многопоточности. Как мы видим на следующем изображении, загрузка ЦП в игре Tomb Raider снижена на 10%.
Игры в Linux будут работать лучше, если ядро примет изменения, предложенные Steam.
В новой версии Proton он также включает экспериментальную замену esync, более старой функции WINE, которая может повысить многопоточность в некоторых играх. Но разработчики Steam говорят, что у этой функции есть компромисс: она зависит от функциональности ядра Linux efentfd (). Использование этой функциональности это может привести к некоторому исчерпанию файлового дескриптора в ресурсоемких приложениях и может привести к странному повороту ядра. Вот когда Steam внес некоторые изменения в ядро Linux, чтобы расширить системный вызов futex (), чтобы раскрыть дополнительные основные функции, которые можно использовать для поддержки оптимальной синхронизации пула потоков.