ClockBlocker (profiled AMD power-management control)

Discussion in 'Videocards - AMD Radeon Drivers Section' started by A2Razor, Dec 10, 2015.

  1. Bloodred217

    Bloodred217 Master Guru

    Messages:
    356
    Likes Received:
    1
    GPU:
    2x GTX 1080 G1 Gaming 8GB
    @A2Razor

    The last few days I've been running into an issue, namely ClockBlocker wouldn't block in any game, even with specific profiles defined and even if I set the default profile to block. After checking the log, I found the reason. I had a "Downclock" profile for "mpc-hc.exe" (MediaPlayer Classic with madVR, which uses D3D) and this profile appeared to be overriding absolutely everything else. I deleted it and blocking works as expected, as well as default downclocking.

    I'm not sure how profile priority is handled or defined, but as a suggestion perhaps a simple option such as "prioritize blocking" or "prioritize downclocking" would work nicely, if not a system that allowed manual ordering of profiles (dragging them up & down in the rules list maybe?).

    Still, the biggest issue is that the mpc-hc.exe profile was triggering, despite the program not running or having been opened at all since boot. So far it's not such a huge issue for me, I can simply close ClockBlocker when I'm done with it.

    Also, my $0.02, if you're going to add 3D detection, please make it an option along with the current profile system, I much prefer doing it this way largely for the reasons you mentioned.
     
  2. nav-jack

    nav-jack Master Guru

    Messages:
    253
    Likes Received:
    0
    GPU:
    980 ti 1520/2000
    A good example of a program that uses 3d but shouldn't is corsair link
     
  3. A2Razor

    A2Razor Guest

    Messages:
    543
    Likes Received:
    110
    GPU:
    6800XT, XFX Merc319
    The evaluation is always top-down, meaning the first item in the list reading from the top to bottom that evaluates stops the evaluation. Early versions had manual ordering of rules whenever my design was just "block" and "downclock" choices that applied to both foreground and background. I ended up changing this design to an automatically sorted one basically because you can assign rules higher in the list that aren't evaluated.

    For example, MPC could have a "downclock if in the foreground" rule rather than a "downclock" rule. If that's not working, and that's what you had rules wise, then this is definitely a bug.


    --When 3D-detection goes in, it'll be another category like FULLSCREEN_PROGRAM, added along with the ability to 'disable' those two stock detection rules.


    EDIT:
    Ironically I should point out that I just recently flipped around the sorting behavior (block rules used to have priority over downclock) whenever I added in wildcard rules. (this is because I assumed that everyone using wildcard rules would be using them mainly for "block")


    --If you can think of something that the rule system absolutely can't do, but needs to do, I may have to re-add the manual ordering. Unfortunately I think that ordering rules is what makes a rule system cumbersome. But, maybe I could think of heuristics that produce the correct behavior in special cases, or new rule activation types.

    EDIT #2:
    Re-read that.

    -Are you absolutely sure that mpc-hc.exe isn't running in the background if you check with something like Process Explorer?


    If the rule is still triggering and other process scanners can't see it, I'll need to see your rule and maybe a screenshot of the list of running processes from inside of ClockBlocker. (eg, "Pick Running Proc" list)

    Basically either one of two things would have to be happening:
    -ClockBlocker thinks that mpc-hc.exe is actually running when it's not running. (a bug in the process scanning)
    -The rule for MPC is triggering on some other process and or foreground-window. (a bug in the rule evaluation)


    Update:
    -Bug reproduced. Will fix this one up soon as I can.

    Update 2:
    This issue only effects "Downclock" rules and does not effect foreground or background exclusive ones. It also does not happen with global "Block" rules. Looks like it's a regression that I fixed before, yet returned (due to restructuring the evaluation). It's purely in the rule detection and not process scanning.

    That fix will be out shortly.
     
    Last edited: Dec 24, 2015
  4. A2Razor

    A2Razor Guest

    Messages:
    543
    Likes Received:
    110
    GPU:
    6800XT, XFX Merc319
    I don't use Corsair Link on this side, but I do know of all the ones like Intel RST (which you can't close, if you want drive failure notices in the tray). There's an annoying number of programs that use 3D API's in their GUI's.
     

  5. A2Razor

    A2Razor Guest

    Messages:
    543
    Likes Received:
    110
    GPU:
    6800XT, XFX Merc319
    New version pushed.

    1.1-4:
    -Fixed the "Downclock" rule regression. (for combined rules that effect a process in either the foreground or background)


    @Bloodred217, please verify if this corrects your issue. Although it should.
     
  6. nav-jack

    nav-jack Master Guru

    Messages:
    253
    Likes Received:
    0
    GPU:
    980 ti 1520/2000
    clockblocker works great with HIS iTurbo
     
  7. Truder

    Truder Ancient Guru

    Messages:
    2,400
    Likes Received:
    1,430
    GPU:
    RX 6700XT Nitro+
    Yo, just like to say I'm trying this program out, the wording confused me a little but as I understand it, clock blocking is really referring to locking the clockspeed to maximum correct?

    Anyway reason I wanted to try this is that playing the PC port of FFXIII, it's shall we say, not a very good port and it has problems with low framerates. Anyway when I found I was having low frame rates I had a look at gpu-z and I noticed the utilisation and clock speed while the game was running was very low (talking 700mhz), so I gave this program a whirl and I've found the game to be much more stable now.

    Card I'm using is R9 285.

    Thanks!

    Edit, can't believe I didn't notice my bad typos.... I'm so careless with my keystrokes -_-
     
    Last edited: Dec 26, 2015
  8. GREGIX

    GREGIX Master Guru

    Messages:
    856
    Likes Received:
    222
    GPU:
    Inno3d 4090 X3
    Hi guys
    As Im struggling with choose between fury r9/nano + loudspeakers or 980ti can I ask - does this cb program solved screen corruption problem completly or it is driver/other related?
    Im not sleeping on cash so...don't wonna RMA or searching solutions just after buying new HW...

    Happy Christmas and New Year!
     
  9. A2Razor

    A2Razor Guest

    Messages:
    543
    Likes Received:
    110
    GPU:
    6800XT, XFX Merc319
    Correct, ClockBlocker is short for Downclock Blocker.

    In most normal use (eg, gaming and not benchmarking), ClockBlocker should keep the clockspeed at the maximum. Be aware though that there are still some cases that may cause a downclock -- such as exceeding thermal limits, power limits, pushing the card in an overclock [and or using AMD's official overclocking method for a high overclock], etc.

    It's only a bandaid or workaround, and one at that which is very hard to say would work for everyone (despite that it works for software that I have issues in). I use a combination of raised voltage (sometimes) and downclock-blocking; raised voltage on the desktop, for web-browsing, and in apps such as Visual Studio (results in lower power consumption than running locked at max clocks), and clockspeed locking while in demanding games (@ stock voltage it's a bit cooler).

    While locking your clockspeed at all times may very well work, that's entirely giving up power management (not an ok solution to me). Thus I wouldn't really call it a fix. On the corruption front, it's more a temporary solution than anything while waiting for if & when AMD provides a better and more permanent one. Eg, you would likely use ClockBlocker combined with something else like Afterburner or TriXX (depending what you're currently using the machine for).


    That all out there, I cannot say if you would even be effected by the corruption (some people aren't) ... yet you'll have to make your own judgement call on which you go for, and on how much the possibility of being one of those unlucky people worries you. (It's a major *PITA* to deal with)

    ----If I was in your shoes I personally wouldn't risk it. However, my view is very biased due to having dealt with constant screen-corruptions for months now. (due to being an early adopter of Fiji and buying one on the first week of launch)


    EDIT (Addition):
    Far as what the problem is, honestly I have no idea. The only thing that I can say is that it seems to be related to power-management (clock changes) in some way. While the problem is intermittent and random at times, it can be exacerbated by certain actions (such as low load games that cause constant clock jittering). Also, since a voltage bump (+24mv) @ stock clockspeeds for me seems to take care of the problem, I'm guessing that my card is not completely stable at the voltages that it's rated at.

    ---It's most likely a lower clockspeed voltage that's too low, since the card is completely stable at max speeds @ stock voltages. ... or maybe right on the edge of stability, pending some other system factors that prevent AMD from reproducing it.


    It's worth noting that if you have this problem, there's probably nothing like RMA'ing that will help. If you read through that AMD thread linked in the first post, you'll notice that I've tried my cards on multiple different machines of completely different specs, with different supplies, processors, motherboards, on different OS's, and also on fresh OS installs. I've RMA'd my card (multiple times), and pretty much tried everything that I could short of using the card at some other physical location.

    *The sad thing is that these cards can perform really great, yet ultimately if you're enjoying your computer and suddenly find yourself having to power-cycle the display, that kindof kills any gaming immersion and fun. I'm just starting to get back to the point now where I'm confident that it won't happen again (having now lasted quite a long time without a recurrence).


    Hopefully AMD can track that elusive issue down soon.
     
    Last edited: Dec 26, 2015
  10. JonasBeckman

    JonasBeckman Ancient Guru

    Messages:
    17,564
    Likes Received:
    2,961
    GPU:
    XFX 7900XTX M'310
    Yeah whatever that corruption problem is it's pretty random and can be different from one user to another, for me the screen corruption issue is not something I've ever encountered while playing movies or gaming and only occurs on a few select web pages and there's only one page I know of where I can trigger the issue constantly.
    (CheatHappens which I use for certain game trainers and the like, not really sure why that is but it's pretty easy to trigger it there by just browsing for about half a minute or so at most.)

    Something with lower clock speeds and voltage switching is the best explanation I've found so far, I assume a bios fix would be the best method unless it can be set via software / drivers which would be a bit easier.
    (Also I'm using a pretty recent Fury GPU model and it still happens so it's not only on the earliest reference models or anything like that.)

    For some people fixing the issue is also problematic whereas for me just turning off the monitor and turning it on again corrects the problem every time it occurs.
    (And on the CH website mentioned above if I remain on the page it will return again after a few seconds so it's very easy to trigger it repeatedly, wonder if that could be useful for testing but I guess it's not quite that easy and AMD hasn't mentioned the issue much either themselves AFAIK.)

    Really need to give this software a try and see if it solves or at least works around the problem as you called it, I'm not too fussed about power savings so running at 3D clock speeds isn't a big deal although apparently media playback at least on earlier GCN GPU's with hardware acceleration uses a mid-clock speed mode for compatibility so that might be a issue if you force it into full 3D speeds though one just has to be careful when enabling it I suppose.
    (Or set up profiles, I would really only need to set one up for Firefox.exe in that regard as that's the browser I'm using 99% of the time and so far since it only happens while browsing that should be it then until a official solution appears, if one appears at all.)

    EDIT: At least this one isn't as bad as the black-screen GPU crash that some of the early 290 / 290X GPU's had which was later fixed in newer models and with some driver adjustments.

    EDIT: Come to think of it I wonder if the "HighPerfGPUAffinity" flag AMD uses (Going by the dumped profiles file on Kn00t.com or if you dump them yourself.) could be used to similarly solve the issue at least with browser though it's a bit comical a web browser should need full 3D clock speeds so obviously that's not the way to solve this. :D
     
    Last edited: Dec 26, 2015

  11. pecheckler

    pecheckler Guest

    Messages:
    2
    Likes Received:
    0
    GPU:
    r9 fury x
    Is there any way to use this or other software to keep a Fury X clocked at a constant rate lower than 1050?

    With default AMD Crimson settings I find problematic games (causing display issues like flashing lines) to cause the clock rate to fluctuate from 400 to 1050. Using ClockBlocker keeps games at 1050 constantly with the games in the foreground. I would like to try and recreate the issues i've been having keeping the clock rate at a steady 800 or 900.

    Any way to accomplish that?

    I've had no luck with AMD's overdrive. Even reducing the GPU clock by 75% still results in the same maximum clock rate of 1050 being reached.
     
  12. A2Razor

    A2Razor Guest

    Messages:
    543
    Likes Received:
    110
    GPU:
    6800XT, XFX Merc319
    In jist, ClockBlocker's trick relies on OpenCL or DirectCompute. When these types of workloads are present, one side effect is that AMD's official overclocking method is ignored [outside of a very small permitted range], and the default max clockspeed for the card gets used instead. You may notice that some people overclocking were seeing their cards drop to speeds a bit under 1070mhz, that was this same problem.


    --You can get around that limitation (although this is something I've only tested very briefly). To do that you'll have to use something other than AMD's Overdrive for setting clockspeed, though. (aka, use Sapphire TriXX or MSI Afterburner, and then use that combined with ClockBlocker like usual)

    If you use Afterburner, set it to unofficial overclocking mode "with PowerPlay". The official mode will behave similarly to using AMD Overdrive, which won't suffice in this case. Before you start using either tool in unofficial mode, I'd strongly suggest that you wipe your drivers clean to get yourself back in to a state where Overdrive is locked (completely OFF).


    Best of luck with your testing.
     
  13. minginator

    minginator Guest

    Messages:
    11
    Likes Received:
    0
    GPU:
    MSI R9 390
    Hey, I just wanted to tell that the normal installer randomly started working for this version. I've tested the program and it works just fine for me in FFXIII.

    Thank you for releasing this software, it's amazing :D!
     
  14. sammarbella

    sammarbella Guest

    Messages:
    3,929
    Likes Received:
    178
    GPU:
    290X Lightning CFX (H2O)
    :question:

    I understand his goal is to have a light (and constant) underclock applied to his GPU timings.

    Is not better to use "without powerplay" trying to avoid even more downclocking?

    Choosing "with powerplay" in Afterburner will only limit the clock ceiling allowing clocks to fall to 2D base clocks at any moment the driver consider it fine for power saving.
     
    Last edited: Dec 27, 2015
  15. A2Razor

    A2Razor Guest

    Messages:
    543
    Likes Received:
    110
    GPU:
    6800XT, XFX Merc319
    Yes, you'd be right and this would be the case with another type of card (eg, not needing ClockBlocker). However you'll notice that he's asking for with a Fury-X, so this is a special situation.


    From the latest Afterburner release notes:


    That's indeed mysterious as I haven't changed the SF installer that much (it's still built with the same version of the software). All that I really did was get the installer-size down a bit, which may have helped by chance due to less time downloading. Incase the issue was incomplete downloads for whatever reason, I also hand-compiled and updated Apache2 to the latest version. Noticed the Ubuntu-Trusty repo is a bit outdated by now..

    Just let me know if you have problems getting later versions downloading. We can probably narrow it down more, experiment, and find out exactly what's going wrong (get this reliable for you).
     

  16. sammarbella

    sammarbella Guest

    Messages:
    3,929
    Likes Received:
    178
    GPU:
    290X Lightning CFX (H2O)
    You are right, i didn't remembered this AB changelog part reffering to GCN +1.2 limitations.

    Fury X is not giving customers many option to OC or to UC properly, i understand OC has limit in this new arch (specially cause HMB) but for a stable UC core speed i don't get it.

    AMD is adding too much limits to his GPUs and drivers lately.

    Hopefully i don't need to upgrade my GPUs yet, i can wait to see what they are able to show as Pascal opponent and DX12 performance.
     
  17. fat4l

    fat4l Guest

    Messages:
    19
    Likes Received:
    0
    GPU:
    Asus Ares 3 8GB
    Nice ! :)
    This program works for me on Ares 3(2x 290X) and 15.12 Crimson drivers.

    My questions is, is it possible to do the opposite effect ? To keep the clocks "downclocked" when, for example watching youtube ?
    You certainly know that core and memory + voltages are jumping here and there when watching youtube.
    So in other words, a condition to keep the clocks down for mozilla would be nice :)


    Edit:/
    So the clocks are stable in my crossfire setup but, runnignthis program lowers the performance which I dont understand as the clocks are now stable so it should give out the full performance, logically. Weird.
     
    Last edited: Dec 28, 2015
  18. A2Razor

    A2Razor Guest

    Messages:
    543
    Likes Received:
    110
    GPU:
    6800XT, XFX Merc319
    The method used in ClockBlocker can only raise clocks and not lower them. It does not adjust or alter the clock states in any way, instead working by causing the drivers to believe that there's a need for a high clockspeed. So, as of right now this isn't possible the way that the software works.


    On performance dropping, there is a performance cost (although in the case of the Fury and my testing it's pretty negligible). That cost should be minor, and realistically less than the cost of clock jitter, or improper performance needs assessment by the drivers on frametimes. But it's probably measurable in some benchmarks where the card would be constantly at full clockspeed (eg, no real need for clockspeed enforcement).

    How much of a hit are we talking vs when the cards are running at maximum speed without ClockBlocker? Are you testing performance by benchmark runs, or actual feel in a game?


    EDIT:
    Please do let me know on what you're seeing, because I did make some changes that increased the performance hit some time ago. There's an alternate method that sometimes works (doesn't work on some systems, yet has a slightly lower hit).

    --I could always re-add the older method and make it a selectable-option for people that it works for.
     
    Last edited: Dec 28, 2015
  19. sammarbella

    sammarbella Guest

    Messages:
    3,929
    Likes Received:
    178
    GPU:
    290X Lightning CFX (H2O)
    A2Razor already explained you can use Afterburner to set up an UC profile.

    In Afterburner you can define up to 5 profiles and select which one will be used in desktop 2D applications (multimedia playing, browsing) and which one in D3D mode (fullscreen D3D software like games) or don't define it and use a profile always or manually selecting it.

    I think RadeonPro has per app clock control.

    This doesn't make any sense, locking GPU core and mem at higher power state in a 290X CFX is not going to make your setup loose performance, the contrary is true.

    I must admit that i don't know if in GCN +1.2 this is different but in a 290X CFX this is the case.

    By performance you mean GPU usage is lower having GPU core and mem clocks locked at max?

    Performance in what situation?Game, multimedia, browsing?

    Did you enabled overdrive in CCC and use Afterburner and ClockBloker all at the same time?

    Once activated overdrive is stubborn and can't be disabled.
     
  20. Quatis

    Quatis Guest

    Messages:
    1
    Likes Received:
    0
    GPU:
    R9 380 4GB
    Hi ! As I was searching for a solution for my fps problems in gta5 since latest amd crimson driver, here I found and tried clockblocker with my r9 380.

    The result is amazing, I never had it running so smooth at 60 fps and other games look and run so much nicer as well now !
    With previous catalyst versions it has never been like this either, you really made my day (or night) !

    Thank you !
     

Share This Page