Hello Fellows.
A little background.
I found that niceness simply doesn't work when it comes to computer games.
I am Gentoo user. That means every now and then I have to compile programs to upgrade my system. At that time I may as well play occasional game.(who am I kidding? I am gaming ddict)
I have GTX660 + AMD vishera, 8 core 4 GHZ, 32 Gig of ram, amd64 OS.
I noticed that niceness does jack shit. I give 19 to compilation process and -19 to game, and frame rate still drops occasionally and very often on demanding game. It appears to work in case if I have demanding CPU processes, but not with CPU + GPU mix.
I was trying to find out why niceness is ignored or doesn't work as intended. CPU scheduler is set for least performance but for maximum customisation of niceness. I can't remember exact terms now. I didn't find anything useful whatsoever.
So I went different way and I was successful!
Since I have 8 cores on my CPU and computer game has priority over background process of compilation to me personally, I used taskset utility. I gave compilation of program couple of cores. I gave system and all other programs 2 cores and I gave to game all other 4 cores. Lo and behold! I had virtually no performance loss when I did that! out of 170 FPS or so in half life lost cost benchmark game fluctuated +- 5 FPS. Unigine Valley also showed no difference with "make -j 20" on 2 cores.
What I also noticed. It's very subjective. But Before, even with high FPS, i was seeing Unigine Valley being jerking sorta. Hard to explain. I thought it's because test is running on average of 35 FPS. I attributed that low frame rate happend with very high speed and I didnt have reaction time to see it on bechmark FPS counter. Now, I run Unigine Benchmark with 2 cores issue with low FPS persisted. I couldn't understand why. I gave Benchmark 4 cores, and SUCCESS! Benchamrk, even with 2 CPU under load of 100% was wroking flawless and "jerkiness" was gone. Even on scenes where 24 FPS was showed constantly, i did not see this jerkiness anymore!
All in all, niceness is broken but at least CPU affinity works.
Now, THE QUESTION!
I want to filter out Nvidia GUI process + Kernel process responsible for interaction between GUI and kernel and give them 1 core and see difference.
My guess is, that Userspace Xorg is one to be prioritized and on kernel side, what should it be?
Thanks in advance!
Your fellow Linux Geek
dimko aka drjoms("dr" doesnt not stand for anything)
A little background.
I found that niceness simply doesn't work when it comes to computer games.
I am Gentoo user. That means every now and then I have to compile programs to upgrade my system. At that time I may as well play occasional game.(who am I kidding? I am gaming ddict)
I have GTX660 + AMD vishera, 8 core 4 GHZ, 32 Gig of ram, amd64 OS.
I noticed that niceness does jack shit. I give 19 to compilation process and -19 to game, and frame rate still drops occasionally and very often on demanding game. It appears to work in case if I have demanding CPU processes, but not with CPU + GPU mix.
I was trying to find out why niceness is ignored or doesn't work as intended. CPU scheduler is set for least performance but for maximum customisation of niceness. I can't remember exact terms now. I didn't find anything useful whatsoever.
So I went different way and I was successful!
Since I have 8 cores on my CPU and computer game has priority over background process of compilation to me personally, I used taskset utility. I gave compilation of program couple of cores. I gave system and all other programs 2 cores and I gave to game all other 4 cores. Lo and behold! I had virtually no performance loss when I did that! out of 170 FPS or so in half life lost cost benchmark game fluctuated +- 5 FPS. Unigine Valley also showed no difference with "make -j 20" on 2 cores.
What I also noticed. It's very subjective. But Before, even with high FPS, i was seeing Unigine Valley being jerking sorta. Hard to explain. I thought it's because test is running on average of 35 FPS. I attributed that low frame rate happend with very high speed and I didnt have reaction time to see it on bechmark FPS counter. Now, I run Unigine Benchmark with 2 cores issue with low FPS persisted. I couldn't understand why. I gave Benchmark 4 cores, and SUCCESS! Benchamrk, even with 2 CPU under load of 100% was wroking flawless and "jerkiness" was gone. Even on scenes where 24 FPS was showed constantly, i did not see this jerkiness anymore!
All in all, niceness is broken but at least CPU affinity works.
Now, THE QUESTION!
I want to filter out Nvidia GUI process + Kernel process responsible for interaction between GUI and kernel and give them 1 core and see difference.
My guess is, that Userspace Xorg is one to be prioritized and on kernel side, what should it be?
Thanks in advance!
Your fellow Linux Geek
dimko aka drjoms("dr" doesnt not stand for anything)
Comment