Trinity - Управление частотой процессора
Цитата: dehote9223 от 13.09.2026, 08:06Улучшения теплового контроля и мониторинга (Intel & Безопасность):
* **Общая температура сокета Intel (Package Temperature):**
* Реализовано чтение MSR-регистра `0x1B1` (`IA32_PACKAGE_THERM_STATUS`), доступного на всех процессорах Intel Core начиная с архитектуры Sandy Bridge. Теперь температура отображается по самому горячему сенсору всего процессора, исключая занижение показателей из-за простаивающих ядер.
* **Многопоточный опрос ядер (Core Affinity):**
* Для процессоров без поддержки MSR `0x1B1` (или в средах виртуализации) добавлен интеллектуальный опрос: поток программы циклически переключает маску привязки (`SetThreadAffinityMask`) по всем логическим ядрам и считывает `MSR 0x19C`, фиксируя абсолютную пиковую температуру.
* **Диагностика изоляции ядра Windows (VBS / HVCI):**
* Добавлен перехват ошибки блокировки низкоуровневого драйвера (`ERROR_DRIVER_BLOCKED` 1275 / черный список уязвимых драйверов Microsoft).
* Вместо непонятных цифровых кодов в заголовок слайдера теперь выводится ясная подсказка: `Лимит (VBS/HVCI блокирует драйвер)`.
Улучшения теплового контроля и мониторинга (Intel & Безопасность):
* **Общая температура сокета Intel (Package Temperature):**
* Реализовано чтение MSR-регистра `0x1B1` (`IA32_PACKAGE_THERM_STATUS`), доступного на всех процессорах Intel Core начиная с архитектуры Sandy Bridge. Теперь температура отображается по самому горячему сенсору всего процессора, исключая занижение показателей из-за простаивающих ядер.
* **Многопоточный опрос ядер (Core Affinity):**
* Для процессоров без поддержки MSR `0x1B1` (или в средах виртуализации) добавлен интеллектуальный опрос: поток программы циклически переключает маску привязки (`SetThreadAffinityMask`) по всем логическим ядрам и считывает `MSR 0x19C`, фиксируя абсолютную пиковую температуру.
* **Диагностика изоляции ядра Windows (VBS / HVCI):**
* Добавлен перехват ошибки блокировки низкоуровневого драйвера (`ERROR_DRIVER_BLOCKED` 1275 / черный список уязвимых драйверов Microsoft).
* Вместо непонятных цифровых кодов в заголовок слайдера теперь выводится ясная подсказка: `Лимит (VBS/HVCI блокирует драйвер)`.
Цитата: dehote9223 от 13.09.2026, 08:50[spoiler title="Прочие изменения"]Резервный термомониторинг без Ring0 (ACPI WMI Fallback):
Автоматический Fallback: Реализован опрос температурных зон через системный WMI-класс root\wmi:MSAcpi_ThermalZoneTemperature при недоступности низкоуровневых интерфейсов.
Обход ограничений безопасности Windows: Температура процессора теперь стабильно считывается даже при активной изоляции ядра (VBS / HVCI) и блокировке драйвера WinRing0 политиками безопасности (ошибка 1275 / Microsoft Vulnerable Driver Blocklist), а также на конфигурациях без прямой поддержки MSR/PCI.
Защита накопителя (SSD): Устранена циклическая перезапись драйвера во временную папку и спам в диспетчер служб (SCM) при невозможности загрузки Ring0-модуля.
Математическая коррекция: Добавлен точный пересчёт значений из десятых долей Кельвина в градусы Цельсия с математическим округлением (+0.5°C) и валидацией диапазона на отсечение аппаратного шума. Для архитектуры Intel добавлена верификация флага валидности показаний (бит 31 MSR) для исключения ложного троттлинга.
Асинхронный опрос в фоновом воркере (Полная разгрузка UI):
Вынос блокирующих вызовов: Все ресурсоёмкие операции (чтение MSR, опрос PCI, цикл переключения маски потока SetThreadAffinityMask по ядрам и WMI-запросы) перенесены из главного оконного потока (WM_TIMER) в отдельный рабочий поток MonitorWorkerThread с повышенным приоритетом (THREAD_PRIORITY_ABOVE_NORMAL).
Lock-free передача данных: Обмен показаниями температуры между воркером и GUI переведён на неблокирующие атомарные переменные std::atomic<int>.
Результат: Полностью устранены микрофризы интерфейса, просадки FPS и инпут-лаг при быстрых действиях (включая прокрутку колеса мыши на рабочем столе и панели задач).
Синхронизация WMI и контроль жизненного цикла:
Многопоточная безопасность WMI: Добавлена строгая синхронизация доступа к интерфейсам IWbemServices на базе примитива SRWLOCK с разделением на чтение (Shared) и монопольную запись (Exclusive) при инициализации и смене параметров, что предотвращает состояние гонки (Race Condition).
Устранение гонок данных гаммы: Работа с аппаратной гаммой монитора (g_gammaBrightness) переведена на потокобезопасные атомарные операции.
Контроль жизненного цикла потока: Управление воркером переведено на сигнальные события Win32 (Event) со строгим порядком завершения до выгрузки COM-библиотек — обеспечены мгновенный отклик при запуске и гарантированное закрытие процесса без зависаний и крашей (Access Violation).[/spoiler]
Автоматический Fallback: Реализован опрос температурных зон через системный WMI-класс root\wmi:MSAcpi_ThermalZoneTemperature при недоступности низкоуровневых интерфейсов.
Обход ограничений безопасности Windows: Температура процессора теперь стабильно считывается даже при активной изоляции ядра (VBS / HVCI) и блокировке драйвера WinRing0 политиками безопасности (ошибка 1275 / Microsoft Vulnerable Driver Blocklist), а также на конфигурациях без прямой поддержки MSR/PCI.
Защита накопителя (SSD): Устранена циклическая перезапись драйвера во временную папку и спам в диспетчер служб (SCM) при невозможности загрузки Ring0-модуля.
Математическая коррекция: Добавлен точный пересчёт значений из десятых долей Кельвина в градусы Цельсия с математическим округлением (+0.5°C) и валидацией диапазона на отсечение аппаратного шума. Для архитектуры Intel добавлена верификация флага валидности показаний (бит 31 MSR) для исключения ложного троттлинга.
Асинхронный опрос в фоновом воркере (Полная разгрузка UI):
Вынос блокирующих вызовов: Все ресурсоёмкие операции (чтение MSR, опрос PCI, цикл переключения маски потока SetThreadAffinityMask по ядрам и WMI-запросы) перенесены из главного оконного потока (WM_TIMER) в отдельный рабочий поток MonitorWorkerThread с повышенным приоритетом (THREAD_PRIORITY_ABOVE_NORMAL).
Lock-free передача данных: Обмен показаниями температуры между воркером и GUI переведён на неблокирующие атомарные переменные std::atomic<int>.
Результат: Полностью устранены микрофризы интерфейса, просадки FPS и инпут-лаг при быстрых действиях (включая прокрутку колеса мыши на рабочем столе и панели задач).
Синхронизация WMI и контроль жизненного цикла:
Многопоточная безопасность WMI: Добавлена строгая синхронизация доступа к интерфейсам IWbemServices на базе примитива SRWLOCK с разделением на чтение (Shared) и монопольную запись (Exclusive) при инициализации и смене параметров, что предотвращает состояние гонки (Race Condition).
Устранение гонок данных гаммы: Работа с аппаратной гаммой монитора (g_gammaBrightness) переведена на потокобезопасные атомарные операции.
Контроль жизненного цикла потока: Управление воркером переведено на сигнальные события Win32 (Event) со строгим порядком завершения до выгрузки COM-библиотек — обеспечены мгновенный отклик при запуске и гарантированное закрытие процесса без зависаний и крашей (Access Violation).
Цитата: dehote9223 от 14.09.2026, 13:05Теперь при наведении курсора на значок программы в системном трее пункт "Лимит" отображает не только установленный порог,
но и текущую температуру процессора в реальном времени:При активном лимите: Лимит - 85°C (52°C)
Если лимит отключен: Лимит - Выкл (45°C)
Теперь при наведении курсора на значок программы в системном трее пункт "Лимит" отображает не только установленный порог,
но и текущую температуру процессора в реальном времени:
При активном лимите: Лимит - 85°C (52°C)
Если лимит отключен: Лимит - Выкл (45°C)
Цитата: dehote9223 от 14.09.2026, 19:34Оптимизация и повышение стабильности глобального хука мыши DesktopMouseHookProc
Входная точка обработки событий (WM_LBUTTONDOWN, WM_MOUSEWHEEL, WM_MBUTTONDOWN/UP) теперь первым делом проверяет принадлежность окна процессу explorer.exe.
Для 100% сторонних приложений (игры, браузеры, рабочие программы) хук мгновенно возвращает управление системе за доли наносекунды.Устранена проблема, при которой проверка двойного клика ЛКМ вызывала системную функцию чтения класса окна и строковые сравнения _wcsicmp в сторонних процессах по всей ОС.
За счёт максимальной разгрузки процедуры сведён к нулю риск превышения лимита времени ответа низкоуровневого хука WH_MOUSE_LL под высокой нагрузкой на систему.
Устранено дублирование кода и повторные вызовы FindWindowW — актуализация кэша базовых дескрипторов (Shell_TrayWnd, Progman) и проверка PID объединены в единый быстрый конвейер.
Оптимизация и повышение стабильности глобального хука мыши DesktopMouseHookProc
Входная точка обработки событий (WM_LBUTTONDOWN, WM_MOUSEWHEEL, WM_MBUTTONDOWN/UP) теперь первым делом проверяет принадлежность окна процессу explorer.exe.
Для 100% сторонних приложений (игры, браузеры, рабочие программы) хук мгновенно возвращает управление системе за доли наносекунды.
Устранена проблема, при которой проверка двойного клика ЛКМ вызывала системную функцию чтения класса окна и строковые сравнения _wcsicmp в сторонних процессах по всей ОС.
За счёт максимальной разгрузки процедуры сведён к нулю риск превышения лимита времени ответа низкоуровневого хука WH_MOUSE_LL под высокой нагрузкой на систему.
Устранено дублирование кода и повторные вызовы FindWindowW — актуализация кэша базовых дескрипторов (Shell_TrayWnd, Progman) и проверка PID объединены в единый быстрый конвейер.
Цитата: dehote9223 от 14.09.2026, 20:33Отключено автоматическое восстановление расположения значков при запуске Windows
Устранено кратковременное исчезновение (моргание) значков рабочего стола при включении ПК и входе в систему.
Значки, перемещённые пользователем в процессе работы, больше не сбрасываются принудительно на старые сохранённые позиции после перезагрузки.
Сохранение и восстановление сетки значков теперь работает строго по требованию через контекстное меню трея.
Отключено автоматическое восстановление расположения значков при запуске Windows
Устранено кратковременное исчезновение (моргание) значков рабочего стола при включении ПК и входе в систему.
Значки, перемещённые пользователем в процессе работы, больше не сбрасываются принудительно на старые сохранённые позиции после перезагрузки.
Сохранение и восстановление сетки значков теперь работает строго по требованию через контекстное меню трея.
Цитата: dehote9223 от 14.09.2026, 21:16Добавлена возможность отключения низкоуровневого температурного драйвера (Ring0)
В подменю "🕹 Игровые оптимизации" добавлен пункт "🛑 Отключить температурный драйвер Троицы".
При активации пункта программа останавливает поток мониторинга, выгружает драйвер из ядра, останавливает и удаляет системную службу, а также стирает распакованный файл драйвера (WinRing0x64.sys) из временной папки %TEMP%.Если в момент отключения драйвера действовало автоматическое снижение частоты из-за нагрева, частота процессора и состояние Turbo Boost корректно возвращаются к исходным пользовательским значениям.
При снятии галочки драйвер и мониторинг температур инициализируются заново "на лету" без необходимости перезапускать приложение.
Зачем это нужно
Популярные античиты соревновательных игр (Riot Vanguard, Easy Anti-Cheat, BattlEye, Ricochet) в современных версиях Windows блокируют или помечают драйверы прямого доступа к железу (библиотеки класса WinRing0) из-за известных уязвимостей в их устаревших версиях.
Отключение драйвера устраняет конфликты, вылеты и предупреждения при запуске игр (Valorant, Fortnite, Apex Legends и др.).
Добавлена возможность отключения низкоуровневого температурного драйвера (Ring0)
В подменю "🕹 Игровые оптимизации" добавлен пункт "🛑 Отключить температурный драйвер Троицы".
При активации пункта программа останавливает поток мониторинга, выгружает драйвер из ядра, останавливает и удаляет системную службу, а также стирает распакованный файл драйвера (WinRing0x64.sys) из временной папки %TEMP%.
Если в момент отключения драйвера действовало автоматическое снижение частоты из-за нагрева, частота процессора и состояние Turbo Boost корректно возвращаются к исходным пользовательским значениям.
При снятии галочки драйвер и мониторинг температур инициализируются заново "на лету" без необходимости перезапускать приложение.
Зачем это нужно
Популярные античиты соревновательных игр (Riot Vanguard, Easy Anti-Cheat, BattlEye, Ricochet) в современных версиях Windows блокируют или помечают драйверы прямого доступа к железу (библиотеки класса WinRing0) из-за известных уязвимостей в их устаревших версиях.
Отключение драйвера устраняет конфликты, вылеты и предупреждения при запуске игр (Valorant, Fortnite, Apex Legends и др.).
Цитата: dehote9223 от 15.09.2026, 06:46[spoiler title="Многоуровневый каскадный мониторинг WMI (Fallback для VBS / HVCI)"]Реализован интеллектуальный каскадный опрос WMI-датчиков температуры при блокировке низкоуровневого Ring0-драйвера системой безопасности (активная изоляция ядра VBS / HVCI в Windows 11).
Опрос выстроен по строгому приоритету точности — от специализированных интерфейсов к универсальным:
Интеграция со сторонними мониторами (наивысший приоритет):
Опрос WMI-провайдера AIDA64 (AIDA64_SensorValues по ID: TCPU, TCPUPKG, TCPU1), если утилита активна в системе.Вендорские классы ноутбуков и материнских плат:
MSI (MSI_CPU_Temperature);
Dell / Alienware (Dell_ThermalInformation);
HP (HP_BioSThermalInformation).Именные зоны ACPI и системные счетчики:
Универсальные зоны ACPI (MSAcpi_ThermalZoneTemperature);
Счётчики производительности ядра Windows (Win32_PerfFormattedData_Counters_ThermalZoneInformation в пространстве ROOT\CIMV2).Универсальный резерв (Fallback):
Базовые термозоны (ThermalZone).🧠 Интеллектуальная обработка данных
Интеллектуальная нормализация показаний:
Реализован автоматический парсер величин с поддержкой любых форматов WMI (включая строковые VT_BSTR): корректно распознаются и конвертируются в °C десятые доли Кельвина (стандарт ACPI), целые Кельвины (счётчики Windows) и прямые значения в градусах Цельсия.Приоритет процессорных термозон:
При опросе общих ACPI-зон алгоритм парсит имена (InstanceName / Name) и отбирает датчики с метками CPU, PKG или CORE, отсекая второстепенные и статичные показания чипсета или корпуса.⚡ Оптимизация и производительность
Приоритетный быстрый выход:
Благодаря выверенному порядку опроса актуальная температура снимается из самого точного доступного источника (AIDA64 или вендорский драйвер), после чего опрос остальных классов мгновенно прекращается. Это исключает получение «застывших» значений из общих заглушек ACPI и полностью устраняет влияние мониторинга на FPS в играх.Кэширование WMI-подключений:
Подключения к пространствам ROOT\WMI и ROOT\CIMV2 инициализируются единожды с кэшированием COM-интерфейсов, снижая нагрузку на подсистему DCOM/WMI-хост до нуля.[/spoiler]
Опрос выстроен по строгому приоритету точности — от специализированных интерфейсов к универсальным:
Интеграция со сторонними мониторами (наивысший приоритет):
Опрос WMI-провайдера AIDA64 (AIDA64_SensorValues по ID: TCPU, TCPUPKG, TCPU1), если утилита активна в системе.
Вендорские классы ноутбуков и материнских плат:
MSI (MSI_CPU_Temperature);
Dell / Alienware (Dell_ThermalInformation);
HP (HP_BioSThermalInformation).
Именные зоны ACPI и системные счетчики:
Универсальные зоны ACPI (MSAcpi_ThermalZoneTemperature);
Счётчики производительности ядра Windows (Win32_PerfFormattedData_Counters_ThermalZoneInformation в пространстве ROOT\CIMV2).
Универсальный резерв (Fallback):
Базовые термозоны (ThermalZone).
🧠 Интеллектуальная обработка данных
Интеллектуальная нормализация показаний:
Реализован автоматический парсер величин с поддержкой любых форматов WMI (включая строковые VT_BSTR): корректно распознаются и конвертируются в °C десятые доли Кельвина (стандарт ACPI), целые Кельвины (счётчики Windows) и прямые значения в градусах Цельсия.
Приоритет процессорных термозон:
При опросе общих ACPI-зон алгоритм парсит имена (InstanceName / Name) и отбирает датчики с метками CPU, PKG или CORE, отсекая второстепенные и статичные показания чипсета или корпуса.
⚡ Оптимизация и производительность
Приоритетный быстрый выход:
Благодаря выверенному порядку опроса актуальная температура снимается из самого точного доступного источника (AIDA64 или вендорский драйвер), после чего опрос остальных классов мгновенно прекращается. Это исключает получение «застывших» значений из общих заглушек ACPI и полностью устраняет влияние мониторинга на FPS в играх.
Кэширование WMI-подключений:
Подключения к пространствам ROOT\WMI и ROOT\CIMV2 инициализируются единожды с кэшированием COM-интерфейсов, снижая нагрузку на подсистему DCOM/WMI-хост до нуля.
Цитата: dehote9223 от 15.09.2026, 07:35Переработана логика работы опции "🛑 Отключить температурный драйвер Троицы"
При отключении низкоуровневого драйвера ядра он немедленно выгружается из памяти системы, однако поток мониторинга больше не останавливается.
Через сигнальное системное событие фоновый поток мгновенно (за 0 мс) переключается на опрос альтернативных источников (AIDA64 ➔ OEM-классы MSI / Dell / HP ➔ системные ACPI-термозоны).
Больше не требуется перезапускать программу, чтобы подхватить температуру от внешних утилит.Опрос WMI полностью вынесен из главного графического интерфейса в независимый рабочий поток (COINIT_MULTITHREADED).
Это исключило системный конфликт потоковых апартаментов Windows COM (RPC_E_WRONG_THREAD) и избавило интерфейс программы от любых микрозадержек и подвисаний при поиске датчиков.Даже при полностью выгруженном драйвере Троицы функция "Горячий лимит" (автоматическое отключение Turbo Boost и ступенчатое снижение частоты) продолжает полноценно работать, используя показания температуры, поступающие из AIDA64 или системного WMI.
Температура в основном окне и трее теперь обновляется сразу же в момент клика по меню.
Статус об отсутствии датчиков выводится только в том случае, если отключен драйвер, не запущен сторонний мониторинг и сама материнская плата физически не имеет стандартных ACPI-зон.
Переработана логика работы опции "🛑 Отключить температурный драйвер Троицы"
При отключении низкоуровневого драйвера ядра он немедленно выгружается из памяти системы, однако поток мониторинга больше не останавливается.
Через сигнальное системное событие фоновый поток мгновенно (за 0 мс) переключается на опрос альтернативных источников (AIDA64 ➔ OEM-классы MSI / Dell / HP ➔ системные ACPI-термозоны).
Больше не требуется перезапускать программу, чтобы подхватить температуру от внешних утилит.
Опрос WMI полностью вынесен из главного графического интерфейса в независимый рабочий поток (COINIT_MULTITHREADED).
Это исключило системный конфликт потоковых апартаментов Windows COM (RPC_E_WRONG_THREAD) и избавило интерфейс программы от любых микрозадержек и подвисаний при поиске датчиков.
Даже при полностью выгруженном драйвере Троицы функция "Горячий лимит" (автоматическое отключение Turbo Boost и ступенчатое снижение частоты) продолжает полноценно работать, используя показания температуры, поступающие из AIDA64 или системного WMI.
Температура в основном окне и трее теперь обновляется сразу же в момент клика по меню.
Статус об отсутствии датчиков выводится только в том случае, если отключен драйвер, не запущен сторонний мониторинг и сама материнская плата физически не имеет стандартных ACPI-зон.
Цитата: dehote9223 от 15.09.2026, 09:33Корректное сохранение базовой частоты процессора
Устранена ошибка, из-за которой при выключении ПК или закрытии программы на пике перегрева в файл настроек сохранялась временно заниженная частота.
Теперь в конфигурацию всегда записывается исходная (целевая) частота, и система не остаётся зажатой на низких значениях после перезагрузки.Восстановление и сохранение Turbo Boost при перезапуске программы
Устранена проблема, из-за которой Turbo Boost оставался выключенным после отключения горячего лимита, если программа перезапускалась в момент активного троттлинга.Добавлено автоматическое снятие искусственных ограничений при выходе из приложения и завершении работы Windows:
исходная частота и активность Turbo Boost теперь корректно возвращаются в схему электропитания при закрытии программы.Исходный статус Turbo Boost теперь фиксируется в файле настроек (BaselineTurbo).
Это гарантирует правильное определение и восстановление параметров разгона процессора даже в случае аварийного завершения работы или внезапного отключения питания.
Корректное сохранение базовой частоты процессора
Устранена ошибка, из-за которой при выключении ПК или закрытии программы на пике перегрева в файл настроек сохранялась временно заниженная частота.
Теперь в конфигурацию всегда записывается исходная (целевая) частота, и система не остаётся зажатой на низких значениях после перезагрузки.
Восстановление и сохранение Turbo Boost при перезапуске программы
Устранена проблема, из-за которой Turbo Boost оставался выключенным после отключения горячего лимита, если программа перезапускалась в момент активного троттлинга.
Добавлено автоматическое снятие искусственных ограничений при выходе из приложения и завершении работы Windows:
исходная частота и активность Turbo Boost теперь корректно возвращаются в схему электропитания при закрытии программы.
Исходный статус Turbo Boost теперь фиксируется в файле настроек (BaselineTurbo).
Это гарантирует правильное определение и восстановление параметров разгона процессора даже в случае аварийного завершения работы или внезапного отключения питания.
Цитата: dehote9223 от 15.09.2026, 17:02Оптимизация и переработка алгоритма "Горячего лимита" (Терморегуляция)
Алгоритм разделён на два независимых контура с разной скоростью реакции — быстрый сброс тепла и плавный возврат производительности.
При достижении или превышении установленного лимита время опроса и реакции сокращено до 1.5 секунды. Это не позволяет теплу лавинообразно накапливаться в кристалле и радиаторе.
Turbo Boost отключается сразу же.
Если зафиксирован резкий скачок температуры (≥+3°C от лимита), алгоритм в тот же шаг дополнительно снижает базовую частоту на 5%, предотвращая дальнейший нагрев.
Если температура всё ещё выше нормы, частота снижается шагами по 5%, а при сильном превышении лимита — агрессивными шагами по 10% (вплоть до безопасного минимума 50%).Возврат частот теперь происходит со значительно увеличенной задержкой (7 секунд), чтобы радиатор и теплотрубки кулера успели физически рассеять аккумулированное тепло.
Программа не начинает повышать частоту обратно при малейшем падении температуры на 1–2°C. Восстановление начинается только тогда, когда процессор остыл минимум на 6°C ниже лимита.
Наиболее горячий режим (Turbo Boost) включается в самую последнюю очередь — только после того, как ползунок частоты полностью вернулся на 100%, а температура опустилась минимум на 8°C ниже порога.
Зачем нужен запас именно в 8°C для возврата Turbo Boost:
Включение Turbo Boost сопровождается резким скачком напряжения (VCore) и тактовой частоты. Из-за этого температура кремниевого кристалла мгновенно подскакивает на +5…+10°C буквально за доли секунды — задолго до того, как тепло успеет передаться через крышку процессора на подошву радиатора.
Запас в 8°C создаёт необходимый тепловой буфер, радиатор и тепловые трубки успевают сбросить накопленный жар. При повторном включении «форсажа» у процессора есть температурный запас, который исключает мгновенный срыв обратно в троттлинг.
disk.yandex.ru/d/E_vfHfAcbNM6gg
Оптимизация и переработка алгоритма "Горячего лимита" (Терморегуляция)
Алгоритм разделён на два независимых контура с разной скоростью реакции — быстрый сброс тепла и плавный возврат производительности.
При достижении или превышении установленного лимита время опроса и реакции сокращено до 1.5 секунды. Это не позволяет теплу лавинообразно накапливаться в кристалле и радиаторе.
Turbo Boost отключается сразу же.
Если зафиксирован резкий скачок температуры (≥+3°C от лимита), алгоритм в тот же шаг дополнительно снижает базовую частоту на 5%, предотвращая дальнейший нагрев.
Если температура всё ещё выше нормы, частота снижается шагами по 5%, а при сильном превышении лимита — агрессивными шагами по 10% (вплоть до безопасного минимума 50%).
Возврат частот теперь происходит со значительно увеличенной задержкой (7 секунд), чтобы радиатор и теплотрубки кулера успели физически рассеять аккумулированное тепло.
Программа не начинает повышать частоту обратно при малейшем падении температуры на 1–2°C. Восстановление начинается только тогда, когда процессор остыл минимум на 6°C ниже лимита.
Наиболее горячий режим (Turbo Boost) включается в самую последнюю очередь — только после того, как ползунок частоты полностью вернулся на 100%, а температура опустилась минимум на 8°C ниже порога.
Зачем нужен запас именно в 8°C для возврата Turbo Boost:
Включение Turbo Boost сопровождается резким скачком напряжения (VCore) и тактовой частоты. Из-за этого температура кремниевого кристалла мгновенно подскакивает на +5…+10°C буквально за доли секунды — задолго до того, как тепло успеет передаться через крышку процессора на подошву радиатора.
Запас в 8°C создаёт необходимый тепловой буфер, радиатор и тепловые трубки успевают сбросить накопленный жар. При повторном включении «форсажа» у процессора есть температурный запас, который исключает мгновенный срыв обратно в троттлинг.
disk.yandex.ru/d/E_vfHfAcbNM6gg
Цитата: dehote9223 от 16.09.2026, 05:56Уточнение описания
«Наиболее горячий режим (Turbo Boost) включается в самую последнюю очередь — только после того, как ползунок частоты полностью вернулся на 100%...»Программа возвращает частоту не строго на фиксированные «100%», а к исходному значению пользователя (g_baselineCpuPos), которое было выставлено до перегрева.
Если у пользователя стояло 100% — она вернётся на 100%.
Но если пользователь сам ограничил частоту, например, на 90% или 85%, алгоритм не задерет её самовольно на 100%, а аккуратно вернет именно на установленные пользователем 90%, после чего (при -8°C) вернет Turbo Boost.
Уточнение описания
«Наиболее горячий режим (Turbo Boost) включается в самую последнюю очередь — только после того, как ползунок частоты полностью вернулся на 100%...»
Программа возвращает частоту не строго на фиксированные «100%», а к исходному значению пользователя (g_baselineCpuPos), которое было выставлено до перегрева.
-
Если у пользователя стояло 100% — она вернётся на 100%.
-
Но если пользователь сам ограничил частоту, например, на 90% или 85%, алгоритм не задерет её самовольно на 100%, а аккуратно вернет именно на установленные пользователем 90%, после чего (при -8°C) вернет Turbo Boost.
Цитата: dehote9223 от 16.09.2026, 15:55Интеллектуальная быстрая очистка памяти (Ctrl + F1)
Полностью переработан механизм быстрой и фоновой автоочистки.
Ранее используемый агрессивный сброс памяти ядра заменен на безопасную точечную оптимизацию неактивных фоновых процессов.Приложение, находящееся в фокусе (GetForegroundWindow()), полностью исключается из оптимизации рабочих наборов.
Это исключает статтеры, просадки FPS и задержки подгрузки текстур, если очистка срабатывает прямо во время напряжённой игровой сессии.Добавлена секция [RamClean] с параметром ExcludeProcesses.
По умолчанию из очистки исключены obs64.exe, discord.exe, spotify.exe и steam.exe.[RamClean]
ExcludeProcesses=obs64.exe;discord.exe;spotify.exe;steam.exeЭто предотвращает пропуски кадров при захвате видео в OBS и заикания звука в голосовой связи Discord.
Список можно дополнять своими программами.Проводник (explorer.exe) аппаратно добавлен в постоянный список исключений.
В быстром режиме вместо полного сброса системного кэша задействован вызов MemoryPurgeLowPriorityStandbyList (команда 5).
Очищаются только действительно ненужные низкоприоритетные страницы, в то время как полезные закэшированные файлы активной игры остаются в ОЗУ для быстрого доступа.В отличие от программ, просто сбрасывающих кэш ожидания, алгоритм точечно выгружает рабочие наборы неактивных фоновых приложений (браузеры, лаунчеры, вспомогательные службы).
Глубокая очистка (Ctrl + F2)
Сохранен бескомпромиссный тотальный режим через ядро NT.
Принудительный сброс дисковых буферов всех накопителей, очистка системного файлового кэша и полная выгрузка всей цепочки Standby List (команда 4) для ситуаций, когда требуется освободить максимум доступной физической памяти.
Интеллектуальная быстрая очистка памяти (Ctrl + F1)
Полностью переработан механизм быстрой и фоновой автоочистки.
Ранее используемый агрессивный сброс памяти ядра заменен на безопасную точечную оптимизацию неактивных фоновых процессов.
Приложение, находящееся в фокусе (GetForegroundWindow()), полностью исключается из оптимизации рабочих наборов.
Это исключает статтеры, просадки FPS и задержки подгрузки текстур, если очистка срабатывает прямо во время напряжённой игровой сессии.
Добавлена секция [RamClean] с параметром ExcludeProcesses.
По умолчанию из очистки исключены obs64.exe, discord.exe, spotify.exe и steam.exe.
[RamClean]
ExcludeProcesses=obs64.exe;discord.exe;spotify.exe;steam.exe
Это предотвращает пропуски кадров при захвате видео в OBS и заикания звука в голосовой связи Discord.
Список можно дополнять своими программами.
Проводник (explorer.exe) аппаратно добавлен в постоянный список исключений.
В быстром режиме вместо полного сброса системного кэша задействован вызов MemoryPurgeLowPriorityStandbyList (команда 5).
Очищаются только действительно ненужные низкоприоритетные страницы, в то время как полезные закэшированные файлы активной игры остаются в ОЗУ для быстрого доступа.
В отличие от программ, просто сбрасывающих кэш ожидания, алгоритм точечно выгружает рабочие наборы неактивных фоновых приложений (браузеры, лаунчеры, вспомогательные службы).
Глубокая очистка (Ctrl + F2)
Сохранен бескомпромиссный тотальный режим через ядро NT.
Принудительный сброс дисковых буферов всех накопителей, очистка системного файлового кэша и полная выгрузка всей цепочки Standby List (команда 4) для ситуаций, когда требуется освободить максимум доступной физической памяти.
Цитата: dehote9223 от 16.09.2026, 18:07Оптимизация для игр и высокогерцовых мышек
Движения мыши теперь пропускаются мгновенно, без лишних фоновых проверок.
Мыши с частотой опроса 1000–8000 Гц больше не создают лишней нагрузки на систему.
При запуске игр на весь экран обработчик действий на Рабочем столе автоматически засыпает и не перехватывает клики и колесо мыши.
Повышена общая отзывчивость системы и оптимизирован код под современные стандарты C++23.Бездрайверное чтение температуры процессора (Windows Performance Counters / PDH)
Реализован альтернативный механизм опроса температуры через системные счетчики производительности Windows API (pdh.dll — счетчики \Thermal Zone Information(*)\Temperature и High Precision Temperature).
Обеспечена работа без обращения к службам WMI и без исполнения WQL-запросов, что гарантирует мгновенную выборку данных с нулевой нагрузкой на процессор.
Библиотека pdh.dll подключается динамически в рантайме через LoadLibraryExW, что исключает необходимость добавления статических зависимостей (pdh.lib) на этапе сборки.Код строго оптимизирован под стандарты современного C++23 и предупреждения компилятора (-Wall -Wextra -Wshadow-all -Wsign-compare), доступ к дескрипторам запросов защищен легковесной синхронизацией SRWLOCK.
Выстроена бесшовная иерархия опроса: MSR/SMN (Ring 0 драйвер) → PDH (системные счетчики) → WMI / сторонние датчики (AIDA64 / вендоры).Важное примечание по совместимости бездрайверного режима
На материнских платах для настольных компьютеров (ASUS, MSI, Gigabyte, ASRock) производители BIOS практически никогда не реализуют стандартные термозоны ACPI для операционной системы.
По этой причине на большинстве стационарных ПК при отключении драйвера появится статус "Нет датчиков" — для десктопов использование встроенного Ring 0 драйвера (либо получение данных из общей памяти запущенной AIDA64) остается физической необходимостью архитектуры процессоров Intel/AMD.
Оптимизация для игр и высокогерцовых мышек
Движения мыши теперь пропускаются мгновенно, без лишних фоновых проверок.
Мыши с частотой опроса 1000–8000 Гц больше не создают лишней нагрузки на систему.
При запуске игр на весь экран обработчик действий на Рабочем столе автоматически засыпает и не перехватывает клики и колесо мыши.
Повышена общая отзывчивость системы и оптимизирован код под современные стандарты C++23.
Бездрайверное чтение температуры процессора (Windows Performance Counters / PDH)
Реализован альтернативный механизм опроса температуры через системные счетчики производительности Windows API (pdh.dll — счетчики \Thermal Zone Information(*)\Temperature и High Precision Temperature).
Обеспечена работа без обращения к службам WMI и без исполнения WQL-запросов, что гарантирует мгновенную выборку данных с нулевой нагрузкой на процессор.
Библиотека pdh.dll подключается динамически в рантайме через LoadLibraryExW, что исключает необходимость добавления статических зависимостей (pdh.lib) на этапе сборки.
Код строго оптимизирован под стандарты современного C++23 и предупреждения компилятора (-Wall -Wextra -Wshadow-all -Wsign-compare), доступ к дескрипторам запросов защищен легковесной синхронизацией SRWLOCK.
Выстроена бесшовная иерархия опроса: MSR/SMN (Ring 0 драйвер) → PDH (системные счетчики) → WMI / сторонние датчики (AIDA64 / вендоры).
Важное примечание по совместимости бездрайверного режима
На материнских платах для настольных компьютеров (ASUS, MSI, Gigabyte, ASRock) производители BIOS практически никогда не реализуют стандартные термозоны ACPI для операционной системы.
По этой причине на большинстве стационарных ПК при отключении драйвера появится статус "Нет датчиков" — для десктопов использование встроенного Ring 0 драйвера (либо получение данных из общей памяти запущенной AIDA64) остается физической необходимостью архитектуры процессоров Intel/AMD.
Цитата: dehote9223 от 17.09.2026, 08:32Улучшение алгоритма "Горячего лимита"
Порог повторного включения буста после перегрева по умолчанию увеличен с 8°C до 12°C ниже заданного лимита.
Это обеспечивает радиатору необходимое время для рассеивания тепла и предотвращает циклы постоянного включения/выключения буста под нагрузкой.Значение 12°C было выверено в ходе тестов на конкретной связке процессора и кулера.
Поскольку теплоемкость радиаторов и эффективность охлаждения у всех разные, данный параметр теперь вынесен в файл конфигурации:
ThermalTurboDelta=12Рекомендуется запустить стресс-тест процессора в OCCT и оценить поведение вашей системы охлаждения.
При необходимости вы можете изменить значение ThermalTurboDelta в settings.ini (например, выставить 10, 12, 14 или 15), подобрав идеальный баланс тишины и максимальной производительности именно под свой ПК.Чтобы открыть папку с файлом настроек settings.ini, нужно дважды кликнуть по свободной области окна программы.
Улучшение алгоритма "Горячего лимита"
Порог повторного включения буста после перегрева по умолчанию увеличен с 8°C до 12°C ниже заданного лимита.
Это обеспечивает радиатору необходимое время для рассеивания тепла и предотвращает циклы постоянного включения/выключения буста под нагрузкой.
Значение 12°C было выверено в ходе тестов на конкретной связке процессора и кулера.
Поскольку теплоемкость радиаторов и эффективность охлаждения у всех разные, данный параметр теперь вынесен в файл конфигурации:
ThermalTurboDelta=12
Рекомендуется запустить стресс-тест процессора в OCCT и оценить поведение вашей системы охлаждения.
При необходимости вы можете изменить значение ThermalTurboDelta в settings.ini (например, выставить 10, 12, 14 или 15), подобрав идеальный баланс тишины и максимальной производительности именно под свой ПК.
Чтобы открыть папку с файлом настроек settings.ini, нужно дважды кликнуть по свободной области окна программы.