Process Lasso is a unique new technology intended to automatically adjust the allocation of CPU cycles so that system responsiveness is improved in high-load situations. It does this by dynamically temporarily lowering the priorities of processes that are consuming too many CPU cycles, there-by giving other processes a chance to run if they are in need. This is useful for both single and multi-core processors. No longer will a single process be able to bring your system to a virtual stall.
In addition, Process Lasso offers capabilities such as default process priorities, default process CPU affinities, termination of disallowed processes, and logging of processes executed. With Process Lasso you essentially create rules to manage processes running on your system.
- Addition.GUI: Position of window and child windows is now saved at exit and restored at re-launch.
- Addition.GUI: Added 'View' menu item and 'Show Legend' option to toggle display of graph legend.
- Optimization.GUI: Reduced main window procedure CPU cycles per message.
- Change.GUI: Changed 'File' menu item back to 'Actions'.
- Fix.GUI: Removed some incidental debug output left in final builds (minor).
- Change.UpdateChecker: Cosmetic changes.
- Installer.Fix: Remembers last installed path during an upgrade/reinstall. [TESTING NEEDED]
- Installer.Fix: Added code to run gdiplus.exe or gdiplus-installer.exe, if present in the CWD, to install gdiplus.dll. This is opposed to downloading gdiplus.
- Installer.Addition: Added hotkey to invoke Process Lasso GUI (or show its window)- ALT|CTRL|SHIFT|F12. Can be edited, post-install, in properties of start menu shortcut. {EXPERIMENTAL, MAY UNDO THIS}
- Installer.Addition: Added back section to automatically show out-of-control config dialog. Section is off by default.
- Installer.Change: Moved advanced menu items to a new subfolder of process lasso's start menu folder.
- Installer.Change: Re-enabled advanced menu item section by default.
- Installer.Fix: Now forcibly terminates running copies of processsupervisor.exe and processgovernor.exe even if they are running in other user sessions to avoid 'in-use' errors when trying to update.
- Fix.Updater: Fix 'auto check' mode so it doesn't keep checking in an infinite loop when the update check dialog is opened.
- Fix.Updater: Fixed 'never check' setting - it wasn't getting saved/restored correctly.
- Fix.GUI.Updater: Fixed up updater invocation. Defaults to checking every three days. Turn 'automatically check' on and it'll just notify you if an update is available without bothering you with the dialog box otherwise.
Addition.GUI: Position of window and child windows is now saved at exit and restored at re-launch.
Addition.GUI: Added 'View' menu item and 'Show Legend' option to toggle display of graph legend.
Optimization.GUI: Reduced main window procedure CPU cycles per message.
Change.GUI: Changed 'File' menu item back to 'Actions'.
Fix.GUI: Removed some incidental debug output left in final builds (minor).
Change.UpdateChecker: Cosmetic changes.
Installer.Fix: Remembers last installed path during an upgrade/reinstall.
Installer.Fix: Added code to run gdiplus.exe or gdiplus-installer.exe, if present in the CWD, to install gdiplus.dll. This is opposed to downloading gdiplus.
Installer.Addition: Added hotkey to invoke Process Lasso GUI (or show its window)- ALT|CTRL|SHIFT|F12. Can be edited, post-install, in properties of start menu shortcut.
Installer.Addition: Added back section to automatically show out-of-control config dialog. Section is off by default.
Installer.Change: Moved advanced menu items to a new subfolder of process lasso's start menu folder.
Installer.Change: Re-enabled advanced menu item section by default.
Installer.Fix: Now forcibly terminates running copies of processsupervisor.exe and processgovernor.exe even if they are running in other user sessions to avoid 'in-use' errors when trying to update.
Fix.Updater: Fix 'auto check' mode so it doesn't keep checking in an infinite loop when the update check dialog is opened.
Fix.Updater: Fixed 'never check' setting - it wasn't getting saved/restored correctly.
Fix.GUI.Updater: Fixed up updater invocation. Defaults to checking every three days. Turn 'automatically check' on and it'll just notify you if an update is available without bothering you with the dialog box otherwise.
Download x32 or x64:
- Addition.GUI: Added 'match pathnames' option to disallowed processes. This allows for optional additional matching on the process pathname.
- Addition.GUI: Added hint about most active process to system tray tooltip.
- Addition.Core: Added new match pathnames code.
- Change.Core: Considerably optimized primary loop.
- Fix.Installer: Now properly rembers last install dir.
- Fix.Installer: Other issues with install dir.
- Fix.Core: Fixed some issues with limited access accounts.
- Change.All: Updated version info resource blocks.
- Change.GUI: Re-added average CPU usage column.
- Change.Installer: Removed GUI hotkey for now.
- Fix.GUI: Fixed 'only lower priority of normal priority processes' OOC option not been written to config file.
- Change.GUI: Avoids possible unnecessary reloading of the config file.
- GUI.Fix: System tray icon can is now restored if explorer crashes/restarts.
- Updater.Change: Now defaults to not including beta versions in the update query.
- TestLasso.Change: Added timeout of 7.5 seconds in case of failure.
This release basically moves the default INI configuration file and log file to the user application data store folder, which is aimed at providing per-user configuration and access to the log file and INI file for limited user accounts. Existing configurations (INI files) should be properly migrated by the installer to the new default paths, and although backups are made, keep in mind that this is a beta release.
Changes:
- Core.Change: Changed default config and log file location to user's application data directory store. This allows per-user configuration and the ability for 'limited' users to write to their personal configuration and the log file. NOTE: Automatic migration of your INI config and log files should occur for the current user installing the product. Other users may need to reinstall Process Lasso under their accounts to invoke the migration.
- Core.Change: If we don't have write access to the log file, default it back to the user application data directory, with the assumption of a limited user stuck with an old log file pathname into the program files directory.
- Installer.Addition: Added revision history (HTML).
- Installer.Addition: Added new version migration section that copies INI and LOG files to new default locations.
- Addition.GUI: Added page fault delta (page faults per interval) column to process listview. This is an important metric so I figured it should be there. Note that represents the number of times a page of memory needs to be loaded into the process space (i.e. read from the page file), otherwise known as a page-in. Some page faults in the counter may be 'soft' faults though in that the page need not be loaded from the page file.
- Addition.GUI: Added ability to choose new configuration store folder.
- Addition.GUI: Added ability to export configuration file.
- Addition.GUI: Added ability to import configuration file.
- Fix.GUI.Perf: Fixed performance issues with the log file that could have caused brief spikes in CPU usage by processsupervisor.exe, especially as the log file grew in size. The log listview code is now much more optimal.
- Fix.GUI: Fixed listview not resorting when sorting by some dynamic columns (note that it still resorts only when necessary to conserve CPU cycles).
- Change.GUI.Perf: Rewrote log subsystem completely. Its now much more optimal.
- Change.GUI: Removed an old, now unused, toolbar bitmap from the resources, there-by decreasing executable size.
- Change.GUI: Added additional information to about box.
- Core.Change: Changed default config and log file location to user's application data directory store. This allows per-user configuration and the ability for 'limited' users to write to their personal configuration and the log file. NOTE: Automatic migration of your INI config and log files should occur for the current user installing the product. Other users may need to reinstall Process Lasso under their accounts to invoke the migration.
- Core.Change: If we don't have write access to the log file, default it back to the user application data directory, with the assumption of a limited user stuck with an old log file pathname into the program files directory.
- Installer.Change: General cleanup.
- Installer.Addition: Added revision history (HTML).
- Installer.Addition: Added new version migration section that copies INI and LOG files to new default locations.
- Fix.GUI: Fixed broken balloon tips in previous couple versions.
- Fix.GUI: Fixed possible issues in default process affinity dialog box on boxes with more than 4 virtual processors.
- Fix.GUI: Fixed default CPU affinity change behavior on a process that doesn't already have a default CPU affinity set (it gets befuddled, but subsequent changes seemed correctly implemented).
- Fix.GUI: Fixed inability to rollup Process Lasso application window when using WindowBlinds.
- Fix.Core: Some minor logic fixes and optimizations.
- Fix.Core: Adjusted use of mutex object to log accesses to prevent any possible problems.
- Change.Core: Changed default OOC total CPU usage before restraint to 75% (from 95%).
- Addition.GUI: Added German translation provided by ixnay.
- Addition.GUI: Added Dutch translation provided by sanderg.
- Addition.GUI: Some facilitating localization code.
- Addition.GUI: Added current resource language module to about box info.
- Addition.GUI: Added 'encouraged development' button to about box.
- Addition.GUI: Added warning text notification over graph area when processgovernor.exe isn't running.
- Installer.Fix: Fixed wrong build of TweakScheduler.exe sometimes being included causing invocations of TweakScheduler to fail.
- Installer.Addition: Added updatechecker resource strings to optional localization section (for translators to use).
- Installer.Change. Added new start menu subfolder 'repair' and moved 'reset saved window positions' to it.
- Installer.Change: Added 'reset language' start menu option to new repair group.
- Installer.Change: Changed add/remote programs display name to 'Process Lasso' instead of 'ProcessLasso'.
- Installer.Change: Some cleanup.
- cscpl: Double-click can select language from listview Installer.Change: Some cleanup.
- LangPicker.Change: Double-click can select language from listview now.
- Change.GUI: Changed title to 'Process Lasso'.w settings (column ordering and widths).
This is a small maintenance release. Much bigger changes are in the works and you'll see them start to arrive in the next beta series.
- Change.License: Changed license terms. Now free for home, personal, and academic use ONLY. Note that no nags or trial mechanisms have been added.
- Change.Docs: Minor work.
- GUI.Change: About box adjusted.
- GUI.Change: Misc. optimizations.
This is a small maintenance release to fix a couple reported bugs. Especially the second here is important.
- Fix.GUI: Fixed GUI setting of 'start at boot' using HKLM instead of HKCU, as the installer does.
- Fix.Core: Fixed not saving and restoring setting of exclusion of foreground processes from restraint. It was essentially ending up always stuck in the default value, which was TRUE prior to v2.64, but is now FALSE.
- Fix.GUI: Fixed 'Save' button in default CPU affinities dialog having no effect. Right-clicking processes to add default affinities worked fine though, users of v2.90 should use that mechanism instead, or upgrade to this beta. - Fix.Core: Removed hard limits on the size of lists (such as default priorities) in the configuration INI file. - Fix.Core: Now restores priority of a restrained background process when it becomes foreground, if foreground processes are excluded from restraint. The log entry and balloon text will differ from standard restores (if you've set PL to log restorations). - Fix.Core: Fixed possible problem with disallowed processed based on pathname (optional feature). - Fix.GUI: Fixed errant balloon text on process restraint (it said process priority was restored). This was a localization mishap, strings got confused in a copy/paste operation. - Fix.GUI: Fixed 'Open folder' option, which quit working in v2.90, or possibly before. - Addition.GUI: Added 'forced mode' setting within default priorities dialog, for convienence. It is still in the options menu too. - Addition.GUI: Added 'do not start at login' to 'Options / General settings / Process Lasso startup'. - Change.Core/GUI: Reduced RAM usage even further. The more processes you have running, the more pronounced the RAM savings will be. - Change.Core/GUI: Optimized stack use to reduce RAM consumption. - Change.Core: Added more sanity checking to the configuration file, which will prevent crashes in some cases where the user made certain syntax errors in the default priorities or affinities. - Change.Core: Default process priority settings in the configuration file can now be in your native language, or in English. They must be exact in their name though. - Change.Core: Some error messages were moved to localizable resources. - Change.GUI: Adjusted 'Options / General settings / Process Lasso startup' menu structure (removed a submenu). - Change.GUI: Updated Russian translation. - Change.GUI: Updated Polish translation. - Change.GUI: Moved start types 'All users' and 'Current user' to localizable resources. - Change.GUI: Reworked image list code to avoid problems at low color depths, or other issues. - Change.All: All Process Lasso executables are trimmed (PETrim) now. - Change.Core/GUI/InstallHelper: Reworked and consolidated localization handling. - Change.LocalizationPack: Renamed graph legend bitmap from bmp00001.bmp to graph_legend.bmp. - Change.Installer: Updated to NSIS v2.37. - Change.Installer: Switched to MUI2. - Change.Installer: Other changes, and added Polish language (note: selection may not be working as of beta 2). - Change.Installer: Localization files (for translators) installed by default for now, may switch back before final. This is to reduce confusion about where these files are. - Change.Installer(x64): File system redirection is now disabled, as it should be so PL isn't treated like a 32-bit app and installed in the WoW directories. Other than the default install path being wrong, it had no other effect.
- Fix.Core: Fixed high CPU load when Lasso update speed set to 'Pause' and the Process Governor is started/restarted.
- Fix.Installer: Fixed issue where two instances of ProcessLasso.exe could end up running after initial install, depending on timing.
- Update.VistaMMSC: Now properly describes network throttling index, removes percentage mark from that value, enforces new max limit (70), and supports disabling of throttling.
Latest changes:
- Change.GUI: Now has a much more accurate per-process historical average CPU
utilization calculation
- Change.GUI: The 'aggressively trim GUI working set' option now defaults to
TRUE. This will cause it to more aggressively trim its virtual memory. This does not
affect the core engine, whose memory use is negligible already
- Change.Core: Changed default OOC settings a bit, lowering the per-process
restraint threshold
- Addition.InstallHelper: Added capability to set the 'show all processes' option for
Vista UAC at install-time
- Addition.InstallHelper: Added capability to tweak GUI startup type as well as
governor startup type
- Addition.InstallHelper: Second dialog, wizard-look, to make room for more
options
- Change.Installer: Added new section to launch the InstallHelper and let the user
configure Process Lasso before starting it
- Change.Installer: Several misc. tweaks
- Change.Installer: Update to NSIS 2.39
- Change.GUI: Now has a much more accurate per-process historical average CPU utilization calculation. - Change.GUI: Restored Polish translation. - Change.GUI: The 'aggressively trim GUI working set' option now defaults to TRUE. This will cause it to more aggressively trim its virtual memory. This does not affect the core engine, whose memory use is negligible already. - Change.Core: Changed default OOC settings a bit, lowering the per-process restraint threshold. - Addition.InstallHelper: Added capability to set the 'show all processes' option for Vista UAC at install-time. - Addition.InstallHelper: Added capability to tweak GUI startup type as well as governor startup type. - Addition.InstallHelper: Second dialog, wizard-look, to make room for more options. - Change.Installer: Added new section to launch the InstallHelper and let the user configure Process Lasso before starting it. - Change.Installer: Several misc. tweaks. - Change.Installer: Update to NSIS 2.39.
- This minor update polishes InstallHelper, the configuration tool that runs during the installation process. The configuration dialogs got a few cosmetic tweaks, descriptions were clarified, and some text corruption on the second dialog was fixed.