Change Log

 

--1.2-6 is in very-active-development right now.  That means that patches may be released frequently.

A series of bugs have made it in to the final release, and I am doing my best to squash anything remaining immediately.

 

Please email a description of any odd behavior, deadlocks, freezes, or crashes found to:

 

 

Version 1.2-6.5 (watchdog tweaks, sanity-checks):

-ADL watchdog INIT reason is now clarified in log.

(this seems to be causing some confusion, please be aware that the watchdog starting does not mean that timing events are happening)

 

-More safety-checks added before ADL helper takes actions.

(continuation of 1.2-6.4's changes, looking for more potentially bad-situations that technically shouldn't happen)

 

Version 1.2-6.4 (watchdog tweaks):

-ADL watchdog interval can now be set. (including completely disabling timing-events)

-More safety-checks have been added on watchdog actions.

 

Version 1.2-6.3 (hotfix):

 

Addressed issues:

-ADL watchdog setting STOCK clocks when a card is pre-overclocked and when custom clocks is disabled.

*Original clocks are reverted properly when the profile is dropped*

 

**This is an unintended behavior and was corrected, blocking is supposed to behave similar to 1.2-5 in this specific case.

[where the pre-set clocks are respected in ALL circumstances => IF custom clocks is off either by checkbox OR selected devices to manage]

 

-Some Windows components such as the Windows registration dialog, System Information, etc -- (and probably more), were being detected by the internal rules [fullscreen detection, 3D-detection].

 

**The under-the-hood (non configurable) rejection of system processes has been improved, both for the scanner and window pickers.

Make sure that you are running 64bit-builds on 64bit-Windows, else this rejection will be significantly crippled.

 

Version 1.2-6.2 (hotfix -- critical):

-Addresses a 'deadlock' between the Main UI-Thread and ProcessScanner.

This looks like a regression between beta and release of 1.2-6. The ordering of two CriticalSections were flipped.

 

--If using any 1.2-6 release build (after beta), please update asap.

 

Version 1.2-6.1 (hotfix):

Fixed issues:

-ProcessScanner in some circumstances did not apply profile custom-clock rule changes, until the rule is re-applied.

(aka, disabling and re-enabling it, or changing dialog focus)

-Minor memory-leak (4-bytes per time) may be noticed when disabling, deleting, undoing, and then re-enabling rules w/ custom-clocks in effect.

 

Version 1.2-6 (major release: dealing with stuck clocks & the latest 16.11 drivers):

 

Fixed issues:

-Start with Windows, in specific circumstances created the scheduler entry as 'SYSTEM'.

-Clock-States should no longer get stuck when using ADL -- be it from ClockBlocker crashes (hung helper), driver-crashes, or full OS hangs.

(If ClockBlocker detects stuck states on startup, or whenever its ADL Helper is run -- these states will be automatically corrected)

 

-ADL init, and thus setting of clocks sometimes did not work on the latest 16.11 releases. (where all 3 retry attempts would fail in the log)

-Compute-Method no longer reliably held clocks on the latest 16.11 releases.

 

New Additions:

-BugTrap:

**If the controller process crashes, a crash-dump can be saved to email to me. (please send these in if you see a crash a few times, it will help me immensely in getting the software stable for everyone)

-ADL WATCHDOG:

**ADL-Helper now has a background task that constantly monitors clock-states. If clock-states change (for any reason) your desired clocks are automatically restored.

 

-Explicit Clock Control (custom clocks):

**You can now set a custom Overdrive target globally, in profiles, and override the stuck-clock 'fixing' reverted clocks.

=> You also may specify which devices these target applies to. (such as if you have both an IGP and discrete cards, or multiple discrete cards in the machine concurrently) 

 

======================================================================

Note that to enable Custom clocks in profiles you need to:

 

-"Enable custom clocks" on Settings > General

-Choose "Use ADL-method" on Settings > General

-Move your graphics device from the left to right on Settings > "[ADL] GPU-Picker"

 

As always please use common sense in what clocks you apply, especially if you're adding voltage via an altered vBios or through another utility.

 

**Some hardware will need options such as "Extend official overclocking limits" enabled in a tool such as Afterburner (for instance for memory clock control on the R9 Fury).

As this is not an overclocking tool (more of a supplement), I have not automated this process.

 

-"SHIFT" may be held during startup as an emergency halt to using custom clocks(this will uncheck Enable custom clocks)

======================================================================

 

-Added "wait-on", "wait-for", and "wait-after" concept. (these are in the Settings > General tab)

 

*wait-on => Process to wait on

*wait-for => Duration of time to wait for this process

*wait-after => After wait-on process has launched, or after timeout on wait-for, waits an additional period. (to give ample time for the other program to fully start)

 

**These options only apply whenever ClockBlocker is started from the loader processes on startup. Normal starts after a machine is running are not delayed.

**This option has been added due to custom clock control and profiles, and to address startup race-conditions.

 

======================================================================

For a usage example with MSIAfterburner (if you use a clock profile in both tools on Windows Startup):

 

-Click on "Set Wait-On"

-scroll down and select MSIAfterburner.exe

-Select "File-Name", just like you would with the profile picker for a rule edit or addition.

-Click on "Set Wait-For"

-Enter in 60 or 120 seconds. (there's no realistic reason to not pick the largest delay, as wait-for ends as soon as the process launches)

-Set Wait-After to 8-10 seconds

======================================================================

 

Misc:

-Complete rewrite of Task-Scheduler interactions, and removal of account-login prompt

-Eliminated all resize-flicker on buttons (only two more GUI-elements that aren't double-buffered remaining in the program)

-Added dialog scrollbars for the Settings > General tab (if the dialog is vertically smashed, the page can be scrolled now-- it still auto sizes horizontally)

-Various 'minor' tooltip edits and GUI tweaking

-Vulkan, DX12, and Mantle should now be properly detected by the 3D-detection rule

-Improved Compute-Method (for "reliable" approach only), which should work with the latest 16.11 drivers.

NOTE: Recent drivers (at least on the Fury-X & probably also on other cards) have changed the way that Power-Management works for CL and DC workloads.

 

The empty kernel trick no longer reliably works (alternate method), additionally in these drivers at very-low loads a Fury-X can drop to ~1018mhz.

The effective range of the Compute approach is ~1018-1050 now. (should still keep the card over 1000mhz at all times -- still effective, but if you want locked 1050 and if a game's load is too low you may need to use ADL)

 

 

Version 1.2-5:

Fixed issues:

-When "Always Ontop" is set at startup, some systems have tooltips appear behind dialogs and out of view. (they are there, but covered until Always Ontop is cycled off & on)

-ADL blocking method does not reflect overclock settings set by official-mode in MSI-Afterburner and AMD Overdrive. 

 

Version 1.2-4:

-New splashscreen, animation, and Guru3D co-branding theme.  ComroeStudios proudly considers Guru3D a partner in bringing you ClockBlocker.

-Added 'websites' section under HELP from the tray-menu.

-Moved 'Dump to TXT' tray-menu to under Misc.

 

Fixed issues:

-ADL helper may be launched by dispatcher thread before action-type is fully set. (IPC race-condition)

-ADL helper may occasionally set clockspeed to max when exiting Forced-Downclock mode. (IPC race-condition)

-Two log messages may be seen with no cr/lf between them when both COMPUTE & ADL modules are active concurrently. (helper coordination issue)

-On changing focus from a program closing or alt-tabbing, a minimized program could have a rule processed. (despite not being visible)

-It was possible to crash the program by holding the tray-menu open while the splashscreen is active.

 

Version 1.2-3a:

-interim release -- contains all 1.2-4 bugfixes a bit sooner

 

Version 1.2-3:

-Added Force-Downclock rule choices. (no matter your method selection, ADL will be used on such rules)

-ADL module will now retry several times before giving up on most calls.

-ADL-method now works w/ memory overclocking on the Fury-X.

[provided that the overclock is done with MSI-Afterburner in unofficial overclocking mode & that Crimson CP Overdrive has not been enabled.  (only tested on Windows 8.1 so far) ]

-Fixed a few issues that prevented tooltips from showing up in certain circumstances. (this would persist until the ClockBlocker UI was restarted completely)

-Added dump to TXT tray-menu option (log file + rules page)

-Fixed an extremely-rare crash in the 3D_PROGRAM detection.

-3D_PROGRAM detection will work for more games now.

-Major code optimizations. (up to 40% less overhead in some rule setups)

 

Version 1.2-2: (optimization & GUI cleanup)

-Eliminate dialog resize flicker on edit rule prompts and confirmation prompt popups

-Drop the no longer necessary delays in IPC coordination (faster behavior switching)

-Optimize module thread-init (slightly faster startup)

 

Version 1.2-1b: (hotfix)

-Fixed a potential SharedMem race condition -- only could occur when using both methods concurrently

-Changed one last reference to 2015

 

Version 1.2-1a: (hotfix)

-Combined method now working properly.

(Last second issue right after packaging the release)

 

Version 1.2-1: (1.2-0 ADL-test integration, cleanup, minor GUI fixes)

-Integrated ADL-method in to the GUI, as well as providing the option to mix ADL + compute methods

(this is very close to "ClockBlocker ADL Module 1.0" for 1.2-0, minus some cleanup and various other changes to glue it all together)

 

-Bumped SharedMem signature, no longer compatible with prior versions

-ExecuteProcess now labels which module is launched (both can be launched concurrently)

-Helper Module messages are now labeled as ADL or COMPUTE, to make it clear which module generated them

-Eliminated dialog resize flicker on general-settings tab

-Added minimum dialog size for settings page

-Changed all 2015 references to 2016 (woohoo!)

-Set "HELP > Forums" link to point to the documentation forums page, which in turn links directly to the Guru3D forums (Guru3D is considered ClockBlocker's official home)

 

Version 1.2-0: (major release)

-Edge added around tabbed dialogs, control, and some other UI elements (clarify control division)

-More tooltips added

-Fixed some minor control painting issues

-Tweaked helper module time keeping (should help keep things working right in certain intensive games)

-Clarified log-messages from the Helper-Module as coming from it

-Re-added old blocking method (which has slightly lower performance cost), the newer (more reliable) and older compute methods can now be chosen between

-Rules can now be disabled from the editor. (with the exception of the base "DEFAULT" rule of course, disabled rules are color-coded "gray")

-Rules can now have priority-hints set. These can be assigned individually or collectively adjusted. Higher priorities will be forcedly sorted above others in the list.

-3D-Program detection added as a base choice. (this is disabled by default in favor of fullscreen detection)

-Undo support added. (needed now that bulk actions like priority adjustment exist)

-Added choice for "fast" window fade (faster editing of rules)

-Added choice to bypass confirmation prompts (faster editing of rules)

-Sped up default fade speed slightly

-Windows minimized to the taskbar or hidden in other such ways can no longer trigger foreground detections

-Reduced fontsize in rules list (to help with long paths)

-Fixed some cases of incorrect iconic-windows showing in the window picker

-And many more under the hood changes 

 

Version 1.1-4: (single bugfix)

-Fixed a "Downclock" rule issue in the evaluator. This was a regression that was fixed before.

(thanks Bloodred217 [Guru3D forums] for reporting it!)

 

Version 1.1-3:

Behavioral:

-Added wildcard support for process-matching.  What this means for example is that the following is now valid in a rule:

*:*\SteamLibrary\*

This rule would act on all processes executed from a folder named SteamLibrary on any of our drives, so long as full-path detection is working for the game process.

-Reversed the sort-order of rules. (downclock rules take priority always)

This permits directory wide catch-all behavior while setting spot-exclusions to the catch-all "block" rule.

-Detection added to partially disable "Software Update" when the program is not installed. (eg, Installer not to be used)

 

GUI Related:

-Reduced size of text in log viewer and selection lists.

-Split rule triggers in the log across multiple lines.

 

Version 1.1-2a:

-Bumped version number and tested update check functioned correctly "live".

 

Version 1.1-2:

-Windows Explorer is now filtered correctly in all cases from active Window picker (including on x86 binary).

-List selection-dialog (for pickers) is no longer white when containing no contents.

-Improved full-path detection (in some cases).

-"Check for Updates on startup" option added.  (This can be found on the General Settings tab.  If enabled, you will be prompted when new versions are uploaded.)

-New process selection method for rules "Recent Foreground".

-This is an MRU (most recently used) sorted list of processes that have had a window in the foreground.

-It's intended to help catch processes that start-up and run in the background, then close on input activity, such as screensavers.

-The maximum depth to track is set at '30 processes' for now.

-Launcher processes are now built with different compiler flags, this resolves some virus false-positives (namely in TrendMicro).

-The installer packaging has been changed, shaving a few mb of download size.

 

Version 1.1-1: (bugfixes snapshot + one feature addition)

-More bug fixes. (mainly w/ IPC coordination)

-Exclude ScreenSavers (fullscreen-detection), added. [GhostriderJnr's suggestion]

 

Version 1.1-0a (last minute bugfix):

-Managed to catch the elusive focus-loss happening, and to step through it under a debugger. This now should be really squashed.

 

That bug can cause your games to minimize to the taskbar (something extremely annoying and disruptive).. So I suggest upgrading whenever possible if on 1.1-0.

 

Version 1.1-0 (major release):

-Restructured the software in to two separate parts, a blocking "module" and the controller (GUI + rule logic).

-Thanks to this new structure, OpenCL and DirectCompute can be 100% unloaded when not used. (That means no loaded 3D-libraries for other software to detect)

-New methods of library linking.

-Logs can be saved to disk from the "File" menu of the log viewer.

 

**While this may not sound like alot of changes, to put it another way:  Effectively the program was ripped in half, and then sewn or glued back together.  It was a messy process.

Although I've done my best to test this version before any public release, believe me when I say that there were quite a few issues in the versions of it all the way until a few hours before release.

[Consider this effectively an RC build!]

 

**If you have problems and need to revert, the old versions are archived over here.

On that note:  Please run an "uninstall" of 1.1 builds before re-installation of 1.0 (do not just install-over if rolling back).  There are file differences that otherwise will not be wiped out, and this may cause issues.

 

Version 1.0-8 (minor / diagnostics):

-Many sanity-checks added to fullscreen detection, process scanning, & monitor dimension querying.

-Added xxela's suggestion (Guru3D forums): Tray-Menu 'Quick Actions' to toggle the DEFAULT rule's action.

 

Version 1.0-7:

-Some changes to combat complications w/ DEP (Data Execution Prevention) being enabled for ClockBlocker.

-1.0-6's exclusion of window handles (for in Pick Window) did not include tooltip windows, this is corrected now.

-Some more checks are bypassed (where possible) -- this reduces CPU usage a bit.

-Fixed a problem with fullscreen detection where a program window has a menu-bar while in fullscreen mode [just off of the screen].  --Doesn't make sense, but apparently some games do this.

 

Version 1.0-6 (major release):

Behavioral:

-DirectCompute method now in.  It is automatically selected where the CL approach is determined not a good candidate.

-Possible fix for the people seeing clock jitter.  (this needs testing as I cannot reproduce it myself)

-Re-wrote fullscreen detection.  I believe this approach is better and that it may have better detection rate.

 

GUI Related:

-Fixed some grammatical errors, spelling errors, incorrect tooltips (edit & create rules), and other minor such issues.

-Fullscreen program detection will now list the process that triggered fullscreen detection in the log, instead of just the special rule case.

-ClockBlocker now excludes itself from the Pick Window selection. (This should drop clutter and make selections easier of running programs)

 

Version 1.0-5 (major release):

Behavioral:

-Better device scanning and better support for multiple "concurrently" active OpenCL platforms. (Intel, AMD, NVidia)

-Better thread coordination: [faster setup and faster cleanup] -- quicker profile response on alt-tabbing into a game

-Further optimized process scanning.

-New, more reliable, CL workload pattern.

 

GUI Related:

-Re-added trigger verbos to log, and improved it.  (You can now see the rule that triggered blocking or downclocking, and also the process that triggered that rule)

-Fixed a precision issue with the fade-out of the splash dialog (might be related to crashes).  It was possible for a third fade out to be triggered (though rare).

-Fixed an issue where modal confirmations on fade out sometimes don't correctly restore focus to the parent.

 

Still in the works:

-DirectCompute based (instead of CL) clock blocker method.

 

Version 1.0-4:

-Changed OpenCL INIT and work kernel slightly.

-Added links to forums and web documentations in to the software.

-Added forums link to documentation.

 

Version 1.0-3:

-64bit native build now available.

Native 64bit builds are able to see more full process paths on 64bit Windows, they also use slightly less CPU overhead in scans. (win, win)

 

-Reduced scan overhead for cases where a user's rules do not require scanning background processes.

 

Version 1.0-2 (hotfix):

-The rushed out changes in 1.0-1 broke parts of the GUI. [Didn't notice it immediately, everything is now tested working once again]

 

Version 1.0-1 (hotfix):

-Found and fixed a potential race condition ("might" have caused a handle leak during CL setup)

 

Version 1.0:

-Initial release