После выхода The War Within некоторые игроки начали жаловаться на значительное снижение производительности World of Warcraft и, как следствие, падение частоты смены кадров (FPS). Хотя причин у этого может быть много, чаще всего в этом виноваты аддоны и их взаимодействие с игрой. После некоторых расследователей авторы известных модификаций обнаружили несколько неполадок, из-за которых в определенных ситуациях FPS может сильно "просесть".

Один из разработчиков интерфейса ElvUI, Luckyone,
опубликовал в X/Twitter сообщение, в котором подробно рассказал о найденных им проблемах. Часто FPS снижают пользовательские WeakAura, в которых используется отображение дополнительных моделей и текстур. Одна лишняя модель на экране (у аур их может быть несколько, а у самого пользователя – несколько аур) может снизить FPS на несколько десятков очков. Также проблемы вызывают и другие аддоны, что отображают в интерфейсе 3D-модели.
Так что если вы сталкиваетесь с подобными затруднениями, то попробуйте отключить отображение моделей в настройках аддона, например, заменив 3D на 2D-варианты. Что касается WeakAura, то необходимо проверить каждую установленную ауру и в случае наличия отображаемой модели отключить ее, что, правда, может несколько нарушить работу: Отображение > Модель > Снять галочку с "Показывать модель" или и вовсе удалить. Для автоматического поиска аур с отображаемыми моделями вы можете использовать следующий скрипт, который укажет их названия, если такие имеются:
/run local function _(a)if a.regionType=="model"then return 1 end for i,s in pairs(a.subRegions or{})do if s.type=="submodel"then return 1 end end end for n,a in pairs(WeakAurasSaved.displays)do if _(a)then print(n)end end

Проблемы с производительностью в рейдах
Поскольку в социальных сетях все и каждый, похоже, являются экспертами в вопросах FPS и времени кадра, давайте немного поговорим, объясним и дадим рекомендации.
1.) Известные на данный момент ошибки в игре
– Модели и сцены с моделями будут вызывать значительное падение производительности из-за ошибки в движке игры. В основном это относится к любому виду WeakAura, использующему подобные эффекты моделей (причудливые светящиеся полоски энергии, анимированные модели, которые танцуют на экране, и т.д.). Вам следует пройтись по всем своим WA, открыть вкладку "Отображение" и убедиться, что вы отключили или удалили все активные модели или наложения моделей сцены. Не называя имен, два самых популярных пакета класса WeakAura на Wago известны тем, что используют эти модели для вышеупомянутых эффектов. Это не то, что разработчики аддонов могут исправить, и Blizzard должна решить эту проблему сама. Проблема была изучена и подтверждена несколькими Discord-серверами, и о ней было сообщено Blizzard.
– Портреты на UnitFrames и NamePlates сильно снижают производительность, по тем же причинам, что и модели. Вам определенно не следует их использовать, и если вы все равно этого хотите, перейдите на 2D неанимированные версии.
– Если вас интересуют чистые цифры, то одна единственная отрисованная на экране модель может привести к потере 10 FPS. Это не выдумка.
1.1.) Спам фоновых событий
– События запускаются игрой и используются аддонами для выполнения определенного кода. Например, событие GROUP_ROSTER_UPDATE должно запускаться только тогда, когда кто-то присоединяется или покидает вашу партию/рейд, однако это событие беспорядочно спамит вашему клиенту и заставляет аддоны выполнять свой код обновления состава группы снова и снова. Чем больше ваша рейдовая группа, тем все хуже.
2.) Фильтрация позитивных и негативных эффектов [коротко: ауры]
– Фильтрация аур с помощью allowlists/whitelists и blocklists/blacklists – самая ресурсоемкая задача для аддона. К сожалению, большинство игроков привыкли к этому, и будет очень сложно убедить их в альтернативном решении вроде одиночных индикаторов, которые регистрируются в журнале боя с помощью идентификаторов заклинаний, так как для этого придется отключить автоматическое отслеживание аур в окнах/панелях и вручную добавлять идентификаторы, которые их интересуют.
3.) Проблемы со шрифтами
– После некоторого тестирования и устранения неполадок мы обнаружили, что большие файлы шрифтов, например шрифты, поддерживающие несколько символов для таких алфавитов, как кириллица, китайский, японский и корейский, будут очень заметно влиять на FPS. Это можно проверить в игре лишь частично. Уточните, какой шрифт/шрифты вы чаще всего используете, затем выясните, какой аддон предоставляет его/их, и откройте его папку в Interface/AddOns, затем перейдите к файлу шрифта и проверьте размер файла – если файл шрифта больше 100 кб и вы используете его для многих вещей, особенно для текста восстановления способностей на панелях действий и WeakAura, это может быть одной из ваших проблем.
4.) Частота обновления панелей, значков и текста
– Большинство аддонов по стандарту имеет очень высокую скорость обновления анимации, панелей, значков и текста. Некоторые из них обновляются в режиме реального времени. Это сильно влияет на производительность, и вам следует зайти в настройки и подумать, насколько быстро вам нужно, чтобы эта информация обновлялась. Нет ни одной причины в мире, по которой ваш счетчик урона в секунду должен обновляться с частотой 0,05 раз в секунду, что составляет 20 обновлений в секунду! Это также относится к панелям с именами и тексту на других элементах.
Details: /details options > Display > Update Interval
Plater: /plater > Advanced > Update Interval
ElvUI: /ec > General > Tag Update Rate
5.) Загружайте условия и аддоны для каждого контента отдельно
– Убедитесь, что ваши WeakAura и аддоны загружаются/включаются только для того контента, который вы собираетесь запустить.
– В случае с WeakAura вы можете сделать это для каждой ауры отдельно на вкладке "Загрузка".
– В случае с аддонами я рекомендую что-то вроде Simple Addon Manager (SAM), где вы можете настроить наборы профилей для ваших аддонов на основе пользовательских категорий для каждого контента (подземелья, рейды, PvP, открытый мир).
– Нет буквально никаких причин держать ваши аддоны для подземелий и PvP или такие вещи, как HandyNotes, TomTom и другие, включенными, когда вы собираетесь отправиться в рейд на несколько часов. Один клик по профилю, быстрая перезагрузка – и все неиспользуемые аддоны отключены.
6.) Графический профиль для рейдов и полей боя
– Настоятельно рекомендуется включить флажок "Качество в режиме рейда" в ESC > Настройки > Основные > Графика > Рейды и поля боя. Это позволит игре загружать определенный набор настроек каждый раз, когда вы попадаете на экран загрузки рейда или поля боя. Если вам нужны очень здравые рекомендации, чтобы добиться максимально возможного FPS и при этом видеть все важные эффекты, такие как опасные зоны, разные лужи и мощные способности лекарей, например "Духовную связь" и "Целительный ливень", – воспользуйтесь настройкам с моего скриншота.
– Если вам нужна более подробная информация по дальнейшей оптимизации графики в целом, обратитесь к моему руководству на GitHub.
7.) Специфические "исправления" для ElvUI
– Большинство людей, жалующихся на низкий FPS при использовании ElvUI, не используют стандартные настройки аддона (по очевидным причинам) и предпочитают личные раскладки или раскладки своих любимых стримеров, что вполне справедливо. Тем не менее, все, о чем пойдет речь ниже, является основной причиной плохого FPS и не включено по умолчанию:
- Негативные эффекты для Группы, Рейд1, Рейд2, Рейд3 должны быть отключены по причинам фильтрации, описанным в самом верху этого поста. Это будет основной причиной неиграбельного FPS у вас в рейдах на 20-30 человек.
- Альтернативой здесь является "Индикатор негативных рейдовых эффектов", с помощью которого можно настроить на отображение негативных эффектов, которые текущая специализация может активно рассеивать.
- Портреты игрока/цели должны быть отключены.
- Сглаживание панелей должно быть отключено.
- Градиентное окрашивание (добавляемое некоторыми плагинами) должно быть отключено.
Автор Deadly Boss Mods, MysticalOS, подготовил несколько роликов, в которых наглядно продемонстрировал влияние WeakAura, а также иных аддонов и настроек на производительность игры.