LINUX.ORG.RU
решено ФорумGames

Pathfinder: Kingmaker

 , ,


0

1

Столкнулся с интересным моментом. Эта игра при запуске выводит процессор на максимальную мощность. Игнорируя попытки ограничения максимальной частоты и отключение турбобуста.

Все остальные игры/программы ведут себя правильно.

Как и почему этот Следопыт так себя ведет? Можно ли как-то приручить этого игоря, чтобы он вел себя прилично?

★★★★★

Это очень плохо оптимизированная игра. Хотя конечно в последних версиях, возможно и неплохо (но проверить мне не удалось) Да, если вдруг играешь не на ssd, то рекомендую играть именно с SSD, иначе будешь наблюдать загрузки по 15-30 минут, просто когда идет переходи по локациям. Я вон эту игру забросил в свое время из-за этого. На счет процессора не знаю, но не удивлюсь, если она еще и только одно ядро утилизирует.

anonymous_sama ★★★★★
()
Последнее исправление: anonymous_sama (всего исправлений: 2)
Ответ на: комментарий от etwrq

П. 1 не работает, в том то и прикол.

П. 2 недоступен, ибо ноут.

Пробовал через cpupower ограничить максимальную частоту - игнорирует.

utanho ★★★★★
() автор топика
Последнее исправление: utanho (всего исправлений: 1)
Ответ на: комментарий от utanho

скорее всего кривой bios/acpi.
а вендора и модель уже не интересно знать =))
на моем устройстве при no_turbo=1 частота скачет между 800-1600, причем всего 2 состояния собственно.

etwrq ★★★★★
()
Ответ на: комментарий от etwrq

скорее всего кривой bios/acpi

Все остальные нормально себя ведут. Даже стресс-тесты.

а вендора и модель уже не интересно знать =))

Ноут - фуджик, а модель мамки не скажу, ибо не знаю.

на моем устройстве при no_turbo=1 частота скачет между 800-1600

У меня 1200-2700. С промежуточными остановками.

utanho ★★★★★
() автор топика
Последнее исправление: utanho (всего исправлений: 1)
Ответ на: комментарий от krasnh

Нет ни того, ни другого.

Тут еще интересный момент.

# cat  /sys/devices/system/cpu/intel_pstate/no_turbo
1

Но

# cpupower frequency-info 
analyzing CPU 4:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 4
  CPUs which need to have their frequency coordinated by software: 4
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: 1.20 GHz - 3.70 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 1.20 GHz and 2.70 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 1.20 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
    3500 MHz max turbo 4 active cores
    3500 MHz max turbo 3 active cores
    3600 MHz max turbo 2 active cores
    3700 MHz max turbo 1 active cores


Active: yes

Как это понимать?

Может следопыт и не виноват?

utanho ★★★★★
() автор топика
Ответ на: комментарий от krasnh
# cpupower frequency-info 
analyzing CPU 3:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency: 20.0 us
  hardware limits: 1.20 GHz - 3.70 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 1.20 GHz and 2.70 GHz.
                  The governor "schedutil" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 1.20 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes
    3500 MHz max turbo 4 active cores
    3500 MHz max turbo 3 active cores
    3600 MHz max turbo 2 active cores
    3700 MHz max turbo 1 active cores

Всё то же самое.

utanho ★★★★★
() автор топика
Ответ на: комментарий от krasnh

# cpupower frequency-info 
analyzing CPU 0:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 20.0 us
  hardware limits: 1.20 GHz - 3.70 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 1.20 GHz and 2.70 GHz.
                  The governor "schedutil" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.09 GHz (asserted by call to kernel)
  boost state support:
    Supported: no
    Active: no
    3500 MHz max turbo 4 active cores
    3500 MHz max turbo 3 active cores
    3600 MHz max turbo 2 active cores
    3700 MHz max turbo 1 active cores

получилось отключить через msr

utanho ★★★★★
() автор топика
Ответ на: комментарий от utanho

А по драйверам, intel_cpufreq и intel_pstate, не ощущается разницы ни в производительности, ни в нагреве, ни в часах от батареи?

upd. Т.е. турбо оказывается не отключался, но на других играх это не заметно было? И только неоптимизированная «Pathfinder: Kingmaker» открыла глаза на вопиющий баг? )

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Ответ на: комментарий от krasnh

Т.е. турбо оказывается не отключался, но на других играх это не заметно было?

Отключался, но видимо не совсем. Если бы я этого следопыта не запустил, то и не узнал бы. Все остальные программы, включая стресс-тесты, работали в рамках заданных значений.

П.С. Но даже при отключенном бусте, игорь пытается пожарить яичницу. Разогревается до 90С.

Виндовая версия, запущенная через вайн, ведет себя так же.

utanho ★★★★★
() автор топика
Последнее исправление: utanho (всего исправлений: 1)
Ответ на: комментарий от krasnh

# cpupower frequency-info 
analyzing CPU 7:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 7
  CPUs which need to have their frequency coordinated by software: 7
  maximum transition latency: 20.0 us
  hardware limits: 1.20 GHz - 3.70 GHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 1.20 GHz and 2.50 GHz.
                  The governor "schedutil" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.50 GHz (asserted by call to kernel)
  boost state support:
    Supported: no
    Active: no
    3500 MHz max turbo 4 active cores
    3500 MHz max turbo 3 active cores
    3600 MHz max turbo 2 active cores
    3700 MHz max turbo 1 active cores

Обратите внимание на частоту процессора. Турбобуст отключен, cpupower выставлен на 2.5ГГц. Родная частота - 2.7ГГц.

Игре плевать на системные органичения. В соседнем топике говорят, что виновата встройка.

utanho ★★★★★
() автор топика
Последнее исправление: utanho (всего исправлений: 1)
Ответ на: комментарий от utanho

даже при отключенном бусте, игорь пытается пожарить яичницу. Разогревается до 90С.

Глянь thermald, он ‘крутит’ настройки проца в зависимости от температуры. Это проще, чем вручную.

Что касается «Pathfinder: Kingmaker», здесь схожесть с черной дырой - все усилия пропадают бесследно, проще отказаться, имхо.

krasnh ★★★★
()
Ответ на: комментарий от krasnh

проще отказаться, имхо.

Мне сама игра неинтересна. Я ее специально скачал и запустил исключительно в тестовых целях. Помню что она жирная была и тяжело шла на минималках.

utanho ★★★★★
() автор топика
Ответ на: комментарий от krasnh

 systemctl status thermald.service 
● thermald.service - Thermal Daemon Service
     Loaded: loaded (/usr/lib/systemd/system/thermald.service; enabled; preset: disabled)
     Active: active (running) since Sat 2023-10-14 23:03:16 MSK; 11min ago
   Main PID: 25640 (thermald)
      Tasks: 3 (limit: 18987)
     Memory: 3.3M
        CPU: 97ms
     CGroup: /system.slice/thermald.service
             └─25640 /usr/bin/thermald --systemd --dbus-enable --adaptive

окт 14 23:03:16 laptop systemd[1]: Started Thermal Daemon Service.
окт 14 23:03:16 laptop thermald[25640]: 13 CPUID levels; family:model:stepping 0x6:3a:9 (6:58:9)
окт 14 23:03:16 laptop thermald[25640]: 13 CPUID levels; family:model:stepping 0x6:3a:9 (6:58:9)
окт 14 23:03:16 laptop thermald[25640]: sensor id 7 : No temp sysfs for reading raw temp
окт 14 23:03:16 laptop thermald[25640]: sensor id 7 : No temp sysfs for reading raw temp
окт 14 23:03:16 laptop thermald[25640]: sensor id 7 : No temp sysfs for reading raw temp
окт 14 23:03:16 laptop thermald[25640]: Config file /etc/thermald/thermal-conf.xml does not exist
окт 14 23:03:16 laptop thermald[25640]: Config file /etc/thermald/thermal-conf.xml does not exist
окт 14 23:03:16 laptop thermald[25640]: Config file /etc/thermald/thermal-conf.xml does not exist
окт 14 23:03:16 laptop thermald[25640]: Polling mode is enabled: 4

Как теперь это всё довести до ума? Мануал очень скудный и даже на арчвики толком ничего нет. Ну или я не там искал.

utanho ★★★★★
() автор топика
Ответ на: комментарий от utanho

Пишут, что с --adaptive уже не нужен thermal-conf.xml. Типа, на лету читает таблицы ACPI. Если я правильно понял.

Короче х.з., все оказалось сложней, чем выглядело. )

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Ответ на: комментарий от krasnh

Решил пойти по дороге из желтого кирпича. Почитал выхлоп thermald, скачал сырцы я дра с кернел.орг и собрал свое ядро с подержкой powerclamp и RAPL. В итоге, после 2хчасового прогона Следопыта имею следующие показатели

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +95.0°C  (high = +87.0°C, crit = +105.0°C)
Core 0:        +85.0°C  (high = +87.0°C, crit = +105.0°C)
Core 1:        +86.0°C  (high = +87.0°C, crit = +105.0°C)
Core 2:        +88.0°C  (high = +87.0°C, crit = +105.0°C)
Core 3:        +87.0°C  (high = +87.0°C, crit = +105.0°C)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +96.0°C  (crit = +104.0°C)

То есть реально добиться вменяемой работы получилось только с thermald. Всякие отключения турбобуста и прочие приблуды - лишь трата времени.

П.С. Запустил thermald --no-daemon --loglevel=info --adaptive


[1697361437][INFO]Set : threshold:96000, temperature:95000, cdev:12(intel_pstate), curr_state:2, max_state:10
[1697361438][INFO]Added zone 2 trip 0 clamp_valid 0 clamp 0 _min:0 _max:0
[1697361438][INFO]turbo disabled 
[1697361438][INFO]Set : threshold:96000, temperature:96000, cdev:12(intel_pstate), curr_state:3, max_state:10
[1697361439][INFO]Erased  [2: 0 0
[1697361439][INFO]op->device:intel_pstate 2
[1697361439][INFO]turbo enabled 
[1697361439][INFO]Set : threshold:96000, temperature:95000, cdev:12(intel_pstate), curr_state:2, max_state:10
[1697361440][INFO]op->device:intel_pstate 1
[1697361440][INFO]Set : threshold:96000, temperature:95000, cdev:12(intel_pstate), curr_state:1, max_state:10
[1697361441][INFO]op->device:intel_pstate 0
[1697361441][INFO]Set : threshold:96000, temperature:95000, cdev:12(intel_pstate), curr_state:0, max_state:10
[1697361442][INFO]Added zone 2 trip 0 clamp_valid 0 clamp 0 _min:0 _max:0
[1697361442][INFO]Set : threshold:96000, temperature:96000, cdev:12(intel_pstate), curr_state:1, max_state:10
[1697361443][INFO]Erased  [2: 0 0
[1697361443][INFO]op->device:intel_pstate 0
[1697361443][INFO]Set : threshold:96000, temperature:95000, cdev:12(intel_pstate), curr_state:0, max_state:10
[1697361444][INFO]op->device:rapl_controller 24750002
[1697361444][INFO]Set : threshold:96000, temperature:95000, cdev:11(rapl_controller), curr_state:22500002, max_state:22500002
[1697361445][INFO]Added zone 2 trip 0 clamp_valid 0 clamp 0 _min:0 _max:0
[1697361445][INFO]Set : threshold:96000, temperature:96000, cdev:12(intel_pstate), curr_state:1, max_state:10
[1697361447][INFO]Erased  [2: 0 0
[1697361447][INFO]op->device:intel_pstate 0
[1697361447][INFO]Set : threshold:96000, temperature:95000, cdev:12(intel_pstate), curr_state:0, max_state:10
[1697361448][INFO]Added zone 2 trip 0 clamp_valid 0 clamp 0 _min:0 _max:0
[1697361448][INFO]Set : threshold:96000, temperature:97000, cdev:12(intel_pstate), curr_state:1, max_state:10
[1697361449][INFO]Erased  [2: 0 0
[1697361449][INFO]op->device:intel_pstate 0
[1697361449][INFO]Set : threshold:96000, temperature:93000, cdev:12(intel_pstate), curr_state:0, max_state:10
[1697361450][INFO]op->device:rapl_controller 24750002
[1697361450][INFO]Set : threshold:96000, temperature:85000, cdev:11(rapl_controller), curr_state:22500002, max_state:22500002
[1697361450][INFO]forced to min_state 


Оно работает.

utanho ★★★★★
() автор топика
Последнее исправление: utanho (всего исправлений: 1)
Ответ на: комментарий от utanho

Дополню. Снял лючок с пуза ноута, который прикрывает СО и вайфай. Поставил на охлаждающую подставку. Ноут очень заметно похолоднел. В Следопыте температура не поднимается выше 80С.

Думаю над модернизацией СО и надо что-то делать с притоком воздуха. Видимо дефолтных микрощелей не хватает

utanho ★★★★★
() автор топика