В ядре Linux появился встроенный механизм синхронизации потоков из Windows — NTSYNC. Его включили в состав системы для прямого ускорения игр и избавления от микрофризов. Если раньше за совместимость отвечали надстройки вроде Wine, то теперь операционная система понимает нужные игре вызовы напрямую, без эмуляции.
Речь идет о переносе в ядро Linux механизмов синхронизации, характерных для архитектуры Windows NT. Современные проекты при работе параллельно нагружают процессор десятками задач: рендеринг, физика, искусственный интеллект, звук и подгрузка данных — всё это грузится в несколько потоков. Чтобы они не разрушали данные друг друга, Windows использует специфический набор примитивов синхронизации. NTSYNC добавляет поддержку этих примитивов прямо в ядро Linux. Транслятору больше не требуется подбирать обходные пути, так как Linux теперь отвечает на «родные» для игры запросы без лишней прослойки.
За внедрением стоят Valve, CodeWeavers и основные контрибьюторы Wine. Самые заметные цифры, гуляющие по сети, — рост производительности на 40–200 процентов, но они требуют правильного контекста. Эти замеры делались при сравнении нового драйвера с чистым upstream Wine, где не использовались патчи вроде fsync. Обычные геймеры запускают игры через Steam Play и Proton, внутри которого fsync уже давно. В этом случае чуда в виде двойного прироста не происходит, но системный мониторинг фиксирует другое: меньше мелких фризов, отсутствуют задержки кадра, возникавшие, когда эмуляция синхронизации давала сбой, а в тяжелых сценах исчезают внезапные статтеры.
Особенно чувствительная техника к таким изменениям — портативные устройства. На настольном PC с запасом по производительности лишние 1-2 процента нагрузки могли остаться незамеченными.