Serious problem with gaming mode

Started by Scott, May 21, 2009, 12:09:23 AM

Previous topic - Next topic

Scott

I was running 3.59.11 beta (under WinXP) when this happened:

I had been running BioShock for days before I ever enabled Gaming Mode for the first time.  I manually added the path to Bioshock.exe to the INI file, and restarted the governor.  The next time I tried running Bioshock.exe, it took so long to load I really thought the system was totally hosed.  It eventually did load, but it was unplayable (nonexistent frame rate, mouse cursor would barely move), and I had to exit it.  That was the only time BioShock had ever done that, and the only time I'd ever used Gaming Mode.

I edited the INI again to "hide" Bioshock.exe (by changing it to x:pathxxxxxbioshock.exe), and all was well again after that.

Priority inversion, maybe?

I have Bioshock.exe in my ProBalance exclusion list, in case that matters.

Edit: I've since removed BioShock...  (Finished it)

Jeremy Collake

Hmm, that is odd. Thanks for reporting this. I will investigate and see what I can discover. I have needed to set up a proper game system test bed, so will take the time to do that before I release the next final build.

Software Engineer. Bitsum LLC.

Jeremy Collake

#2
Although I haven't yet determined what happened here, I do have a theory. I am going to make a few changes to gaming mode that I believe will help avoid potential problems. This will be in the next build officially released (Update: Now available in a post-release update to v3.59.14 RC1)

Software Engineer. Bitsum LLC.

Scott

I updated to RC1 today and tried gaming mode with the game Chaser.  I didn't have the slowdowns I did with BioShock, but I did have audio that kept cutting out.  Without leaving the game, I closed the PL governor, and the audio problems stopped.  Sorry...

Robz

Hi heterodox, I was wondering do you use foreground boosting? and if you do try excluding the game from foreground boosting. I have had problems with certain games in particular EA games and found that they didn't like forground boosting. The game would slow down to a studder. Hope this helps. Regards Rob

Scott

#5
That's a good thought, but I don't use FB at all.  (I just double-checked, and the setting is off.)

In the past (i.e. before there even was a "Gaming Mode" feature in PL), I tried explicitly giving games a High "default priority".  Some games were fine, but many games ran horribly, which is very counterintuitive to me.  My only guess is that it could be priority inversion, but I really have no idea.

Jeremy Collake

#6
I should elaborate on how gaming mode works.

Gaming mode actually turns on foreground boosting, even if it hasn't been enabled by the user. Excluding the bioshock process from foreground boosting would probably fix the issue reported here, but since gaming mode is mostly foreground boosting -- it would be about the same as turning off gaming mode.

My improvements to gaming mode may have helped matters in these rare cases of incompatibilities, and there are more tweaks coming. These changes effectively lower the priority difference between foreground and background threads in gaming mode. My current theory is that too high a priority skew can cause some applications to stall, as they incidentally starve background threads of CPU cycles while they wait for those same background threads to complete. In other words, they are dependent on background threads (whether in their own process space or another), but while waiting for those threads to complete they, or other threads, end up eating so many CPU cycles that the background thread(s) have no chance to complete their tasks in a timely manner. This is essentially a live-lock scenario.

This theoretical problem is only evident with certain games, as it depends largely on how they are programmed. Anyway, this is why it is important for Process Lasso to make sure it does its job 'right'. Perhaps the largest amount of intellectual property we own is simply is real-world performance data. This kind of information takes a long time to develop, and we're constantly refining our algorithms to perform better in more scenarios.

I hope this makes sense, and is helpful to our users. I am actively working to keep improving the gaming mode algorithm. I am also adding special handling for any known incompatible games, so please report them as you discover them.
Software Engineer. Bitsum LLC.

Jeremy Collake

#7
Quote from: heterodox on May 23, 2009, 10:08:36 PM
I updated to RC1 today and tried gaming mode with the game Chaser.  I didn't have the slowdowns I did with BioShock, but I did have audio that kept cutting out.  Without leaving the game, I closed the PL governor, and the audio problems stopped.  Sorry...

Thanks very much for the test result. I think this is due the audio threads being prevented from having pseudo real-time access to the CPU. I will make some further tweaks to adjust this..

And somehow I saw this message after my last post, I need more coffee.. or maybe a bigger laptop screen ;o.

Software Engineer. Bitsum LLC.

Jeremy Collake

#8
I'm going to defer some of the adjustments until RC3, or the final build. I want to do some more testing to see the effects on certain games before I make the remaining tweaks. However, RC2 will contain a few additional tweaks that may help performance of games affected by this phenomenon.
Software Engineer. Bitsum LLC.