Stuttering when playing the Witcher 3 with Conky in the background

Hey there,

first of all: The Witcher 3 runs perfectly fine through steam with proton, I don't have any issues with it.

My problem is, that I got slight stuttering when conky is running in the background.

My setup:
Ryzen 7 3700x
5700 XT
32 GB RAM
2 Monitors

When I'm playing the witcher 3 on one monitor, I can look at the temps of my cpu/gpu with conky, on the second monitor, if everything is fine. I was playing around with undervolting my gpu.

But every second, when conky refreshes, I get a noticeable stuttering in-game. I tried to change the update_interval to something like 5 instead of 1, but it still stutters every 5 seconds instead of 1.

Is there a way, where I can optimize my conky? I already ditched every "execpi" command in my script (because it says they are VERY cpu-intensive), which helped a lot. But there is still a slight stuttering there.

My conky script looks like this:

own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
alignment tr
update_interval 1
double_buffer yes
xinerama_head 2
use_xft yes
font SF Pro Display:size=12
gap_x 0
gap_y 0
maximum_width 400
minimum_size 400

TEXT
Uhrzeit ${hr 2}
${goto 100}${time %H:%M:%S} ${goto 200}${time %A, %d. %B %Y}
System Info ${hr 2}
${color #55aaff}$nodename $color $alignr $sysname $kernel
Uptime:$alignr $uptime_short
${color #55aaff}CPU$color ${color #e6e600} ${hr 2} $color
$alignc ${color #009A66}AMD$color Ryzen 7 3700X
Core 1 @ ${freq_g 1} ${goto 104}GHz: ${goto 150} ${cpubar cpu1 8,200} $alignr ${cpu cpu1}%
Core 2 @ ${freq_g 2} ${goto 104}GHz: ${goto 150} ${cpubar cpu2 8,200} $alignr ${cpu cpu2}%
Core 3 @ ${freq_g 3} ${goto 104}GHz: ${goto 150} ${cpubar cpu3 8,200} $alignr ${cpu cpu3}%
Core 4 @ ${freq_g 4} ${goto 104}GHz: ${goto 150} ${cpubar cpu4 8,200} $alignr ${cpu cpu4}%
Core 5 @ ${freq_g 5} ${goto 104}GHz: ${goto 150} ${cpubar cpu5 8,200} $alignr ${cpu cpu5}%
Core 6 @ ${freq_g 6} ${goto 104}GHz: ${goto 150} ${cpubar cpu6 8,200} $alignr ${cpu cpu6}%
Core 7 @ ${freq_g 7} ${goto 104}GHz: ${goto 150} ${cpubar cpu7 8,200} $alignr ${cpu cpu7}%
Core 8 @ ${freq_g 8} ${goto 104}GHz: ${goto 150} ${cpubar cpu8 8,200} $alignr ${cpu cpu8}%
${hr 1}
CPU-Auslastung insgesamt:
${cpubar cpu0 10,350} $alignr ${cpu}%
Temperatur: $alignr ${hwmon 2 temp 2} °C
Lüfter: $alignr ${hwmon 1 fan 2} RPM
${color #55aaff}Arbeitsspeicher$color ${color #e6e600} ${hr 2} $color
RAM $alignc $mem / $memmax $alignr $memperc%
$membar
SWAP $alignc $swap / $swapmax $alignr $swapperc%
$swapbar
${color #55aaff}Datenträger$color ${color #e6e600} ${hr 2} $color
Samsung 850 PRO ${goto 140}${fs_bar 5,210 /} $alignr ??%
Read: ${diskio_read /dev/sdb2} ${goto 150}Write: ${diskio_write /dev/sdb2} ${goto 290}${fs_used /}/${fs_size /}
${hr 1}
Crucial MX500 ${goto 140}${fs_bar 5,210 /mnt/mx500} $alignr ??%
Read: ${diskio_read /dev/sda1} ${goto 150}Write: ${diskio_write /dev/sda1} ${goto 290}${fs_used /mnt/mx500}/${fs_size /mnt/mx500}
${hr 1}
QNAP $alignr${fs_used /mnt/qnap01/filevault}/${fs_size /mnt/qnap01/filevault}
${fs_bar /mnt/qnap01/filevault}
${color #55aaff}Grafikkarte$color ${color #e6e600} ${hr 2} $color
$alignc Sapphire Radeon 5700 XT Nitro${color #55aaff}+$color
GPU-Takt: $alignr ${hwmon 3 freq 1} MHz
GPU-Auslastung: $alignr ? %
VRAM-Auslastung: $alignr ? MB
Temperatur: $alignr ${hwmon 3 temp 1} °C
Hotspot-Temperatur: $alignr ${hwmon 3 temp 2} °C
VRAM-Temperatur: $alignr $alignr ${hwmon 3 temp 3} °C
Power: $alignr ?
${color #55aaff}Netzwerk$color ${color #e6e600} ${hr 2} $color
Aktuelle Geschwindigkeit: ${goto 195} Up: ${upspeed enp34s0} ${goto 295} Down: ${downspeed enp34s0}
Insgesamt: ${goto 195} Up: ${totalup enp34s0} ${goto 295} Down: ${totaldown enp34s0}

I suggest you kill the conky while playing - conky will take resources as you clock is update once every second.

2 Likes

I tried that and the game will run just fine, without stuttering.
I was wondering, if there is any way to optimize conky, so the game won't stutter, when it is running in the background. Something like setting the process to low priority as in windows?

I thought conky was almost like running nothing at all.

Maybe you are using an option in conky that is not well optimized or something like that.

Check first if it still happens when you comment out most of your conky config, leave only something simple like a clock.

  • If the game still stutters then we must look elsewhere.
  • If that fixes the issue then you should check the config, commenting out parts (cpu info, gpu info...) until you find out what's causing the stutter.

Sorry that I can not give you an easy solution, I have never seen that issue before.

Good luck!

I suggest running gamemode on the game. It's in the repo. When launching the the game do;

gamemoderun <game>

Try capping the frame rate at 60 and enable vsync.

Forum kindly sponsored by