Как уменьшить дискорд по размеру

Как увеличивать и уменьшать масштаб в Discord и сбросить масштаб

Многие приложения позволяют пользователям регулировать уровень масштабирования, чтобы облегчить чтение. Эти специальные возможности довольно полезны и обычно могут быть активированы с помощью сочетаний клавиш на клавиатуре. Однако иногда эти сочетания клавиш могут вызывать головную боль при случайном нажатии. Для такого приложения, как Discord, где клавиатура используется как для набора текста, так и для игры, может легко произойти случайная активация этих функций. К счастью, исправить это очень просто — вот как.

Как увеличить/уменьшить масштаб в Discord

В браузере всплывающая подсказка появится в верхнем правом углу. Это покажет ваш текущий уровень масштабирования и удобную кнопку сброса (Google Chrome).

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Мой Discord увеличен/уменьшен! — Как восстановить масштаб по умолчанию

Шаг 1 : откройте Discord на своем компьютере или перейдите в веб-приложение Discord в своем браузере

Это приведет к сбросу масштаба до значения по умолчанию 100%.

В браузере вы также можете увеличивать/уменьшать масштаб с помощью упомянутого выше метода клавиши Ctrl и нажмите кнопку сброса в появившейся подсказке.

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Как настроить уровни масштабирования с помощью настроек Discord

Если сочетания клавиш у вас не работают, попробуйте изменить уровни масштабирования в настройках Discord. Эти действия применимы как к веб-версии Discord, так и к версии для ПК.

Шаг 1 : В Discord нажмите кнопку шестеренка рядом с вашим именем в левом нижнем углу

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Final Мысли

Легко случайно активировать горячую клавишу масштабирования, особенно когда вы используете веб-версию Discord. Если это происходит часто, вы можете подумать о загрузке настольного клиента Discord. Вы также можете попробовать расширение браузера, чтобы заблокировать функцию масштабирования, если настольный клиент недоступен.

Говоря о причудах Discord, вы когда-нибудь обнаруживали, что ваш микрофон больше не работает в Discord? Ознакомьтесь с нашим руководством по устранению неполадок, чтобы узнать, как это исправить.

Похожие

что насчет того, когда это случилось с самим приложением?

Привет, я не знал, что настольное приложение также содержит эту функцию. Я обновлю сообщение информацией о приложении.

Вы не можете использовать CTRL + колесо прокрутки в настольном приложении, но вы можете использовать CTRL + 0 для сброса масштабирования или использовать + и — знаки на клавиатуре, чтобы настроить его.

Вы также можете найти настройки масштабирования в Пользовательских настройках> Внешний вид> Доступность.

это произошло для меня в настольном приложении, какие-либо исправления?

idk, это тоже случилось с моим приложением

См. мой ответ выше. Я буду обновлять сообщение, добавляя информацию об этом.

На Mac это команда.

¡ ГРАЦИАС! ME HA AYUDADO MUCHÍSIMO, CREÍ QUE IBA A TENER QUE QUITAR DISCORD

Источник

Настройка Discord

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Мессенджер Discord обладает большим спектром настроек, которые пользователь может отрегулировать под себя для максимальной комфортности и удобности управления. Прочитайте о том, как настроить Дискорд с помощью основных параметров пользователя, а также о том, как отрегулировать на сервере комнаты для общения.

Для индивидуальной наладки возможностей Дискорда необходимо зайти в настройки пользователя. Для этого нажмите на кнопку в виде шестерёнки в нижнем левом углу экрана. После входа в настройки в левой части экрана отобразится столбик с перечнем различных параметров. Среди них выделим следующие настройки:

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Голос и видео

Некоторые полезные функции в данном разделе активированы по умолчанию. Для удобства и комфортности использования Дискорда лучше оставить их так, как они установлены изначально. Среди таких установок можно отметить эхоподавление, шумоподавление, автоматическую регулировку усиления голоса, установку проверки голоса на случай, если Дискорд не обнаруживает звук из микрофона.

При настройке голоса можно выбрать устройство для ввода и вывода звука. При первом запуске мессенджера оба параметра будут выставлены по умолчанию. Нажав на графу под пунктом “Устройство ввода” и “Устройство вывода”, можно выбрать нужное устройство из списка имеющихся на ПК. Например, прибором для вывода звука можно установить наушники, предварительно подключив их к компьютеру.

Громкость микрофона и звука, воспроизводимого в наушниках, выставляется с помощью соответствующих бегунков. Для комфортного общения установите указанные параметры на 100 процентов. В случае необходимости всегда можно изменить заданные настройки.

Проверить микрофон, а также свой голос, а точнее его силу, можно при помощи кнопки “Let`s check”. Проговорив в микрофон, вы сможете убедиться в исправности устройства вода. Отключить тест можно кнопкой “Stop Testing”.

Есть два возможных режима ввода голоса: активация по голосу и режим рации. При активации по голосу, звук передается в момент его воспроизведения, а режим рации активирует микрофон при помощи нажатия установленной горячей клавиши. Для выбора подходящего режима ввода необходимо установить галочку напротив названия соответствующего варианта.

Чувствительность микрофона можно отрегулировать вручную или выбрать автоматическую корректировку. Для самостоятельной установки чувствительности микрофона сделайте следующее:

В Дискорде доступна связь при помощи видеозвонков. Чтобы отрегулировать настройки видео, выберите камеру, которая будет использоваться. Для этого в пункте “Видео” кликните на графу под словом “Камера” и выберите необходимое устройство. Чтобы проверить камеру, под словом “Предпросмотр” нажмите на кнопку “Проверить видео”.

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Горячие клавиши

В разделе “Горячие клавиши” можно настроить выполнение определенных действий в Дискорде при помощи нажатия выбранных клавиш. Эта функция экономит время, которое очень ценно в игровом процессе. Для добавления новой команды необходимо:

Внешний вид

В разделе “Внешний вид” можно редактировать визуальные эффекты в Дискорде и настроить мессенджер так, чтобы было не только удобно, но и красиво. По умолчанию Discord оформлен в тёмной теме, но при желании можно использовать светлое оформление. Для этого достаточно поставить галочку напротив соответствующей темы.

СОВЕТ! Тёмная тема более комфортна для визуального восприятия.

Возможна настройка внешнего вида текстовых сообщений. Доступны два режима: уютный и компактный. Название компактного режима говорит само за себя – на экране монитора поместится больше сообщений и оформлены они будут строго и компактно. Существенной особенностью уютного оформления является наличие аватарки пользователя в строке сообщения.

Следующим возможностям будут рады пользователи, имеющие проблемы со зрением. Так, с помощью бегунка под пунктом “Масштабирование текста в чате” можно увеличить размер символов в сообщениях. А ползунок под пунктом “Уровень масштабирования” позволит укрупнить интерфейс самого Дискорда. Масштаб текста и самого приложения помимо увеличения можно минимизировать до необходимых размеров.

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Разработчики Discord позаботились о людях, страдающих дальтонизмом. Для таких пользователей предусмотрена специальная функция, заменяющая визуальные эффекты мессенджера на более подходящие для дальтоников. Для активации данной возможности достаточно включить “Режим для дальтоников”.

Текстовые и голосовые каналы

Геймеры, использующие Дискорд, общаются в текстовых и голосовых каналах. Создатель сервера сам определяет количество таких каналов. Если сравнить сервер с большим домом для общения, то каналы будут отдельными комнатами. Каждую отдельную комнату для общения можно настроить по своему усмотрению.

Существуют сервера, которые используют для объединения геймеров в игровые альянсы. Часто такие альянсы состоят из болей мелких групп игроков, входящих в так называемые игровые кланы. Обычно таким кланам выделяются на сервере отдельные каналы или комнаты, внутри которых участники общаются между собой. Далее инструкция по настройке канала для общения равнозначно применима для наладки любой комнаты клана.

Для настройки комнаты текстового чата необходимо нажать на изображение шестерёнки, расположенное в правом краю графы канала. В меню настроек комнаты во вкладке “Обзор” можно:

Медленный режим сообщений подразумевает, что участники канала смогут написать только одно сообщение в течение установленного времени. Интервал такого ограничения может варьироваться от 5 секунд до 6 часов. Конкретный промежуток времени, лимитирующий сообщения, фиксируется при помощи соответствующего бегунка.

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Статус NSFW-канала подразумевает, что в данной комнате отсутствует фильтр нежелательного содержимого. Для просмотра переписки такой комнаты пользователь должен будет подтвердить достижение совершеннолетнего возраста.

После внесения любых корректив не забудьте нажать кнопку “Сохранить изменения”. Если вы передумали, тогда, чтобы сбросить настройки до предыдущих, нажмите кнопку “Сброс”.

В разделе “Права доступа” можно доверить или ограничить доступ к определенным возможностям на данном канале. Набор прав можно разграничить в зависимости от ролей, доверенных пользователям. Создатель сервера или администратор может делегировать или ограничить следующие возможности:

Настройка голосового канала начинается с нажатия кнопки с изображением шестерёнки в правом краю конкретной голосовой комнаты. В разделе “Обзор” можно:

Лимит количества участников канала фиксируется при помощи специального бегунка. По умолчанию установлен показатель “без ограничений”. После внесения изменений сохраните новые параметры.

В разделе “Права доступа”, как и в случае с текстовым каналом, можно раздать права пользователям по использованию данной комнаты.

САМОЕ ВАЖНОЕ! Большое количество функций Дискорда подразумевает возможность индивидуальной регулировки параметров под свои нужды и предпочтения. Пользуясь советами статьи, вы сможете изменить стандартные настройки звука, видео, внешнего вида сообщений, а также провести отладку комнат для общения.

Источник

Ограничение размера файла Discord | Как отправлять большие видеоролики на Discord [Новости MiniTool]

Discord File Size Limit How Send Large Videos Discord

Резюме :

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Какой максимальный размер файла для Discord? Максимальный размер файла Discord для обычных пользователей составляет 8 МБ. Если вы заплатили за план Discord Nitro, вы можете увеличить лимит загрузки файлов Discord до 50 МБ. Если вы хотите обойти ограничение на загрузку видео Discord, в этом посте также представлены некоторые способы. Чтобы сжимать видео, редактировать и конвертировать видео, Программное обеспечение MiniTool имеет простые в использовании бесплатные инструменты, включая MiniTool MovieMaker, MiniTool Video Converter и т. Д.

Как и некоторые другие приложения, Discord также позволяет загружать и обмениваться файлами и видео. Вы знаете ограничение на размер файла Discord? Этот пост дает ответ. В этом руководстве также описаны некоторые способы сжатия видео для Discord.

Что такое ограничение на размер файла в Discord?

Приложение Discord также позволяет обмениваться файлами, например видео. В Discord вы можете поделиться файлом размером до 8 МБ. Чтобы превысить лимит, вы можете загрузить файл через платный план Nitro, который позволяет загружать файл размером до 50 МБ.

Как сжимать большие видео для Discord

Чтобы отправить файл размером более 8 МБ или 50 МБ на Discord, вы можете попробовать несколько способов уменьшить размер видеофайла.

Загрузите этот 100% бесплатный и чистый видеоредактор на свой компьютер с Windows и используйте его для редактирования, сжатия и конвертации видео.

№1. Конвертируйте видео в поддерживаемый формат Discord

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

№2. Сжать видео для Discord

№3. Вырежьте или обрежьте видео, чтобы удалить ненужную часть

Порез:

Импортируйте исходное видео в MiniTool MovieMaker и перетащите его на шкалу времени. Затем вы можете перетащить синюю линию в начале видео в точку, которую хотите разделить, и щелкнуть значок разделения ножниц. Повторите операцию, чтобы разделить видео в несколько клипов. Удалите ненужные клипы и экспортируйте видео.

Отделка:

Кроме того, после перетаскивания видео на шкалу времени в MiniTool MovieMaker вы можете щелкнуть значок ножниц и выбрать «Полное разделение». Затем щелкните вкладку «Обрезка». Перетащите синюю головку в начальную точку и щелкните значок ножниц рядом с кнопкой «Пуск». Перетащите синюю головку в конечную точку и щелкните значок ножниц рядом с надписью «Конец». Таким образом, чтобы обрезать ненужные начальные и конечные части видео.

№4. Разделить видео на клипы

Чтобы нарушить ограничение размера файла Discord, вы также можете разделить видео на более мелкие клипы и загружать видео один за другим.

№5. Поделитесь ссылкой на видео

Как отправлять видео в Discord

Нижняя граница

В этом посте рассказывается об ограничении размера файла Discord и о том, как отправлять большие видео на Discord. Если у вас есть идеи получше, поделитесь с нами.

Источник

Оптимизация Discord для работы на слабом ПК

Discord необычный мессенджер, являющийся своеобразным гибридом между классическими аналогами (Zoom, WhatsApp, Viber, Skype, Google Duo) и тематической площадкой по интересам, что в какой-то степени приближает его к социальному инструменту. Однако, вследствие глубокой, персонализированной настройки и широким функциональным возможностям дискорд, несмотря на номинальную универсальность, — наиболее востребован среди игрового сообщества, среди которых преобладают геймеры, киберспортсмены и стримеры.

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

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Минимальные системные требования Discord для ПК

Для запуска дискорда необходимо, чтобы компьютер обладал частотой CPU не менее 1.2 ГГц.

Официально клиент приложения требует не менее 167 мегабайт памяти под установку на логический раздел.

Оперативная память напрямую влияет на многозадачность: чем больше объём операционки, — тем больше приложений можно запускать одновременно. Для запуска дискорда будет достаточно 256 мегабайт, однако, чтобы мессенджер мог работать в связке с другими приложениями (браузер, производительная игра, или программа записи видео с экрана), — необходимо куда большее количество памяти. С учётом многозадачности необходимо отталкиваться хотя бы от 2, а лучше 3 гигабайт оперативной памяти, тем более на 2020ый год это не слишком большой показатель (топовые ПК обладают параметрами в 12-16 ГБ оперативной памяти).

Обычно дискорд используют под Windows (7, 8.1, 10), но клиент доступен так же на Linux (Mint, Ubuntu, Debian) и MacOS.

Под установку подойдёт как 32, так и 64 разрядность.

Корректная работа дискорда невозможна без вспомогательного оборудования, таким образом системные требования расширяются:

Микрофон требуется для голосового общения: с портативными компьютерами класса «лэптоп» проблемы не должны возникнуть, так как микрофон встроен. Однако, для стационарных компьютеров потребуется приобрести внешнее микрофонное устройство с USB интерфейсом.

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Драйвера необходимы для корректного взаимодействия между операционной системой и внешними устройствами: благодаря драйверам обеспечивается стабильная работа видеокарты, звуковой карты, внешней клавиатуры, компьютерной мыши и так далее.

Используется, как правило, для вывода аудио: можно использовать как внутреннюю звуковую карту, так и внешнюю через USB интерфейс. Главное условие — настроенные драйвера.

Актуально в первую очередь для стримеров: в ходе трансляции изображение с камеры выводится в определённую часть экрана, чтобы дать эффект реальности происходящего. Соответственно, камера может быть как встроенной, так и внешней, но предпочтение необходимо отдавать второму варианту, так как встроенные камеры на ноутбуках обычно невысокого качества.

Discord поддерживается на Google Chrome, Yandex.Браузер, Mozilla Firefox, Opera, Microsoft Edge. Использовать браузер при работе с дискордом необязательно, но через него можно использовать веб-версию клиента.

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Что можно сделать для оптимизации дискорда на слабых ПК

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

Настройка клиента

Оптимизировать дискорд под слабые пк можно через функцию оверлей.

Оверлей — это специализированная всплывающая панель для доступа к собеседникам во время голосового общения. В частности позволяет видеть активных собеседников и обозначает их зелёной подсветкой. Кроме того с помощью оверлея можно активировать параметры дискорда без смены активного окна, что экономит массу времени и позволяет лишний раз не отвлекаться от игрового процесса.

Отключаем оверлей

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Настройка компьютера

Если дискорд тормозит и без функции оверлея (нестабильная голосовая связь, задержки с видео, искажения, глючный интерфейс, или неотзывчивость программы), — необходима оптимизация дискорда под слабые пк через детальные настройки компьютера.

Освобождаем место на жёстком диске

На компьютере точно так же как и на мобильных устройствах со временем засоряется операционная система: это происходит из-за файлов обновлений, временных файлов (папка Temp), старых Windows после обновления и так далее. При этом наблюдается характерная тенденция: чем больше загажена система, — тем менее стабильно она функционирует.

Лучше всего для чистки системы использовать стороннее программное обеспечение по типу «CCleaner», или качественные аналогичные варианты.

Удаляем ненужные приложения

Иногда тормоза в операционной системе происходят из-за нехватки места на диске (неопытные пользователи не делают разбивку жёсткого диска на разные логические разделы и устанавливают все приложения на общий раздел). Проще всего удалять ненужные, или неиспользованные приложения через меню «Пуск» и выпадающий список. Для более детальной выборки используйте «приложения и возможности» в параметрах системы.

Увеличиваем файл подкачки

Файл подкачки отвечает за компенсацию из-за нехватки памяти. Подкачка активируется, если оперативная память заполнена под завязку. Инструкция для Windows:

Разгоняем видеокарту

Весьма опасная процедура, так как с высокой вероятностью при неосторожном обращении может поломать оборудование и вывести компьютер из строя. Тем не менее краткая инструкция ниже:

Примечание:

Таким способом производительность видеокарты вырастет всего на 15%. Если видеокарта устарела, — оптимизация через разгон не поможет. Кроме того обращайте внимание на возможные расхождения между «CPU clock», «default clock» и «boost»: если показатели буста значительно выше — значит видеокарта уже разогнана и дальнейший разгон будет с высокой степенью вероятности критическим.

Обновляем драйвера на видеокарту

Сделать это можно стандартным способом:

Меняем параметры электропитания

Для этого через меню «Пуск» активируйте параметры и перейдите во вкладку «Система», после чего выберите категорию «Питание и спящий режим».

Далее выбирайте дополнительные параметры питания и подходящий режим работы компьютера.

Включаем режим производительности видеокарты

Для этого щёлкните правой кнопкой мыши на рабочем столе и перейдите в инструментарий для настройки видеокарты, где, в зависимости от конкретной модели выберите параметры с производительностью, или 3D.

Примечание:

Максимальные значения производительности напрямую влияют как на уровень энергопотребления, так и на температуру видеокарты по ходу работы.

Убираем эффекты Windows

Процедура стандартная: через свойства компьютера активируйте дополнительные параметры, и во вкладке «Дополнительно» перейдите к параметрам быстродействия. Далее — визуальные эффекты. Теперь отключайте лишнее, — Windows станет работать быстрее.

Источник

Как Discord каждый день изменяет размер 150 млн картинок с помощью Go и C++

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Хотя Discord — это приложение для голосового и текстового чата, каждый день через него проходит более ста миллионов изображений. Конечно, мы бы хотели, чтобы задача была простой: просто перенаправить картинки вашим друзьям по всем каналам. Но в реальности доставка этих изображений создаёт довольно большие технические проблемы. Прямая ссылка на картинки выдаст хосту с картинкой IP-адреса пользователей, а большие изображения расходуют много трафика. Чтобы избежать этих проблем, требуется промежуточный сервис, который будет получать изображения для пользователей и изменять их размер для экономии трафика.

Встречайте Image Proxy

Для выполнения этой работы мы создали сервис Python и креативно назвали его Image Proxy. Он загружает картинки с удалённых URL, а затем выполняет ресурсоёмкую задачу по ресайзингу с помощью пакета pillow-simd. Этот пакет работает удивительно быстро, используя где только возможно для ускорения ресайзинга инструкции x86 SSE. Image Proxy будет получать HTTP-запрос, содержащий URL, чтобы загрузить, изменить размер и, наконец, выдать окончательное изображение.

Поверх него мы установили кэширующий слой, который сохраняет в памяти картинки с изменённым размером и пытается по возможности выдавать её напрямую из памяти. Слой HAProxy перенаправляет запросы на основании хэша URL на кэширующий слой Nginx. Кэш выполняет объединение запросов, чтобы свести к минимуму количество требуемых трансформаций по изменению размеру изображений. Сочетание кэша и прокси позволило масштабировать наш сервис ресайзинга на миллионы пользователей.

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

По мере роста Discord сервис Image Proxy начал демонстрировать признаки перенагрузки. Самой большой проблемой стало то, что нагрузка распределялась неравномерно, из-за чего страдала пропускная способность. Запросы выполнялись в совершенно разное время, вплоть до нескольких секунд. Мы могли бы решить эту проблему в существующем Image Proxy, но в то время мы как раз экспериментировали с дополнительным использованием Go, а здесь как будто было отличное место для применения Go.

Так появился Media Proxy

Мы начали с измерения производительности существующих пакетов для изменения размеров изображений на Go и быстро пришли в уныние. Хотя Go в целом более быстрый язык, чем Python, никакие из найденных пакетов не превосходили надёжно по скорости Pillow-simd. Основной частью работы Image Proxy было транскодирование и изменений размера изображений, так что это определённо стало бы узким местом в производительности Media Proxy. Язык Go может быть немного быстрее при обработке HTTP, но если он не способен быстро ресайзить картинки, то дополнительный выигрыш в скорости нивелируется дополнительным временем на ресайзинг.

Мы решили удвоить ставку и собрать собственную библиотеку ресайзинга изображений на Go. Некоторые многообещающие результаты показал один пакет Go на основе OpenCV, но он не поддерживал все нужные нам функции. Мы создали свой ресайзер Go под названием Lilliput с собственным враппером Cgo поверх OpenCV. При создании мы внимательно следили, чтобы не генерировать лишний мусор в Go. Враппер Lilliput делает почти всё, что нам надо, хотя понадобилось слегка форкнуть OpenCV для наших нужд. В частности, мы хотели иметь возможность проверять заголовки, прежде чем принимать решение о декомпрессии изображений: так можно мгновенно отказываться от изменений размера слишком больших изображений.

Lilliput использует для сжатия и декомпрессии существующие и проверенные библиотеки C (например, libjpeg-turbo для JPEG, libpng для PNG) и векторизованный код OpenCV для быстрого ресайзинга. Мы добавили fasthttp для соответствия нашим требованиям к параллельным HTTP-клиенту и серверу. В итоге, такая комбинация позволила запустить сервис, который неизменно превосходил Image Proxy в синтетических бенчмарках. Кроме того, lilliput работал не хуже или лучше, чем pillow-simd в тех задачах, которые нам нужны.

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Первый код не обошёлся без проблем. Изначально Media Proxy выдавал утечку 16 байт на каждый запрос. Это достаточно мало, чтобы сразу заметить, особенно при тестировании на небольшом объёме запросов. Для решения проблемы в Media Proxy были установлены большие статичные пиксельные буфера для целей ресайзинга. Он использует по два таких буфера на CPU, так что на 32-ядерной машине сразу занимает 32 гигабайта памяти. Во время тестирования перезапуск Media Proxy занимал несколько часов, поскольку он использует абсолютно всю память. Это достаточно длительное время, чтобы затруднить выяснение ситуации: то ли у нас действительно утечка памяти, то ли просто превышение лимита во время работы.

В конце концов мы решили, что всё-таки должна быть какая-то утечка памяти. Мы не были уверены, эта утечка в Go или C++, и изучение кода не дало ответа. К счастью, Xcode поставляется с отличным профилировщиком памяти — инструмент Leaks в меню Instruments. Этот инструмент показал размер утечки и примерное место, где она происходит. Такой подсказки хватило, чтобы более тщательное изучение позволило определить источник и исправить утечку.

В Media Proxy мы столкнулись с ещё одним багом, из-за которого пришлось прерваться. Иногда он выдавал странно испорченные картинки, где одна половина оставалась нормальной, а вторая была «глючной». Мы подозревали, что мы где-то частично кодируем изображение или как-то неправильно вызываем OpenCV. Баг проявлялся нечасто и его было трудно диагностировать.

Чтобы продвинуться в расследовании, мы разработали высокопроизводительный симулятор запросов, который выдавал URL’ы со ссылкой на HTTP-сервер в симуляторе, так что этот симулятор работал одновременно как запрашивающий клиент и хост-сервер. Он случайным образом вставлял задержки в ответы, чтобы спровоцировать такую порчу изображений в Media Proxy. Надёжно воспроизведя проблему, удалось изолировать компоненты Media Proxy и найти состояние гонки в выходном буфере, содержащем картинку изменённого размера. В этот буфер записывалось одно изображение, а затем другое, прежде чем первое возвращалось в систему. Глючные картинки в реальности были двумя JPEG’ами, записанные один поверх другого.

Как уменьшить дискорд по размеру. Смотреть фото Как уменьшить дискорд по размеру. Смотреть картинку Как уменьшить дискорд по размеру. Картинка про Как уменьшить дискорд по размеру. Фото Как уменьшить дискорд по размеру

Реальный глючный JPEG, сгенерированный Media Proxy

Другой способ искать баги в сложных системах — фаззинг, когда генерируются случайные входные данные и отправляются в систему. В таком случае система может проявить странное поведение или обвалиться. Поскольку наша система должна быть устойчива к любым входным данным, мы решили применить эту важную технику в процессе тестирования. AFL — исключительно хороший фаззер, так что мы выбрали его и натравили на Lilliput, что позволило выявить несколько сбоев из-за неинициализированных переменных.

После исправления этих багов наша уверенность выросла достаточно, чтобы выкатить Media Proxy в продакшн — и мы с радостью убедились, что наши усилия стоили того. Media Proxy требовал на 60% меньше серверных инстансов для обработки такого же количества запросов, что и Image Proxy, выполняя эти запросы в гораздо меньшие разбросы времени. Профилирование показало, что более 90% времени CPU в новом сервисе уходит на декомпрессию, изменение размера и сжатие. Эти библиотеки уже значительно оптимизированы, то есть дополнительного прироста добиться было бы нелегко. Вдобавок, сервис почти не генерировал мусора в процессе работы.

Сейчас Media Proxy выполняет изменение размера изображения с медианным временем 25 мс, а задержка ответа составляет по медиане 85 мс. Он изменяет размер более 150 миллионов картинок каждый день. Media Proxy работает на автомасштабируемой GCE-группе хостов типа n1-standard-16, с пиковым количеством 12 инстансов в обычный день.

Загрузка медиа в Media Proxy

После успешной работы сервиса на статичных изображениях мы хотели подключить к нему поддержку изменения размера анимированных GIF, и эту работу OpenCV не сделает за нас. Мы решили добавить в Lilliput ещё один враппер Cgo поверх giflib, чтобы Lilliput смог изменять размер анимированных GIF целиком, а также выдавать первый кадр в формате PNG.

Изменение размера GIF оказалось не таким простым, поскольку стандарт GIF предусматривает использование палитр по 256 цветов в каждом кадре, а модуль изменения размера работает в пространстве RGB. Мы решили сохранять палитру каждого кадра, а не вычислять новые палитры. Чтобы конвертировать RGB обратно в индексы палитры, мы снабдили Lilliput простой таблицей-справочником, которая брала некоторые биты RGB и использовала результат как ключ в таблице индексов палитры. Это работало хорошо и сохраняло оригинальные цвета, хотя такой подход не означает, что Lilliput способен создавать GIF только из исходных файлов этого формата.

Мы также пропатчили giflib, чтобы было легче декодировать только по одному фрейму за раз. Это позволило декодировать фрейм, изменить размер, затем закодировать и сжать его, прежде чем переходить к следующему. Так уменьшается потребление памяти модулем изменения размера GIF. Это несколько усложняет Lilliput, потому что ему нужно сохранять некоторые состояния GIF от кадра к кадру, но более предсказуемое использование памяти в Media Proxy выглядит явным преимуществом.

Враппер giflib в Lilliput исправляет некоторые проблемы, которые были в GIF-ресайзере Image Proxy, поскольку giflib даёт полный контроль над процессом изменения размера. Немалое число пользователей Nitro загружают GIF-анимированные аватары, которые глючат или имеют ошибки прозрачности после изменения размера в Image Proxy, но отлично работают после обработки Media Proxy. В целом, как выяснилось, у программ изменения размера есть проблемы с некоторыми аспектами формата GIF, так что они выдают визуальные глюки для фреймов с прозрачностью или частичных фреймов. Создание собственного враппера позволило решить проблемы, которые нам встречались.

Наконец, в Lilliput добавили Cgo-враппер на libavcodec, так что он смог останавливать видео и получать первый кадр клипов MP4 и WEBM. Эта функциональность позволит Media Proxy генерировать превьюшки для публикуемых пользователями видеофайлов, чтобы остальные люди на основании этой превьюшки принимали решение, запускать видео или нет. Извлечение первого кадра оставалось одним из последних факторов, который останавливал нас от добавления в клиент встроенного видеоплеера для публикуемых файлов и ссылок.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *