Следите за новостями по этой теме!
Подписаться на «Рифы и пачки / Твоя культура»
Похоже, Discord наконец заметил, что во время игры его десктопное приложение способно вести себя как второй, весьма прожорливый игровой клиент. Мессенджер известен заметной нагрузкой на оперативную память, процессор и видеокарту, и теперь разработчики работают над функцией Game Mode — «игровым режимом», который должен освободить часть ресурсов компьютера.
Как сообщает VideoCardz, функция будет автоматически распознавать запущенную игру. После этого Discord начнёт отключать или сокращать анимации и визуальные эффекты в клиенте. Идея проста: меньше декоративных движений — меньше нагрузки на CPU и GPU, а значит, больше ресурсов для самой игры и потенциально более плавный геймплей.
У Discord уже есть похожие настройки. Например, Reduced Motion снижает интенсивность анимаций и эффектов при наведении курсора во время навигации по приложению. Пользователь также может отключить аппаратное ускорение. В этом случае Discord перестаёт использовать видеокарту для ускорения собственной работы; разработчики связывают такую настройку с возможным устранением визуальных проблем, падений кадров в играх и других неполадок производительности.
По описанию аккаунта DiscordPreviews в X, Game Mode во многом напоминает автоматическую версию Reduced Motion: приложение будет само уменьшать количество анимаций и эффектов после обнаружения игры. Поэтому пока неясно, станет ли это полноценной оптимизацией или всего лишь удобным переключателем уже существующей настройки. О снижении потребления оперативной памяти разработчики ничего не сообщали.
Причина прожорливости Discord отчасти связана с его технической основой. Десктопный клиент создан на Electron — фреймворке для приложений, использующем веб-технологии. Проще говоря, внутри Discord работает встроенный браузерный движок Chromium, на котором построен и Google Chrome. А Chrome, как известно, умеет превращать свободную оперативную память в личный запас на чёрный день.
Отдельный вопрос — демонстрация экрана. При screen sharing Discord может особенно сильно нагружать компьютер, прежде всего при трансляции в высоком разрешении. Для обычного голосового чата или работы в фоне такая нагрузка выглядит менее оправданной, но даже стрим ниже 1080p способен снизить частоту кадров в игре. На слабых системах с небольшим объёмом оперативной памяти это заметнее всего.
Полностью обойти проблему можно с помощью карты захвата и отдельного устройства, например ноутбука, которое будет заниматься трансляцией. Но такой комплект стоит денег, поэтому совет звучит примерно как «если тормозит велосипед, купите автомобиль». Гораздо полезнее было бы оптимизировать сам клиент или отказаться от Electron-архитектуры, хотя это потребовало бы серьёзной переделки приложения.
Game Mode пока остаётся обещанием с неясным масштабом пользы. Если Discord действительно снизит нагрузку на процессор и видеокарту во время игры, это станет хорошим началом. Но для полноценного решения компании придётся разобраться не только с анимациями, но и с расходом памяти, фоновой работой приложения и нагрузкой при демонстрации экрана.
Discord готовит функцию Game Mode, которая должна автоматически включаться при обнаружении запущенной игры и уменьшать нагрузку десктопного клиента на процессор и видеокарту. Для этого приложение будет отключать или сокращать анимации и визуальные эффекты. Предполагается, что высвободившиеся ресурсы помогут играм работать плавнее.
У мессенджера уже есть ручные настройки с похожим назначением. Reduced Motion уменьшает интенсивность анимаций и эффектов при работе с интерфейсом. Отключение аппаратного ускорения запрещает Discord использовать GPU для собственного ускорения и может помочь при визуальных сбоях, падении кадров и некоторых проблемах производительности.
Пока неясно, добавит ли Game Mode что-то принципиально новое. По описанию DiscordPreviews, опубликованному в X, функция может оказаться автоматическим включением Reduced Motion при запуске игры. При этом Discord не обещал уменьшить использование оперативной памяти, хотя именно высокий расход RAM остаётся одной из главных претензий пользователей.
Причина заметной ресурсоёмкости связана с Electron — фреймворком для создания десктопных приложений на основе веб-технологий. Discord работает внутри встроенного браузерного движка Chromium, который также используется Google Chrome. Такая архитектура удобна для разработки, но может приводить к большому потреблению памяти и вычислительных ресурсов.
Особенно проблемной бывает демонстрация экрана. Стриминг в высоком разрешении значительно увеличивает нагрузку на систему. Даже трансляция с разрешением ниже 1080p способна снизить частоту кадров в игре, а на слабых компьютерах с небольшим объёмом оперативной памяти эффект проявляется сильнее. При этом нагрузка от screen sharing всё же объяснимее, чем заметное потребление ресурсов во время обычного голосового чата или работы Discord в фоне.
В качестве обходного решения можно использовать карту захвата и отдельный компьютер или ноутбук для трансляции. Такой вариант способен полностью убрать часть проблем с производительностью игры, но обходится дорого и подходит не всем.
Более фундаментальным решением стала бы оптимизация десктопного клиента или отказ от Electron-архитектуры. Game Mode может стать полезным первым шагом, если действительно снизит нагрузку на CPU и GPU, однако одной автоматической настройки анимаций недостаточно, чтобы закрыть вопросы с оперативной памятью, фоновой работой и демонстрацией экрана.