Вы должны войти, чтобы создавать сообщения и темы.

Trinity - Управление частотой процессора

1◄Страница 5 из 27► 27

Dehote9223, доброе утречко.

Если тебе не трудно, можешь добавить в Trinity, в меню правой кнопки опцию "включение-отключение от сети интернета"? То есть включение-отключение всех сетевых адаптеров windows? Таким образом компьютер будет отключён от интернета или подключён к нему по выбору пользователя одним нажатием кнопки?

В моём случае, я этим пользуюсь когда нужен полный фокус на работе (или наоборот на отдыхе) и чтобы никакие сообщения телеграма /ватсаппа/ обновлений/ любых других программ, связанных с сетью - вообще не приходили ко мне. Также использую когда с друзьями хотим кино посмотреть, чтобы ничто вдруг не мигало на самом интересном месте😂. У кого только вайфай, тому проще, но моя главная машина прямо от кабеля работает и надо каждый раз лезть в настройки сети (или через батник, но у меня уже весь раб.стол захламлён ими).

Хороших выходных тебе и всем форумчанам🙏.

Добавлен пункт-чекбокс в контекстное меню трея для быстрого включения и отключения интернета

🌐 Интернет активен (Нажмите для откл.) — если интернет подключён;
🚫 Интернет отключён (Нажмите для вкл.) — если интернет отключён.

Переключение затрагивает только физические сетевые карты (Ethernet и Wi-Fi).
Виртуальные адаптеры и туннели (VPN, WireGuard, WSL, Hyper-V, VMware, VirtualBox, TAP, Loopback, Bluetooth) автоматически исключаются из обработки, что предотвращает зависание команд и сбои в работе изолированных сетей.

disk.yandex.ru/d/E_vfHfAcbNM6gg

Сибирь, спасибо за предложение, только сейчас руки дошли!

Лайкнул Сибирь
Сибирь

БОЛЬШУЩЕЕ спасибо, друг!
🙏🙏🙏

Спойлер

Добавлен пункт-чекбокс в контекстное меню трея для быстрого включения и отключения интернета

🌐 Интернет активен (Нажмите для откл.) — если интернет подключён;
🚫 Интернет отключён (Нажмите для вкл.) — если интернет отключён.

Автоматическая лёгкая очистка ОЗУ

Добавлен непрерывный фоновый мониторинг состояния физической памяти (проверка каждые 5 секунд).

Если объём свободной памяти опускается ниже 15%, утилита автоматически запускает лёгкую очистку ОЗУ (сброс Standby List) в асинхронном потоке без прерывания работы пользователя.
Реализован 30-секундный кулдаун (таймаут) между итерациями очистки для предотвращения лишней нагрузки на систему и микрофризов в играх.
Функция работает автономно как при открытом окне, так и в свёрнутом состоянии в системном трее.

disk.yandex.ru/d/E_vfHfAcbNM6gg

Код для желающих проверить работу автоматической очистку ОЗУ

1. Запустите Trinity и Диспетчер задач, раздел Производительность - Память

2. Запустите .bat, скрипт за пару секунд забьет память до отметки 14.0% и встанет на паузу (удерживая выделенную память).

В течение 5 секунд сработает CheckAndAutoCleanRAM().
Вы увидите, как график кэшированной памяти (Standby List) сбросится.

<# :
@echo off
chcp 65001 >nul
title Тест автоочистки ОЗУ Trinity
powershell -NoProfile -ExecutionPolicy Bypass -Command "Invoke-Expression ([System.IO.File]::ReadAllText('%~f0'))"
exit /b
#>

$code = @"
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;

public class RamTester {
    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
    public struct MEMORYSTATUSEX {
        public uint dwLength;
        public uint dwMemoryLoad;
        public ulong ullTotalPhys;
        public ulong ullAvailPhys;
        public ulong ullTotalPageFile;
        public ulong ullAvailPageFile;
        public ulong ullTotalVirtual;
        public ulong ullAvailVirtual;
        public ulong ullAvailExtendedVirtual;
    }

    [DllImport("kernel32.dll", SetLastError = true)]
    public static extern bool GlobalMemoryStatusEx(ref MEMORYSTATUSEX lpBuffer);

    public static double GetFreePercent(out ulong availMb, out ulong totalMb) {
        MEMORYSTATUSEX mem = new MEMORYSTATUSEX();
        mem.dwLength = (uint)Marshal.SizeOf(typeof(MEMORYSTATUSEX));
        GlobalMemoryStatusEx(ref mem);
        availMb = mem.ullAvailPhys / (1024 * 1024);
        totalMb = mem.ullTotalPhys / (1024 * 1024);
        return ((double)mem.ullAvailPhys / (double)mem.ullTotalPhys) * 100.0;
    }

    public static List<byte[]> allocatedChunks = new List<byte[]>();

    public static void FillRam(double targetPercent) {
        ulong avail, total;
        double currentPercent = GetFreePercent(out avail, out total);

        Console.ForegroundColor = ConsoleColor.Cyan;
        Console.WriteLine("====================================================");
        Console.WriteLine("   Тест нагрузки ОЗУ для проверки автоочистки");
        Console.WriteLine("====================================================");
        Console.ResetColor();
        Console.WriteLine(string.Format("Всего ОЗУ:     {0} МБ", total));
        Console.WriteLine(string.Format("Свободно:      {0} МБ ({1:F1}%)", avail, currentPercent));
        Console.WriteLine(string.Format("Цель:          оставить {0:F1}% свободной памяти\n", targetPercent));

        if (currentPercent <= targetPercent) {
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("Свободной памяти уже меньше целевого значения!");
            Console.ResetColor();
            return;
        }

        Console.WriteLine("Выделение памяти в процессе...");
        int chunkSize = 64 * 1024 * 1024; // порции по 64 МБ

        while (currentPercent > targetPercent) {
            // Защитный стоп на 5%, чтобы Windows не зависла намертво
            if (currentPercent <= 5.0) break;

            try {
                byte[] chunk = new byte[chunkSize];
                // Записываем байты по страницам (4 КБ), заставляя ОС задействовать физ. память
                for (int i = 0; i < chunk.Length; i += 4096) {
                    chunk[i] = 1;
                }
                allocatedChunks.Add(chunk);
            } catch (OutOfMemoryException) {
                break;
            }

            currentPercent = GetFreePercent(out avail, out total);
            Console.Write(string.Format("\rЗанято... Свободно осталось: {0} МБ ({1:F1}%)   ", avail, currentPercent));
        }

        Console.ForegroundColor = ConsoleColor.Green;
        Console.WriteLine("\n\n[УСПЕХ] Порог в 14% достигнут!");
        Console.ResetColor();
        Console.WriteLine("Память удерживается. Подождите до 5 секунд, пока Trinity выполнит очистку.");
        Console.WriteLine("\nДля освобождения памяти и выхода нажмите любую клавишу...");
        
        Console.ReadKey(true);
        allocatedChunks.Clear();
        GC.Collect();
    }
}
"@

Add-Type -TypeDefinition $code -Language CSharp
[RamTester]::FillRam(14.0)

 

В контекстное меню трея добавлен пункт "🖱 Перезагрузить USB-контроллеры"

Позволяет быстро перезапустить хост-контроллеры и корневые концентраторы USB (Root Hubs) без перезагрузки ПК.
Помогает оживить зависшие USB-устройства: внешние звуковые карты (ЦАП), мыши, клавиатуры, геймпады и адаптеры.

Добавлено управление алгоритмом Нейгла (TCP NoDelay)

В контекстное меню трея добавлен переключатель-чекбокс "⚡ Отключить алгоритм Нейгла (TCP NoDelay)".
Позволяет отключать системную задержку пакетов TCP (TcpAckFrequency = 1, TCPNoDelay = 1) для всех сетевых адаптеров.
Снижает сетевую задержку (пинг) и обеспечивает мгновенную отправку данных в соревновательных онлайн-играх без ожидания заполнения буфера.

disk.yandex.ru/d/E_vfHfAcbNM6gg

Лайкнул Сибирь
Сибирь

Настраиваемый порог автоочистки ОЗУ

Жёстко заданный порог свободной оперативной памяти (ранее фиксированные 15%) теперь вынесен в файл конфигурации settings.ini под параметром RamCleanThreshold.

Чтобы строка RamCleanThreshold=15 появилась в файле settings.ini (папка %APPDATA%\Trinity), достаточно запустить и закрыть программу (или изменить любую настройку).

15 (по умолчанию) — автоматическая лёгкая очистка сработает, когда свободной оперативной памяти останется меньше 15%.
0 — без автоматической очистки.

disk.yandex.ru/d/E_vfHfAcbNM6gg

Лайкнул Сибирь
Сибирь

Добавлен сброс кэша последнего значения частоты при скролле ползунка CPU (WM_HSCROLL).
Это устраняет проблему, когда заголовок группы зависал на процентах, если текущая частота процессора в ГГц не менялась после завершения задержки удержания.

Без сброса: если частота процессора до и после сдвига ползунка оставалась прежней (например, 3.20 ГГц), условие abs(...) >= 1 возвращало false, и вызов SetDlgItemTextW пропускался. В результате заголовок навсегда оставался в виде Частота 80%.

Со сбросом (g_lastCpuGhz = -1.0): при срабатывании таймера (WM_TIMER) после истечения задержки g_cpuPercentHoldUntil разница гарантированно составит >= 1, что принудительно возвращает заголовок к формату Частота 3.20 ГГц.

disk.yandex.ru/d/E_vfHfAcbNM6gg

Новые игровые оптимизации в меню трея

"🎮 Игровой профиль задержек (MMCSS / Network)"

SystemResponsiveness (0 вместо 20): отменяет резервирование 20% ресурсов процессора под фоновые службы Windows, отдавая 100% мощности активной игре.
Устраняет микрофризы и стабилизирует график времени кадра (1% и 0.1% FPS).
NetworkThrottlingIndex (0xFFFFFFFF вместо 10): отключает искусственное ограничение сетевых пакетов при воспроизведении звука и мультимедиа.
Снижает пинг и устраняет джиттер в онлайн-играх.

"⚡ Отключить алгоритм Нейгла (TCP NoDelay)"

Отключает задержку буферизации сетевых пакетов (TCPNoDelay / TcpAckFrequency = 1).
Пакеты отправляются мгновенно без ожидания подтверждения, что снижает инпут-лаг в сетевых играх и улучшает отклик соединения.

"🎬 Отключить Xbox Game DVR / Запись"

Отключает фоновую запись экрана и оверлей Game Bar.
Устраняет статтеры в играх, снижает задержку ввода (инпут-лаг) и освобождает ресурсы процессора и накопителя.

"🚀 Планирование GPU (HAGS / Frame Gen)"

Управляет аппаратным планированием GPU (Hardware-Accelerated GPU Scheduling).
Передает управление видеопамятью видеокарте, разгружая процессор, снижает задержки рендеринга и обеспечивает работу генерации кадров (DLSS 3 / FSR 3).

"🖥 Отключить MPO (Фикс статтеров / мерцания)"

Отключает технологию многослойного наложения Windows DWM (Multi-Plane Overlay).

Полностью устраняет мерцание дисплея, черные вспышки и статтеры в играх, браузерах и приложениях с аппаратным ускорением (Discord, Chrome, Steam) на видеокартах NVIDIA, AMD и Intel.

"🎯 Режим MSI для GPU (Снижение DPC Latency)"

Переводит видеокарту с устаревшего режима разделяемых прерываний (Line-Based IRQ) на прямые векторные прерывания (Message Signaled Interrupts) с высоким приоритетом.
Кардинально снижает задержки ядра (DPC Latency), предотвращает щелчки/задержки звука и устраняет просадки кадров из-за конфликта прерываний с другими устройствами.

"🛡 Отключить изоляцию ядра (VBS / HVCI)"

Отключает встроенную безопасность на основе виртуализации (VBS) и целостность памяти гипервизора (HVCI / Memory Integrity).
Устраняет постоянный оверхед виртуализации на процессор, возвращая до 5–15% FPS в играх, снижает системные задержки и существенно поднимает показатель минимального фреймрейта (1% и 0.1% Low FPS).

После применения желательно перезагрузить компьютер

disk.yandex.ru/d/E_vfHfAcbNM6gg

Рекомендация от ИИ

Все эти твики безопасны для системы и сделают интерфейс Windows более отзывчивым даже в обычных задачах (браузер, документы, просмотр медиа).
Однако есть два важных нюанса (безопасность и энергоэффективность), о которых вам нужно знать:


Подробный разбор каждого пункта для повседневного использования:

1. Полностью безопасные и полезные (оставляйте включенными):

  • Режим MSI для GPU: Однозначно полезно. Переводит видеокарту на современные прерывания, снижает DPC Latency (задержки системы), предотвращает микрозаикания звука и микрофризы рабочего стола.

  • Отключить Game DVR / Запись: Полезно. Фоновые службы записи Windows тратят оперативную память и ресурсы накопителя/GPU, даже когда вы не играете. Если вы не записываете экран встроенной утилитой Xbox (Win+G), отключать обязательно.

  • Профиль задержек (MMCSS / Network): Снимает искусственное ограничение Windows на приоритет мультимедиа и сети (Windows по умолчанию резервирует до 20% ресурсов CPU под фоновые системные нужды). Система и сеть будут работать максимально отзывчиво.

  • Планирование GPU (HAGS): Стандартная функция современных версий Windows 10/11. Передает управление видеопамятью аппаратному планировщику GPU. Улучшает отклик и плавность интерфейса.

  • Отключить алгоритм Нейгла (TCP NoDelay): Пакеты данных отправляются мгновенно без объединения в пачки. На современных скоростных тарифах интернета сетевой оверхед незаметен, зато отклик страниц и сетевых приложений становится быстрее.


2. Пункты, на которые стоит обратить внимание:

🛡 Отключить изоляцию ядра (VBS / HVCI)

  • Что дает отключение: Дает прибавку к скорости работы процессора (особенно на процессорах Intel до 10-11 поколения и AMD Ryzen 1000–3000), снижает латентность памяти.

  • Минус: Снижает уровень безопасности Windows. Изоляция ядра защищает систему от внедрения вредоносного кода на уровне драйверов (руткитов/буткитов).

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

🖥 Отключить MPO (Multiplane Overlays)

  • Зачем отключают: MPO часто вызывает мерцание черного экрана, статтеры в Discord/Chrome или рассинхрон герцовки на двух мониторах.

  • Минус отключения: Полноэкранный видеопоток (например, YouTube в 4K) при отключенном MPO рендерится через общий композитор рабочего стола (DWM), что слегка увеличивает нагрузку на GPU и расход батареи (актуально для ноутбуков).

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

Dehote9223, привет.
Ну ты даёшь 🙂

По поводу всех новых твиков последних двух дней, я бы на твоём месте для уверенности спросил несколько разных ИИ. Плюс спросил бы также каждый из них не о плюсах, а именно о потенциальных подводных камнях и проблемах с этими твиками... У меня, например, часто бывало, что один ИИ где-то недоговаривал, а то и вовсе ошибался и поэтому я в серьёзных делах привык проверять себя в двух-трёх системах (например, Gemini, GTP и Claude). Это всё-таки не личные батники, а добавка в программу, которую (потенциально) будут использовать сотни, может даже и тысячи людей, а зная какой ты перфекционист(!), просто не хотелось бы чтобы ты случайно впросак попал 🙂

Ещё, чисто моё ИМХО, главный интерфейс программы не хотелось бы перегружать слишком сильно всевозможными примочками... Я о главном интерфейсе говорю, а не о подменю с правой кнопкой. Иначе главное как-будто бы тонет в более второстепенном.

Опять же, всё это моё личное мнение, которое пишется из наилучших пожеланий тебе и твоему творению.

С уважением.

В контекстное меню добавлен пункт "🎯 Отключить оптимизацию во весь экран (FSO)"

Полезно для снижения инпут-лага.
По умолчанию Windows принудительно перехватывает полноэкранные игры через гибридный оверлей (DWM), что ускоряет Alt+Tab, но нередко вызывает задержки ввода, статтеры и нестабильный фреймтайм (особенно в играх на DirectX 9–11).
Отключение FSO возвращает честный эксклюзивный полноэкранный режим (Exclusive Fullscreen) и делает отклик управления максимально прямым.

Какие нюансы появятся при постоянном использовании

Переключение по Alt + Tab
В некоторых играх переключение на рабочий стол может занимать на долю секунды дольше (экран может на миг гаснуть, как во времена классического полноэкранного режима).

Всплывающий индикатор громкости
Системная полоска изменения громкости Windows в левом верхнем углу может перестать рисоваться поверх некоторых полноэкранных игр.

Оверлеи
Внутриигровой оверлей Xbox Game Bar (Win + G) не будет накладываться поверх таких игр (но так как служба Game DVR у вас тоже выключена, это не имеет значения).
Сторонние оверлеи (Steam, Discord, MSI Afterburner / RTSS) продолжат работать штатно.

disk.yandex.ru/d/E_vfHfAcbNM6gg

Сибирь, спасибо за полезные советы, но использую только Gemini )

В контекстное меню добавлен пункт "⚡ Отключить Power Throttling (Фоновые ограничения)"

Отключает системный механизм энергосбережения Windows, который принудительно ограничивает частоту и ресурсы процессора для приложений, работающих в фоне или не находящихся в активном фокусе окна.
Предотвращает микрофризы и задержки в софте, запущенном параллельно с игрой (Discord, OBS Studio, античиты, оверлеи, фоновая запись, плееры), исключает заикания звука в голосовых чатах и обеспечивает максимальную отзывчивость системы без скрытого урезания производительности.

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

Power Throttling в Windows — это исключительно программная функция энергосбережения (введена в Windows 10 1709), которая пытается экономить милливатты энергии, "придушивая" фоновые потоки.
Настольному компьютеру не требуется экономить заряд батареи, а фоновые ограничения только создают паразитные задержки (DPC / Input Lag) и могут душить важные фоновые службы.

Для ноутбуков

От сети (розетки):
Полностью безопасно и полезно для стабильности кадровой частоты.

От батареи:
Единственный побочный эффект — ноутбук при активной работе нескольких программ в фоне (например, браузер с вкладками + мессенджер) может разряжаться на 3–7% быстрее, так как процессор не будет искусственно замедлять эти приложения.

В контекстное меню добавлен пункт "🧠 Отключить сжатие оперативной памяти"

Отключает встроенный алгоритм компрессии неактивных страниц ОЗУ в ядре Windows (процесс System / Memory Compression).
Полностью снимает с процессора фоновую нагрузку по сжатию и распаковке данных в реальном времени, устраняет случайные спайки времени кадра (Frametime) и микрофризы в тяжелых играх, а также снижает задержки доступа к оперативной памяти.

Можно ли использовать на постоянной основе

Да, это абсолютно безопасно и отлично подходит для постоянного использования на ПК с 16 ГБ, 32 ГБ и более ОЗУ.
При таком объеме памяти сжатие практически не приносит пользы, но создает лишнюю нагрузку на CPU при распаковке ресурсов игры "на лету".
Отключение даст более плавный и ровный график времени кадра.

Когда стоит быть аккуратным

На системах с 8 ГБ ОЗУ или меньше.
Если одновременно открыта игра, браузер с кучей вкладок и Discord, без сжатия физическая память заполнится быстрее.
Если при этом у вас отключен и файл подкачки, приложения могут аварийно закрываться из-за нехватки памяти (Out of Memory).

disk.yandex.ru/d/E_vfHfAcbNM6gg

1◄Страница 5 из 27► 27