Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Повышение производительности в играх. Nvidia overclocking  (Прочитано 3741 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Avrilfan

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Все привет!
К счастью в последнее время ситуация с играми в linux намного улучшилась во многом благодаря тому же Steam. Ну драйвера в теперь выходят не только для windows. Это радует. Но имея не самый производительный компьютер(core i3, 4gb, geforce 8600gt 1gb), хотелось ещё больше увеличить производительность графики. В частности увеличить ФПС в Dota 2 reborn. И я нашёл способ, которым и хочу поделиться.
В современных драйверах nvidia для linux существует возможность изменения частоты памяти и ядра видеокарты. Для того чтобы включить эту возможность необходимо в xorg.conf в секцию device добавить строку Option         "Coolbits" "1"Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8600 GT"
    Option         "Coolbits" "1"
EndSection
Теперь открыв nvidia-settings мы увидим новый пункт меню clock frequencies. Здесь мы может увеличить в разумных пределах частоты видеопамяти и ядра. И потом проверить увеличение производительности в своих любимых играх.
Проблема в том что после перезагрузки настройки сбросятся. Да держать постояно высокие частоты для видеокарты не хотелось бы. Поэтому я написал небольшой скрипт для автоматического изменения частот при запуске игры и также автоматического снижения их до дефолтных при выключении игры. Скрипт написан для запуска dota 2 reborn через steam. Но основная идея подойдёт для любой игры
#! /bin/sh
#запускаем Steam
steam &
sleep 5
# меняем частоты памяти и видеоядра
nvidia-settings -a GPUOverclockingState=1 -a GPU3DClockFreqs=717,817
# запускаем игру
/home/pavel/.steam/ubuntu12_32/steam-runtime/run.sh /home/pavel/.steam/steam/steamapps/common/dota\ 2\ beta/game/dota.sh
# после завершения игры возращаем частоты на дефолтные
nvidia-settings -a GPUOverclockingState=0

ps: изменение частот может привести к выходу из строя вашей видеокарты. Всё делается на свой страх и риск. Как минимум необходимо отмониторить изменение температуры видеокарты при такой нагрузке.

Оффлайн degemot

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Avrilfan,
А для Бубльгум-пчелы не подойдет этот способ или в ней нет настроек?

Оффлайн dj--alex

  • Старожил
  • *
  • Сообщений: 3237
  • Понимаешь, я какбы беру в руки лопату и говорю...
    • Просмотр профиля
    • все мои творения и занятия
надо проставить настройки разгона автоматически при загрузке компьютера
карты сильно греющиеся 2 GTX 780

указанная инструкция бесполезна

Гигтег  Ubuntu 16.04 64bit kernel 4.10 nvidia 381  gtx 780

user@PC1 ~ $ sudo sh nvidia-overclock.sh
[sudo] пароль для user:


DEPRECATED: The attribute 'GPUOverclockingState' is no longer supported.


подсказали ссылку на Арчевики
https://wiki.archlinux.org/index.php/NVIDIA/Tips_and_tricks_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)

но
nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=100"

user@PC1 ~ $ sudo sh nvidia-overclock.sh

  Attribute 'GPUFanControlState' (PC1:0[gpu:0]) assigned value 1.


ERROR: The attribute 'GPUCurrentFanSpeed' specified in assignment
       '[fan:0]/GPUCurrentFanSpeed=100' cannot be assigned (it is a read-only
       attribute).


user@PC1 ~ $



Ubuntu 18.04 MATE x64, 19.3 x64 Mate, MX-Linux 19 Mate Mate Mate Mate. PC:B450\Ryzen3200G\16Gb\6TB\1060gtx\512Gb-Netac
https://forum.ubuntu.ru/index.php?topic=199897.0

Оффлайн CrazyDimson

  • Участник
  • *
  • Сообщений: 244
    • Просмотр профиля
dj--alex,
# nvidia-xconfig --cool-bits=12Перезагрузить сессию.

Потом проверить Nvidia X Server Settings, раздел GPU-PowerMizer на предмет появления настроек разгона.

В консоли:
nvidia-settings -a '[gpu:0]/GPUGraphicsClockOffset[3]=XXX' -a '[gpu:0]/GPUMemoryTransferRateOffset[3]=XXX', где [gpu:0] - требуемый адаптер, [3] - уровень, который разгоняем, XXX - на сколько поднять частоту. Для сброса разгона, вместо XXX прописываем 0 (ноль).
Если требуется опустить частоту, а не разгонять, то подставляем требуемые числа со знаком - (минус).
« Последнее редактирование: 28 Июня 2017, 20:40:59 от CrazyDimson »

 

Страница сгенерирована за 0.047 секунд. Запросов: 25.