Discord оптимизирует потребление ОЗУ на Windows 11
Discord признал проблему чрезмерного потребления ресурсов оперативной памяти (RAM) своим клиентом для Windows 11, которая беспокоит пользователей годами. Чтобы решить этот вопрос, компания приняла радикальное решение: теперь приложение принудительно перезапускается, если расход памяти превышает разумные пределы.
Что происходит? Многие пользователи замечали, что возвращаясь к своему компьютеру с Windows 11, видят, что Discord неожиданно завершил работу и снова открылся. Но паниковать не стоит: это вовсе не ошибка, а временная мера, призванная ограничить аппетиты приложения в плане использования оперативной памяти.
♻ Суть проблемы и решение
Начиная с октября текущего года, команда Discord начала решать проблему избыточного расхода памяти. Их наблюдения привели к выводу, что память используется неправильно и постепенно возрастает до недопустимых значений. Вместо положенных менее 1ГБ RAM, Discord мог занимать вдвое, втрое больше и даже превышать отметку в 4ГБ. Такое поведение серьёзно замедляло работу компьютера и приводило к другим проблемам, связанным с нехваткой свободной памяти.
Чтобы исправить ситуацию, разработчики ввели аварийную меру: приложение перезапустится само, если потребление памяти превысит порог в 4ГБ. Процесс происходит незаметно для пользователя, при условии, что:
• Discord находится в состоянии ожидания;
• прошло более часа непрерывной работы;
• не выполняется голосовой звонок или чат.
Перезапуск проводится максимум один раз в сутки, сохраняя набранные сообщения и открытые каналы.
Дополнительные шаги по оптимизации
За последние месяцы Discord провёл масштабную работу по снижению объёма занимаемой памяти. Вот что предпринято:
• Исправлено минимум 10 критических багов, связанных с памятью.
• Добавлены специальные инструменты мониторинга (telemetry), позволяющие отслеживать и анализировать состояние памяти.
• Ведётся сотрудничество с производителями железа и операционными системами для устранения конфликтов на низком уровне.
♻ Причина проблем с памятью
Основной виновник проблемы — использование популярного инструмента Electron, на котором построена большая часть десктопных клиентов Discord. Electron основан на комбинации технологий Chromium и Node.js, что позволяет создавать мощные и многофункциональные приложения, работающие на JavaScript. Однако это накладывает свои издержки: каждый запущенный сервер в Discord функционирует как отдельный изолированный таб Chrome, следовательно, требует отдельного набора ресурсов.
Другие крупные приложения тоже страдают от аналогичных недостатков: Microsoft Teams, Slack, Twitch, WhatsApp Desktop и WordPress Desktop построены на той же платформе Electron.
♻ Дальнейшее развитие Discord
Стоит упомянуть, что Discord проходит важный этап своего развития. Год назад компания достигла рубежа в 200 млн ежемесячных активных пользователей и заявила о намерении провести первичное размещение акций (IPO). Недавно руководство сменилось: новым руководителем стал Хуман Сахини, известный специалист в игровой индустрии, пришедший из Activision Blizzard.
Итог: компания серьезно подошла к решению проблемы чрезмерного потребления памяти, и принудительная перезагрузка — лишь первый шаг на пути к оптимизации и повышению стабильности Discord на Windows 11.