Просадка кадров в окне RO

Тема в разделе "Общий", создана пользователем paratrupper, 20 дек 2023.

  1. paratrupper

    paratrupper Игрок

    Здарова, Щеглы, сегодня мы будем ..
    Некоторые способы укротить FPS преимущественно на стационарном компьютере, довольно чувствительно при игре в окне.

    Проверялось на довольно мощной системе с Windows 10, процессором Core i5 и видеокартой Nvidia RTX3070
    Суть проблемы: современному компухтеру РО как говорится "на один зубок" и он ограничивает ресурсы сбрасывая частоты, что выливается в понижение и резкие скачки частоты кадров и негативно влияет на комфортный гейм.
    Предупреждение: всё делается на свой страх и риск, создатель сего мегагайда не несёт ответственность за возможные проблемы, вызванные этим гайдом.
    Будем вылавливать ФПСы "динамитом"!:roangry:
    Приступим.

    1. Уменьшаем разброс частоты процессора.
    • нажать комбинацию Win+R ,ввести в появивщееся окно powercfg.cpl и нажать ОК
    или​
    • Пуск->Параметры->Система->Питание и спящий режим->Дополнительные параметры питания
    Электропитание.png
    Выбираем схему управления питанием "Высокая производительность"
    Проверить эффект можно в диспетчере задач Ctrl+Shift+Esc
    БЫЛО(постоянное изменение частоты): схема управления питанием "Сбалансированная":
    Сбалансированная.png
    СТАЛО(более менее постоянное состояние): схема управления питанием "Высокая производительность":
    Высокая производительность.png
    Маленькая фича: если выставить Максимальное состояние процессора в 98-99% - это может отключить т.н. "турбобуст" процессора, из-за которого некоторые процессоры неслабо так нагреваются при сомнительном "бусте", в своё время эта фича помогла мне побороть быстрый нагрев ноутбука при обычном браузеринге, требует индивидуального подхода(оно вам надо?).

    Уже можно почувствовать улучшение в плавности практически любых действий на пк, в т.ч. и игры.
    2. Уменьшаем разброс частоты видеокарты Nvidia.
    • Базовый вариант:
    Панель управления Nvidia(Правая кнопка на рабочем столе - соответствующий пункт)
    раздел "Управление параметрами 3D", пункт "Режим управления электропитанием" выставляем "Предпочтителен режим максимальной производительности"
    Запуск панели управления.png
    Режим управления электропитанием.png
    Перезагружаем компуктер на всякие пожарные.
    Проверяем если надо результат в разных утилитах, например GPU-Z , HWiNFO , MSI Afterburner и т.п.
    БЫЛО: Режим управления электропитанием "Обычный":
    График Обычный в панели нвидиа.png
    СТАЛО: Режим управления электропитанием "Предпочтителен режим максимальной производительности":
    График Максимальная производительность в панели нвидиа.png

    • "слегка упртый ручной вариант"(мой):
    Оставляем режим управления электропитанием "Обычный" в панели управления Nvidia.
    Ставим программу MSI Afterburner (окей, алиса, найди мне),
    далее создаём профиль с фиксацией частоты(клавиша L в видеоролике ниже),
    ну и в дополнение андервольтим чтобы меньше грелась(потому что почему нет?).

    Получается стандартный профиль с андервольтингом И второй профиль с зафиксированной частотой и андервольтингом, переключаем ручками когда очень надо чтобы видеокарта не выпендривалась, не экономила на наших нервах и отрабатывала на все вложенные в неё средства.
    Основная цель - не дать видеокарте скакать по частоте во время игры в старенькие слабенькие игры, андервольтинг в нашем случае необязательный дополнительный приятненький довольно ощутимый бонус, который действует в противовес фиксации частоты в части энергосбережения и нагрева.
    Глядите видосик, на ~13:55 где и как можно зафиксировать частоту, ну и в общем начиная c 7:30 простое объяснение всей этой андервольт фигни:
    Ещё раз для непонятливых:
    Когда вне игр - выбран стандартный профиль, частота прыгает, ну и пускай.
    Когда включаю гейм и не хочу париться по поводу подлагов и подфризов, хочу боле мене стабильный фпс включаю второй ранее настроенный производительный профиль с фиксацией частоты в программе MSI Afterburner.
    Результат почти аналогичен базовому варианту который выше:
    График Обычный в панели нвидиа+андервольтинг+лок частоты в Msi Afterburner.png
    Что я бы еще добавил к видосику выше - надо поставить чтобы программка MSI Afterburner загружалась вместе с виндовс и немного разобраться как в ней сохранять/переключать профили.

    Ещё немного фиксиков:
    насколько они значимы нужно определять

    • Включаем G-SYNC (в него входит эмуляция FreeSync) везде и всюду:
    Gsync.png
    почему? а фиг его знает, если есть то пусть будет и на рабочем столе, у нас же окно на рабочем столе :royes:

    • Скачиваем nvidiaProfileInspector и выставляем режим однодисплейной производительности, жмём Apply Changes справа сверху.
    ProfileInspector.png

    Надо проверить насколько сильно все эти настройки влияют на энергосбережение и температуры, у меня стоит гробик(корпус) MESH с кучей вертушек которые итак на минимуме еле заметно крутятся - этого избыточно и вполне хватает чтобы не заметить прибавку по градусам при малой нагрузке, будет время гляну разницу в энергопотреблении, чувствуется мне что в моём случае негативный эффект очень незначителен, в целом больше плюсов чем минусов, как будет в вашем случае желательно разбираться индивидуально.
    Также приветствую ваши исследования на данную тему :roregards:
    Misconception, LeoMi и X нравится это.
  2. Keaton

    Keaton Игрок

    Можно ж как-то было отключать прорисовку неактивного окна прямо в настройках игры. Я на n150 по 5-6 окон запускал, пока хватало оперативы, и вообще не лагало.
    X нравится это.
  3. Maxwell

    Maxwell Игрок

    ..А можно просто юзать dgvoodoo2, которая перекидывает отрисовку древних directx/direct3d на новый directx 11/12 при помощи создания эмулятора видеокарты, которая пользуется ресурсами настоящей видеокарты и имеет хорошую кастомизацию.
    Что многие и делают.

    А ещё это позволяет при желании пользоваться постпроцессинг инжекторами типа ReShade:
    Screenshot from 2023-10-01 17-06-59.png
    (сейчас под рукой только шот с линукса, но смысл тот же самый)

    Ну и вообще запускать direct3d/directx7 игры на современном железе и винде не очень хорошая идея. Поддержка постепенно тупо выпиливается, РО ещё хоть работает, но не со всеми играми так.
    Между прочим на kRO выкатили обновление до directx9 три месяца назад (20 лет спустя озабитились, офигеть), но ждать ли это у нас вопрос отдельный.

    Ну это не нативная фича, но у нас можно, да.
    dinput.ini
    Код:
    ; Release CPU when RO window is inactive.
    ; Disable Ctrl+S hotkey as this is automatic way to do the same.
    ; Command line switch: -cpu
    AutoFreeCPU =1
    
    Tezumeto, paratrupper и X нравится это.