LINUX.ORG.RU

Провисание FPS в KDE

 , , ,


0

1

Приветствую!

Пытаюсь побороть проблему с просадкой FPS в KDE. Проблема заключается в резком, кратковременном затормаживании системы при открытии главного меню, сворачивании или разворачивании окон и любых аналогичных эффектах. При включении «Show FPS» в эффектах, можно наблюдать, как при открытии systemsettings5 fps падает c 60 до 8-10, анимация иконки возле курсора происходит с рывками, движение курсора происходят с лагом, если на заднем плане крутится видео с ютуба, оно тоже становится прерывистым. На звук это не влияет. На RT-шном ядре ситуация лучше, чем на обычном.

Железо:

  • i5-4460 x4 3.2GHz
  • 8GB DDR3 1600MHz
  • NVIDIA GeForce GTX 970 4GB
  • Transcend A2000 на линии x4

Пробовал переключить режим видеокарты с Auto на Performance, ничего не изменилось.

В композиторе следующие настройки:

Scale method: Smooth
Rendering backend: OpenGL 3.1
Tearing prevention ("vsync"): Never
mhwd -li
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
    video-nvidia-450xx            2020.10.04               false            PCI

uname -a
Linux i5 5.9.1-1-rt19-MANJARO #1 SMP PREEMPT_RT Sat Oct 24 16:27:39 UTC 2020 x86_64 GNU/Linux

cat /etc/lsb-release 
DISTRIB_ID=ManjaroLinux
DISTRIB_RELEASE=20.2
DISTRIB_CODENAME=Nibia
DISTRIB_DESCRIPTION="Manjaro Linux"

GRUB_CMDLINE_LINUX_DEFAULT="quiet udev.log_priority=3 i915.modeset=0 nvidia.modeset=1 mitigations=off"

Значительно улучшило ситуацию добавление в конфиг xorg:

Option         "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

Option "TripleBuffer" "On"

и

export KWIN_TRIPLE_BUFFER=1
export __GL_YIELD=USLEEP
export __GL_MaxFramesAllowed=1

в /etc/profile.d/kwin.sh

Отзывчивость улучшилась, просадка при этом в среднем не ниже 30, но торможение всё ещё чувствуется при операциях с эффектами (открытие меню, сворачивание окон)

Оно вообще лечится или с этим жить? Где-то читал, что с поддержкой проприетарных дрейверов Nvidia в линуксах всё очень печально, не зря Линус палец показывал. Неужто теперь лучше покупать продукцию красных?

Ответ на: комментарий от red_rain

Покажи cat /proc/cpuinfo

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 60
model name      : Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz
stepping        : 3
microcode       : 0x28
cpu MHz         : 3336.032
cache size      : 6144 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
vmx flags       : vnmi preemption_timer invvpid ept_x_only ept_ad ept_1gb flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest ple
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips        : 6400.05
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:
wheelman ()
Ответ на: комментарий от red_rain

Могу по всем ядрам, но что эта информация даст? Процессор практически не нагружается в моменты анимаций.

cat /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 60
model name      : Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz
stepping        : 3
microcode       : 0x28
cpu MHz         : 3365.216
cache size      : 6144 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
vmx flags       : vnmi preemption_timer invvpid ept_x_only ept_ad ept_1gb flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest ple
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips        : 6400.05
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 60
model name      : Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz
stepping        : 3
microcode       : 0x28
cpu MHz         : 3380.098
cache size      : 6144 KB
physical id     : 0
siblings        : 4
core id         : 1
cpu cores       : 4
apicid          : 2
initial apicid  : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
vmx flags       : vnmi preemption_timer invvpid ept_x_only ept_ad ept_1gb flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest ple
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips        : 6400.05
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor       : 2
vendor_id       : GenuineIntel
cpu family      : 6
model           : 60
model name      : Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz
stepping        : 3
microcode       : 0x28
cpu MHz         : 3392.237
cache size      : 6144 KB
physical id     : 0
siblings        : 4
core id         : 2
cpu cores       : 4
apicid          : 4
initial apicid  : 4
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
vmx flags       : vnmi preemption_timer invvpid ept_x_only ept_ad ept_1gb flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest ple
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips        : 6400.05
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 60
model name      : Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz
stepping        : 3
microcode       : 0x28
cpu MHz         : 3381.990
cache size      : 6144 KB
physical id     : 0
siblings        : 4
core id         : 3
cpu cores       : 4
apicid          : 6
initial apicid  : 6
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts md_clear flush_l1d
vmx flags       : vnmi preemption_timer invvpid ept_x_only ept_ad ept_1gb flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest ple
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds
bogomips        : 6400.05
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:
wheelman ()
Ответ на: комментарий от red_rain

И? У меня проц раза в два мощнее его. Тормоза никуда не делись.

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

У тебя не правильно работает прооцессор.
Точнее процессор в связке с оперативной памятью.
Нужно отключить энергосберегающие технологии в BIOS и выставить частоты шин процессора, множителя и оперативной памяти в ручную.
Как минимум применить xmp профиль к оперативной памяти.
Возможно процессор стабилизируется автоматом.

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

Попробую. Спасибо.

Выходит, что фризы связаны с моментом разгона процессора с низких на высокие частоты?

Вот, что говорит cpupower. Похоже процессор молотит на максимальной частоте постоянно.

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: 800 MHz - 3.40 GHz
  available cpufreq governors: performance schedutil
  current policy: frequency should be within 800 MHz and 3.40 GHz.
                  The governor "schedutil" may decide which speed to use
                  within this range.
  current CPU frequency: Unable to call hardware
  current CPU frequency: 3.38 GHz (asserted by call to kernel)
  boost state support:
    Supported: yes
    Active: yes

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

Нет, надо смотреть cpuinfo и все ядра. Их частота должна быть одинаковая и bogomips должен быть примерно в 2 раза больше частоты ядра. Скачки производительности вызывают фризы потому что на изменение частоты state control нужно время. Плюс это мешает планииоващику NUMA. так же там есть bounce buffer. Нужно же измерить насколькo изменить state control. Это время. А если частота фиксированна. Прыгающий буфер просто перемещается по памяти и всё.

red_rain ()

попробуй xrender вместо opengl в настройках экрана у кде. ибо на i7 8700k и gtx 1060, точно такие же просадки были

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

Недавно запускал федору чтоб бенчмарком её погонять. AMD A8 7410. Чот фризов я не видел. Она канешн говно неповоротливое в сравненнии с debian. По моему это у nvidia и интел проблемы. Потому что на всех проприетаных дроваг баг с переполнением памяти. А юзать интеловскую встройку религия не позволяет. Типо как енто так. Йаж GTX пакупал. Не вставлять тэпер яво штоль?

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

Нужно отключить энергосберегающие технологии в BIOS и выставить частоты шин процессора, множителя и оперативной памяти в ручную.

Выставил тайминги на память, отключил энергосберегайки, поставил performance governor. Ничего не изменилось.

NVIDIA GeForce GTX 970 4GB

Вот твоя проблема.

Самое интересное, что при покупке карты опирался на старый, негативный опыт с радеонами и позитивный с нвидиа. Помню, как для установки дров на радеон одного бубена было не достаточно, приходилось рисовать пентаграммы и вызывать рогатого в помощь. В то время у нвидии всё ставилось в два клика и отлично работало.

попробуй xrender вместо opengl в настройках экрана у кде. ибо на i7 8700k и gtx 1060, точно такие же просадки были

На xrender весьма не плохо работает. Пока посижу на нём. Где-то читал, что он больше нагружает CPU, но я разницы не заметил.

wheelman ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей