Winstep

Software Technologies

Optimizing for speed AND memory usage

On any thread about Windows docks there is always someone quick to point out how 3rd party dock x or y uses a bit less memory and/or is faster than Nexus.

Well, guess what? Nexus has more eye-candy, functionality and effects than all the other Windows docks put together! Every little extra has a price to pay in terms of performance and/or memory usage.

So, if you want Nexus to be as lean and fast as other docks, simply stop using the extras exclusive to Nexus and start comparing Apples to Apples instead of Apples to Oranges. You'll quickly find out that under the same circumstances Nexus is as fast, if not faster, than all the other docks. And leaner too.

You see, this is the beauty of Nexus: it is super customizable! Almost every feature can be turned on or off at will, according to user preference.

So, let's start:


Turn Off Icon Reflections


Nexus is still the only Windows dock featuring live icon reflections. While beautiful, icon reflections are strictly eye-candy and are definitely not essential.


Icon reflections must be stored in memory and, since they are updated in real time every time the icon changes, rebuilding the reflection also has an effect on CPU usage.


Stop using animated icons


Nexus offers built-in support for animated icons. Animated icons in Winstep applications are as easy to use as any other icons too: drop the animated icon PNG strip directly into a dock item and the icon will automatically start animating. Alternatively just change the icon via the right click context menu as normal.


This is possibly the single most important advice. Animated icons use a HUGE amount of memory as, for obvious performance reasons, each animated icon must have all its frames cached in memory at once.

For instance, the 181 frame animated Google Chrome icon uses a staggering amount of 4.63 MB of memory. And that is just for ONE animated icon.

Needless to say, they also hit the processor whenever animating, although Nexus is the ONLY dock capable of having multiple icons animating at the same time with a negligible performance hit.

Try it: other docks will slow to a crawl as soon as you have more than two or three icons animating at the same time. But not Nexus!


Do not combine Magnify with other effects


Nexus features 26 amazing mouse over, launch and attention effects (Nexus Ultimate and Winstep Xtreme offer eight more, for a total of 34 different effects!)


Most of these effects can be combined with the main magnify effect if you select the appropriate setting in the Effects Panel. However, this obviously has a rather large performance hit. Think about it: the magnifying effect by itself is already extremely demanding in terms of processor usage, and now you have two different effects playing at the same time on the same icon!

Furthermore, the animation sheet based effects need to complete their animations (so they don't end abruptly) even if the mouse pointer is no longer above the icon! This can mean a lot of animations going on at the same time even in parts of the dock that are no longer being magnified.

Either use the Magnify effect on its own, or stop combining other effects with Magnify. The icons will not grow larger as you mouse over them, but CPU usage when doing so will be exponentially reduced.


Avoid using effects based on animation sheets


There are two main types of mouse over, launch and attention effects: those that perform some kind of transformation on the icon itself, and those that play an animation on top or below the icon.


Just as with animated icons, the latter requires all animation frames to be cached in memory for performance reasons. Again, this can use a lot of memory.

To reduce memory usage stick to the icon transformation effects only: Magnify, Flat Magnify, Zoom, Jump, AfterGlow, Rock, Swing, Squish, Spin, Sonic Boom, Push, Grayscale, Bounce, Flash, Shake and Fade In.


Disable the Aero Glass Blur feature


Under Vista and 7 - and also under Windows 8.x and 10 if the 'Aero Glass' 3rd party application is installed - Nexus can automatically blur the background of semi-transparent docks.


This blur region, however, needs to be calculated in real time every time the dock changes size (which includes when you mouse over it if the Magnify effect is enabled).

Scanning the dock's background image for blur regions is, obviously, pretty CPU intensive. Since, for performance reasons, these regions are also cached in memory once calculated for the first time, there is also a hit in terms of memory usage, even if not a very large one.


Disable all water and fluid motion effects


This is a no-brainer. The more effects - such as water ripples, etc - you have enabled at the same time, the more intensive CPU usage is going to be. Especially when using effects that are always playing.


Use only the modules/widgets that you really need


Nexus features eight useful modules (widgets) such as a talking Digital/Analog Clock that synchronizes your time with time servers on the internet, a Recycler, an Email Checker that supports SSL and multiple email accounts, a Weather Module, CPU, Net and RAM Meters and Wanda, a 'fortune cookie' animated fish!

Nexus Ultimate and Winstep Xtreme also add a Battery Monitor module to this collection.

Each module uses system resources but Nexus has been designed in such a way that if the module is not present on the dock, it uses zero resources: all related features are turned off.

If you don't need to monitor network usage, then delete that module from the dock - not only is that one less object to update on the dock every second, as any background data collection regarding network usage stops being performed.

Likewise, if you remove the Recycle Bin module from the dock, Nexus no longer needs to collect data regarding how many files are in the Recycle Bin and their respective sizes.


To recap


After having turned off all these features unique to Nexus, you are now ready to compare it to other Windows docks on equal terms.

Of course, these are also some of the features that make Nexus stand head and shoulders above the other docks, and they are there to be used! Now that you know that every little feature has a price in terms of processor and memory usage, you can choose wisely which you can/want to use and which you don't.

Also, since some of the advanced effects and features can be pretty processor intensive, it's unrealistic to expect Nexus to perform as well on a low end machine with all the effects turned on as it does on a high end machine. You also don't run games with all settings maxed out if your video card can't handle it.

Turn off some of the bells and whistles and Nexus is perfectly usable even on ancient Pentium 500 Mhz systems with 256 MB of RAM.


About Memory usage


Something that never ceases to amaze me is how some users seem to love complaining about Nexus typical 20-40 MB memory usage, even when running it on systems with 4 GB or more of RAM.

Not only is this nitpicking taken to the next level, as they don't seem to realize the irony of doing it on Internet browsers that typically consume 100+ MB of RAM to display *a single* web page.

I just opened Google Chrome and it's currently sitting there using four separate chrome.exe processes and a grand total of 196 MB of RAM to display (wait for it!) a blank Google Search page. Yet Nexus is sometimes villified, even though it typically needs 10 times less memory to run than the absolute *minimum* required by any web browser.

Thankfully these rants are becoming less and less common, as users begin recognizing how meaningless they really are when referring to modern systems.


About Boot times


The last thing I would like to address has to do with boot times: a few complain that Nexus is slow to start after a system reboot, or that it makes their systems take longer to boot.

First thing users need to realize is that the boot process is a very, very, busy event. Absolutely everything is being loaded from disk into memory *at the same time*. Applications, the OS itself, services, etc, are all competing with each other for CPU and Disk I/O.

Furthermore, when booting from a hard disk, the read heads are all over the place during the boot process because system and application files are typically spread all over the disk platter(s). Mechanically moving the read heads (random access time) to access all these files is a million times slower than actually reading the data from disk.

This is why the best upgrade you can ever do these days (and the one with the best bang for the buck) is not even related to RAM or the CPU, but to replacing your old disk drive with a SSD (Solid State Drive). With no read heads to move, it really doesn't matter where data is stored on the SSD's Flash memory, access times are nearly instantaneous.

The overall increase in system responsiveness with a SSD as your system drive is so great that your worst nightmare becomes having to go back to using a hard disk drive.

As for Nexus apparently taking a long time to start, every version of Windows since Vista has been making this worse. This is because the OS is cheating to make itself look better: Microsoft made Windows deliberately delay the loading of 3rd party applications in favor of the OS itself, so the Desktop is displayed faster - thus giving the impression that Windows boots faster too. Windows 10 is the worst in this. And no, we are not making this up.

So, either go the SSD route (you can thank me for that later) or manually start Nexus, once everything has calmed down after the reboot, to see the difference. You will be surprised how fast it actually starts once it is not competing with everything else or being deliberately delayed by the OS itself!

Another idea to speed things up is to start using Sleep mode instead of turning off the PC at the end of the day. Sleep is a low power state so the PC will consume very little energy, with the advantage that getting back into action is several orders of magnitude faster than booting your machine up.

Your PC can also be made to automatically enter this mode when it hasn't been used for a while, thus also helping to cut costs on your electrical bill. Win-win all over.


New Fast Boot startup option


As of v16.6, you can enable Fast Boot and Nexus will be there already waiting for you as soon as you see the Windows Desktop. Yes, the difference is that dramatic, and clearly demonstrates what we stated above about Windows deliberately delaying the startup of 3rd party applications ever since Windows Vista.


Nexus is a program launcher and a Windows user interface add-on. As such, it should be available to you at the same time as the Windows Desktop.


Why isn't Fast Boot enabled by default? For two reasons:

First, some security applications such as WinPatrol might prompt the user when this option is enabled. This is because the method used to make the Winstep application start faster is sometimes also used by malware to run at Windows startup.

Second, although it has no side-effects, we are using a method which was not designed for this purpose. If every application did the same (and some have a truly misplaced sense of self-importance) we would soon be back to square one.

We therefore feel that this is the type of decision that should be left to the user. The user (NOT the application and NOT Microsoft for them) decides what he wants to boot faster.


Final words


That Nexus can actually perform so well and do everything it does without slowing down to absurd levels (take the animated icons example on other docks above) is no accident. This happens because Winstep uses every trick in the book to optimize each and every new feature.

Besides bugs, the thing we hate the most is the wasting of CPU cycles.

FAQs

Product Comparison

Tutorials

Latest News

Happy Holidays!

December 23, 2016

Wishing everybody a Merry Christmas and a Happy New Year!

Read more

Winstep Xtreme v16.12 Released!

December 8, 2016

New calendar module, high-quality voice packs in multiple languages, and much more!

Read more

Nexus Dock v16.12 Released!

December 8, 2016

High-quality voice packs in multiple languages, Email Checker module now displays number of unread messages on the icon itself, and much more!

Read more  - Older News