Предыдущие версии
Название | Размер | Обновлено | Версия игры | Загрузок | |
2022-10-30-release-wrath release | 5.58 KB | Oct 30, 2022 | 3.4.0 | 158 | Скачать |
2022-10-30-release-bcc release | 5.58 KB | Oct 30, 2022 | 2.5.4 | 5 | Скачать |
2022-10-30-release-classic release | 5.58 KB | Oct 30, 2022 | 1.14.3 | 14 | Скачать |
2022-10-30-release release | 5.58 KB | Oct 30, 2022 | 10.0.2 +3 | 875 | Скачать |
2021-07-04-release-bcc release | 4.99 KB | Jul 4, 2021 | 2.5.1 | 226 | Скачать |
2021-07-04-release-classic release | 4.99 KB | Jul 4, 2021 | 1.13.7 | 80 | Скачать |
2021-07-04-release release | 4.99 KB | Jul 4, 2021 | 9.1.0 | 702 | Скачать |
2018-08-13-release release | 3.83 KB | Aug 13, 2018 | 8.0.1 | 1,546 | Скачать |
2018-08-01-release release | 3.72 KB | Aug 1, 2018 | 8.0.1 | 678 | Скачать |
2017-09-03-release release | 3.72 KB | Sep 4, 2017 | 7.3.0 | 1,208 | Скачать |
2017-07-22-release release | 3.73 KB | Jul 22, 2017 | 7.2.5 | 684 | Скачать |
2016-10-27-release release | 3.83 KB | Oct 27, 2016 | 7.1.0 | 1,314 | Скачать |
2016-09-15-release-3 release | 3.84 KB | Sep 15, 2016 | 7.0.3 | 729 | Скачать |
2016-09-15-release-2 release | 3.82 KB | Sep 15, 2016 | 7.0.3 | 191 | Скачать |
2016-09-15-release release | 3.88 KB | Sep 15, 2016 | 7.0.3 | 241 | Скачать |
2016-09-09-release release | 1.50 KB | Sep 9, 2016 | 7.0.3 | 404 | Скачать |
Описание
Некоторые аддоны WoW безответственно вызывают функцию lua collectgarbage, заставляя все выполнение останавливаться до тех пор, пока оно не будет завершено. Это может занять более полсекунды, что раздражающе замораживает игру. Большинству аддонов не нужно делать такие вызовы, но некоторые все равно делают это, вызывая эти блокировки.
Вместо того чтобы поддерживать удаление вызовов collectgarbage во всех аддонах, которые я использую, я решил написать этот крошечный аддон, который перехватывает эти безответственные вызовы collectgarbage, чтобы предотвратить эти короткие блокировки и зависания. Теперь моя игра чувствует себя более гладкой при выполнении различных действий, которые ранее вызывали заикание от collectgarbage.
Я также добавил крючок для UpdateAddOnMemoryUsage, интенсивной функции процессора, которую, как я обнаружил, вызывали несколько аддонов, когда они даже не профилировались по какой-либо причине. С этим добавлением я подумал, что некоторые люди могут захотеть отключить этот крючок, чтобы они могли выполнять профилирование памяти с включенным GarbageProtector, поэтому я сделал меню опций CLI и GUI. Кроме того, если вы являетесь автором аддона, вы можете запустить ToggleGarbageProtector, ToggleHandlecollectgarbage или ToggleHandleUpdateAddOnMemoryUsage напрямую, чтобы отключить вмешательство любого из крючков GarbageProtector.
Имя папки аддона имеет 3 «! » в начале, чтобы вызвать его загрузку в первую очередь, прежде чем любые аддоны, которые замедлили бы загрузку экранов с вызовами collectgarbage. Есть еще один аддон с 2 «!», который я хотел загрузить раньше GarbageProtector, так что именно поэтому 3 вместо 2 или 1.
Предупреждение: из-за природы 2-х крючков, которые реализует GarbageProtector, если крючки не будут отключены (из меню опций GarbageProtector, интерфейса командной строки или функций Lua setter), это предотвратит:
- полные ручные циклы сбора мусора (функция с именем «collectgarbage»; не препятствует регулярной скорости работы сборщика мусора Lua)
- обновление текущего количества использования памяти аддона (функция с именем «UpdateAddOnMemoryUsage»; заставляет профилирующие аддоны показывать 0 или их последнее запрошенное значение)
Например, у ElvUI есть функция запуска сборки мусора вручную, нажав где-нибудь. Это предотвращается GarbageProtector, потому что это безответственное использование collectgarbage, которое блокирует вашу игру (которая, если она запускается автоматически, как это делают некоторые аддоны, не нравится пользователю). Однако, если вы действительно хотите запустить его, вы можете переключить опцию GarbageProtector с помощью «/gp collectgarbage» или из меню опций GUI. Вот почему я добавил опции в первую очередь: так что вы можете выбрать, что вы хотите сделать.
Добавить комментарий