banner

Блог

Feb 03, 2024

SteamOS 3.5 уже почти готов и включает в себя исправление самой скрытой ошибки производительности Steam Deck.

SteamOS 3.5 включает в себя новое ядро ​​Linux, графический драйвер и исправление неприятной ошибки производительности SMT.

Когда приходит новое обновление Windows, мы склонны стонать. Правда, прямо сейчас, Windows? Что этот сломает? Действительно ли мне это нужно? "Напомни мне позже." С другой стороны, новая версия ядра Linux всегда кажется небольшим событием в сообществе открытого исходного кода, обещающим новые захватывающие функции и улучшения производительности для многих, многих устройств, работающих под управлением Linux. Ядро — это основополагающий строительный блок Linux, который многие дистрибутивы, такие как Ubuntu и Arch (на которых основана SteamOS от Valve), превращают в полноценные операционные системы.

Мы понимаем, что без возможностей и всего, что есть в компьютерных играх, Steam Deck — ничто.

Steam Deck вскоре сможет разделить волнение «дня нового ядра», поскольку следующее большое обновление Valve, SteamOS 3.5, станет первым обновлением ядра Linux с момента запуска. Это означает множество хороших вещей для владельцев Steam Deck, хотя большинство из них вы, вероятно, даже не заметите.

Обновление ядра означает «приближение к последней и лучшей версии с множеством хороших дополнений, исправлений производительности и функциональных исправлений, которые улучшат все аспекты системы», — сказал PC Gamer Пьер-Лу Гриффе из Valve. «Что касается основной функциональности, запуска игр и производительности — подобные исправления на данный момент в основном не нужны, поэтому вы не ожидаете от них ничего преобразующего».

Однако в этом обзоре есть оговорка: у Valve есть одно существенное исправление производительности для Steam Deck, которое появится в SteamOS 3.5. Процессор Steam Deck поддерживает распространенную современную функцию, называемую SMT, или одновременную многопоточность — возможно, вам более знакомо ее название от Intel — Hyper-Threading. Проще говоря, SMT — это возможность запуска двух потоков на одном ядре ЦП. Это должно было бы улучшить производительность по всем направлениям, но неясная проблема в ядре Linux, с которым поставлялась Steam Deck, означала, что в некоторых случаях это действительно приводило к снижению производительности.

«Раньше в ядре Linux на стороне AMD было жестко запрограммировано поведение: если ядро ​​переходит в спящий режим, оно аннулирует свой кеш, потому что к моменту пробуждения кеш может быть недействителен», — сказал Гриффайс. «Оказывается, когда у вас есть два потока на одном ядре, и один поток все еще над чем-то работает, а второй поток SMT уходит в сон, он выбрасывает свой кеш, используя ту же логику. Поэтому работающий поток внезапно теряет это кеш L3. С точки зрения процессора это действительно плохо. Ему приходится как бы выгружать все из памяти — большие задержки, по сути «пузырь» в вычислениях. И время кадра идет к чертям. Вот что происходит».

AMD обнаружила и устранила проблему еще до того, как Valve ее определила — фактически, именно так разработчики SteamOS поняли, что происходит. С обновлением ядра они наконец смогут распространить его среди пользователей.

Проблема в основном проявлялась в старых играх и затрагивала эмуляторы, не предназначенные для современной многопоточности; Если вы видели серьезные подтормаживания или странно низкую частоту кадров в старых играх, вероятным виновником был SMT. В зависимости от того, во что вы играете на колоде, вы можете даже не заметить изменений.

Однако некоторые владельцы Steam Deck заметили проблему и начали использовать плагин PowerTools для отключения SMT. Гриффайс упомянул, что Valve призывали интегрировать эту функцию в SteamOS, но они хотели пойти не по этому пути.

«Нам нужно было исправить ошибку, из-за которой людям приходилось с этим сталкиваться, вместо того, чтобы добавлять нелогичный параметр, который людям не нужно отключать», — сказал он. «Предполагается, что это должно улучшить производительность по всем направлениям. Поэтому мы хотели посмотреть на реальную причину проблемы, а не добавлять опции, которые могут быть нелогичными и трудными для использования людьми, особенно если мод уже существует — пусть люди сделай это пока».

ДЕЛИТЬСЯ