Recent site activity

Windows‎ > ‎

Tweaking

I give you tools and know how. I don't build your shed ;)


Windows 7 idling

Only using 570 Mb RAM and Avast antivirus running.

I'm am using the 32 bit version and only 2.7 Gb RAM available instead of 3.5 Gb due to the NVidia Optimus Video technology on my laptop.

I use PAE for Ramdisk. This holds the pagefile and the Temporary Internet Files for IE and Chrome.

This makes you think what the use of the pagefile is anyway these days.
It is an "obsolete" technology from the Win 3.1 era but we have to live with it. Even if you are using 64 bit versions of the Windows OS.

PAE on 32 bit Windows gives you 4 extra address bytes, that would be 36 bits in total. That is enough to address 64 Gb of RAM. Some Windows 2003 versions used it.

Recently I have run 36 bits Windows 32 with a great "just for testing purposes" tool from saferbytes.it and you can download BootkitInstaller from here. When it gives trouble reboot in safe mode and disable it.





Windows 7 - remove the bloatware


I found Windows 7 comes with loads of features that I don't like. Those however are easy removable from the installed OS.

Features? Thanks. I brought my own.
Use the Turn Windows features on or off from the Programs and Features screen.  This is what I ended up with.


Uninstalling Features from the command line

You can do this by using DISM.EXE from the command line: 
DISM /online /Get-Features /Format=Table
DISM /online /Get-Features /Format=Table | find /i "enabled"
 
Disable a Feature:
DISM /online /Disable-Feature /FeatureName:<name of the feature>
 
Enable a Feature:
DISM /online /Enable-Feature /FeatureName:<name of the feature>

You can remove obsolete Service Pack files with DISM.EXE:
DISM /online /Cleanup-Image /SpSuperseded /hidesp
 

Compress only the logfiles:
For /r C:\ %f in (*.log) do compact.exe /c /a /i /q "%f" & echo %f>> c:\temp\logfiles_compressed.txt


The Media features

By removing all the Media related features you need some replacement. For that you can use directshow codecs
and a mediaplayer you like. On the codec side you can use ffdshow or the mpc-hc filters or a combination of both.
As mediaplayer I use two: Winamp for audio and Mpc-hc for movies.

Even after removing the Media features some Microsoft codecs still be present in the OS.
Use these commands to get them disarmed:

REM ### Mpeg4s DMO {2a11bae2-fe6e-4249-864b-9e9ed6e8dbc2} merit 800001
regsvr32 /u /s MP4SDECD.DLL
REM ### Mp3 Decoder DMO {bbeea841-0a63-4f52-a7ab-a9b3a84ed38a}
regsvr32 /u /s mp3dmod.dll
REM ### Mpeg43 Decoder DMO {cba9e78b-49a3-49ea-93d4-6bcba8c4de07} merit 800001
regsvr32 /u /s mp43decd.dll
REM ### Mpeg4 Decoder DMO {f371728a-6052-4d47-827c-d039335dfe0a} merit 800001
regsvr32 /u /s mpg4decd.dll
REM ### Microsoft DTV-DVD Video Decoder {212690FB-83E5-4526-8FD7-74478B7939CD} 
regsvr32 /u /s msmpeg2vdec.dll
REM ### Microsoft DTV-DVD Audio Decoder {E1F1A0B8-BEEE-490D-BA7C-066C40B5E2B9} 
regsvr32 /u /s msmpeg2adec.dll

You can go even further by disabling the Media Foundation codecs too. This is the directshow successor.
And disable the Media Foundation codecs by entering this command: regsvr32 /u /s mf.dll

You can also completely remove the codec and Media Foundation packages. As always create a Restore Point before you do this.
DISM /online /Remove-Package /PackageName:Microsoft-Windows-CodecPack-Basic-Package~31bf3856ad364e35~x86~~6.1.7601.17514
DISM /online /Remove-Package /PackageName:Microsoft-Windows-Foundation-Package~31bf3856ad364e35~x86~~6.1.7601.17514  
(removing the Media Foundation gives permission denied, I'll try to fix that)

In the registry packages are listed here: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing

Remove all registered mf.dll explorer shell property handlers to speedup right click on media files:

@echo off

REM HKEY_CLASSES_ROOT\CLSID\{11103421-354C-4CCA-A7A3-1AFF9A5B6701}\InprocServer32
REM     (Default)    REG_EXPAND_SZ    %SystemRoot%\System32\mf.dll
REM 
REM HKEY_CLASSES_ROOT\CLSID\{14DD9A1C-7CFF-41be-B1B9-BA1AC6ECB571}\InprocServer32
REM     (Default)    REG_EXPAND_SZ    %SystemRoot%\System32\mf.dll

Echo %date% > C:\Temp\MF_unregister.log

For /f %%a in ('Reg.exe query HKCR\CLSID /f "\System32\mf.dll" /s') do Call :GetKey %%a
Goto NotFound

:GetKey
Echo %1|find "HKEY_CLASSES_ROOT\CLSID\"
If Errorlevel 1 Goto NotFound
Echo %1 >> C:\Temp\MF_unregister.log
Set KEYFOUND=%1
Set KEYFOUND=%KEYFOUND:\InprocServer32=%
Set KEYFOUND=%KEYFOUND:HKEY_CLASSES_ROOT=HKCR%
Set CLSID=%KEYFOUND:HKCR\CLSID\=%
REM Echo %KEYFOUND%
REM Echo %CLSID%
REM HKCR is not available as location: Powershell.exe rename-item "%KEYFOUND%" %CLSID%.OFF
REG SAVE %KEYFOUND% c:\temp\%CLSID%.hive /y
REG EXPORT %KEYFOUND% c:\temp\%CLSID%.reg /y
REG DELETE %KEYFOUND% /f

:NotFound

If you want to learn more about directshow engine try using GraphStudio for a while. You will see the lego-ish building functions in action.

ps: take ownership of HKCR\CLSID. But add the groups "Users" and "NT SERVICE\TrustedInstaller" before applying permissions!


Windows Search

As for Windows Search? Use Agent Ransack. I miss my little Doggy from Xp, yes we all do :(

Cleanmgr.exe /sageset:1

CleanMgr

In time your HDD will be filled with logfiles, dump files, and other temporary files. Since Windows XP there is cleanmgr.exe. This one pops up if your HDD gets low on diskspace. But we don't want the default actions as compressing files etc.
To take things in your own hands there are more powerful options in cleanmgr.exe than meets the eye. 

Setup cleanmgr.exe as follows:
cleanmgr.exe /sageset:1

Now select what you want it to clean up. It will be saved as set 1. Now we want cleanmgr to actually clean it. For that use:
cleanmgr.exe /sagerun:1

Use cleanupmgr.exe /help for some more info. You can schedule cleanmgr.exe /sagerun:1 for running once a week.
 
Note: Cleanmgr.exe /sageset:1 on XP/W2003 has the Compress Old Files feature.  Beware of that.


Remove Packages

Also you might have noticed the ridiculous growth in the c:\windows\winsxs folder. This folder holds packages/dll/mui/setup/sp etc. files for Windows 7 OS. 
 
Also you might find foreign language files you don't need:
DISM /online /Get-Packages /Format=Table
And you can remove then with:
DISM /online /Remove-Package /PackageName:<the name from the above command>

You can make a cmd file to get rid of them. An example can be found on my script page: RemovePackages.cmd.
Error 14098? Then WinSxS Component Store damaged. Windows 8 DISM has a repair option and a better Cleanup.
I will see if that can be used on Windows 7 too.

For Windows 8 users:
Dism /Online /Cleanup-Image /ScanHealth
Dism /Online /Cleanup-Image /StartComponentCleanup



Windows 7 - Improve performance

Although not slow out of the box it can always be (much) faster. This story can be a very long one but I will try to cut it short.
I will only focus on HDD, RamDisk, Network and (kernel) Memory


The HDD and the RamDisk

With QuietHDD you set your HDD to maximum performance, for both APM and AAM (if applicable for your HDD). This also helps Harddisk clicking noises and prolonging HDD life. This click is the HDD trying to save power at APM values lower than 128. My QuietHDD.ini looks like this:
FirstRun = 0
AC_APM_Value = 254
DC_APM_Value = 254
AC_AAM_Value = 254
DC_AAM_Value = 254
AAMEnabled = 1
APMEnabled = 1
To make sure it is started during startup I add a scheduled Task that starts QuietHDD.exe at system startup.

With Gavotte RamDisk you create a HDD in memory. I use drive B: for that. This is even useful on 32bit systems with 2Gb. It can hold your Temporary Internet Files. With 4Gb and more on 32 bit OS you use the 36 bit Physical Address Extension (PAE) so the Ramdisk is loaded in otherwise unused RAM. Even with 64 bit OS this has advantages: less HDD and SSD writes, a clean Internet Cache every time you start your PC.  (32 bit with PAE is 36 bit, which has an address limit of 64 Gb, not 4Gb)
With 4 Gb or more you also want to house the pagefile on the Ramdisk. Also schedule this with Task Scheduler and use addswap.exe from Gavotte.
addswap.exe B:\pagefile.sys 256 1024
Disable the Windows pagefile.
Since Ramdisk space is limited to 512 Mb up to 2Gb (we want some RAM for the OS too) I use Free Download Manager. This will relief the Temporary Internet Files cache where downloads usually stay after the download. Use IE settings to point your Temporary Internet Files to B:\

For Chrome use this registry setting to redirect the cache to the Ramdisk (B:):
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome
"DiskCacheDir"="B:\"
"DownloadDirectory"="C:\TEMP"

For all the Chrome policies check this file.


nic connection items
The Network tweaks

The network on Windows 7 is better than Windows XP SP3. But again a lot can be gained in performance. Try to find if you can use something from my registry tweaks below. (w2k_network_opt.regIt is also recommend to unbind the QoS Packet Scheduler and Tcpip v6 from your nic.

Make sure you have Turned Off Windows Feature Remote Differential Compression too.


In the
Network and Sharing Center you find Advanced Sharing Settings. Go there and unfold the Home and Work profile. Scroll down and select 40 bits encryption for File Sharing Connections instead of 128 bit. 
Scroll down to HomeGroup connections and select Use user accounts and passwords...

Advanced Sharing

I have also the Home networking disabled.
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\HomeGroup]
"DisableHomeGroup"=dword:00000001

LLMNR

Disable DNS multicasting (LLMNR)


The LLMNR feature (ipv6?) keeps DNS multicasting to find other IP nodes on your subnet. Probably you won't need it. As you can see on the screenshot on the right it doesn't consume much bandwith but in general I don't like multicasts.

To disable use gpedit.msc or put it ion the registry manually :

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DnsClient]
"EnableMulticast"=dword:00000000

Reboot needed.



40-plus percent throughput on 54G WLAN. Not bad with 4 out of 5 bars on the Wifi signal indicator.

Another network tweak can be done on the global tcp settings and heuristics.

These settings are stored in the registry in:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
<multiple values>

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nsi\{eb004a03-9b1a-11d4-9123-0050047759bc}\0]
"0200"=hex:01,01,00,00,02,00,00,00,00,00,00,00,00,00,00,00,1e,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,ff,ff,\
  ff,ff,ff,ff,00,00,00,00,00,00,00,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00,\
  ff,ff,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00
"1700"=hex:00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  ff,00,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00

You can get the status of these values by typing: netsh int tcp show global

Receive-Side Scaling State          : enabled
Chimney Offload State               : automatic
NetDMA State                        : disabled <<< EnableTCPA 0 BIOS support Intel I/O Accel. Techn. (I/OAT)
Direct Cache Acess (DCA)            : disabled <<< EnableDca 0
Receive Window Auto-Tuning Level    : disabled <<< EnableWsd 0 QualifyingDestinationThreshold ffffffff
Add-On Congestion Control Provider  : none
ECN Capability                      : disabled
RFC 1323 Timestamps                 : disabled <<< Tcp1323Opts 0 (set manually to 1)

reset winsock:     netsh winsock reset
reset ip/dhcp:      netsh int ip reset
reset tcp params: netsh int tcp reset

netsh interface tcp set global rss=enabled
netsh interface tcp set global chimney=default
netsh interface tcp set global netdma=disabled
netsh interface tcp set global dca=disabled
netsh interface tcp set global autotuninglevel=disabled
netsh interface tcp set global congestionprovider=none
netsh interface tcp set global ecncapability=disabled
netsh interface tcp set global timestamps=disabled
netsh interface tcp set heuristics disabled

netsh int ip show global

Default Hop Limit                   : 128 hops
Neighbor Cache Limit                : 256 entries per interface
Route Cache Limit                   : 128 entries per compartment
Reassembly Limit                    : 22365344 bytes
ICMP Redirects                      : enabled
Source Routing Behavior             : dontforward
Task Offload                        : enabled
Dhcp Media Sense                    : enabled
Media Sense Logging                 : disabled
MLD Level                           : all
MLD Version                         : version3
Multicast Forwarding                : disabled
Group Forwarded Fragments           : disabled
Randomize Identifiers               : enabled
Address Mask Reply                  : disabled

netsh interface tcp show heuristics

Window Scaling heuristics         : disabled
Qualifying Destination Threshold  : 3
Profile type unknown              : normal
Profile type public               : normal
Profile type private              : normal
Profile type domain               : normal


Tweaking the Memory

Big memory eaters are Desktop Window Manager (Aero etc) and Superfetch. If you are on 32 bits you probably don't want them. Set to disabled via the Services.msc or the sc.exe command.
You can disable even many more. Below you find the list of running and disabled services on my PC. I use WLAN and no Firewall or Internet Connection Sharing. I use an Asus laptop, so some services are related to OSD and special keys for Asus.

My memory tweaks for the Windows 7 OS you find below in the list (w2k_sess_mem_opt.reg



Windows 7 - Management Console Snapins

To speed up and revert back to old school mmc snapins we need to get rid of that task pane. I don't like it, it adds nothing. But that is easy solved.
Start regedit and take ownership and full permissions of the key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC then rename the key UseNewUI to UseNewUI.OFF
To disable the task pane on every snapin run the mmc_SuppressActionPane.cmd script.



Windows 7 - Explorer, no single row select and custom CMD bar
No FullRowSelect

On the image right you see the effect of disabling FullRowSelect. This is done in the user part of the registry. Also you see that the CMD bar is altered with other commands.

One advantage is that you have more space in the explorer window to right click.
 You can enable it by running the DisableFullRowSelect.reg file. Instructions are in the reg file.
 
Beside that I find it very convenient to add some commands to the CMD bar of explorer. These commands are folder type specific. By disabling FullRowSelect we have reset to the Generic folder.

Now we can customize the CMD bar with the
expl_cmdbar.reg file. You need to take ownership and full permissions of the registry key used in the file first.type. All possible command can be found in the registry at: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell



Windows 7 - Cleaning the Tree

Since Windows 95 we have PnP. Plugin in some hardware and the PnP system finds the driver in c:\windows\inf or from your local media, later even from Windows Update. The major flaw with this system up to today is that if hardware is removed it never asks the question "Should I remove the driver now too?". So after a few years you system is cluttered with old device drivers. This slows down your system a fraction. No real big deal but lets do some good housekeeping.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]
"devmgr_show_nonpresent_devices"="1"

Now start the Device Manager and select from the View menu Show hidden devices.
Goto the top of the tree and press "*" on you numeric keypad. The tree unfolds. Now look for greyed devices. They are not on your system. Press delete. Don't do this for the "Sound, Video and Game controllers" or there must be some old sound board present.
In general you can do this for mouse(hid), keyboards, disks and disk controllers, usb, network, modems, etc.

Clean_nonpresent_devices

In PnP language the main groups (e.g. Network Adapters) are classes with a corresponding ClassGUID. The Network Adapter Class has a GUID of  {4D36E972-E325-11CE-BFC1-08002BE10318}


Windows 7 - Plug and Play

It roughly works as follows:
  1. new device (e.g. network card) is inserted
  2. the PnP enumeration creates a new device here HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum
  3. a driver is searched in c:\windows\inf\*.inf files  (or DevicePath, see below)
  4. if no match is found the user is prompted
  5. when the driver is installed it is registered at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class
  6. a network card is then registered at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}
  7. the default network protocols are bound
  8. for tcpip the adapter is registered at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces
  9. etc...
From point 6 it is different for every device class.

ps: the inf folder is pointed at by HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion DevicePath. You can use ; to point to multiple paths. In older versions of Windows it was possible to trigger a new PnP Device enumeration process with RunDll32.exe SysSetup.dll,UpdatePnpDeviceDrivers but the new SysSetup.dll doesn't provide that anymore.



Windows 7 - Explorer sub directory names with dots bug

In some cases Explorer in Windows 7 shows multiple subfolders with dots in the name are truncated. VERY annoying and still not solved by Microsoft. 
After searching what is causing this I think I found the problem. Process Separation. 

I could only reproduce this if I had SeparateProcess in the registry at value 1. There are two places where you can set it:

HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\SeparateProcess dword 0x0
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\SeparateProcess dword 0x0

Another thing I noticed is that Explorer (when separated) is listed in the TaskMgr with different command line options:
%SystemRoot%\explorer.exe /factory,{75dff2b7-6936-4c06-a8bb-676a7b00b24b}    (CLSID_SeparateMultipleProcessExplorerHost)
%SystemRoot%\explorer.exe /factory,{ceff45ee-c862-41de-aee2-a022c81eda92}       (CLSID_SeparateSingleProcessExplorerHost)

If you see these then you have Process Separation on and likely run into the Explorer sub folder dot bug.

Solution that did not work but on the internet like here on microsoft:

Close all Explorer windows. On the taskbar you should see the Explorer icon. Hold Shift and Left click on it. Select properties.
Change the Shortcut Target from
%windir%\explorer.exe
to
%windir%\explorer.exe /n,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

Or modify C:\Users\<username>\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\Windows Explorer
and login in again.



Windows - Smb Drive Mapping Reconnect Timeout at Logon or with Explorer

One very annoying feature is the timeout in Windows Explorer before detecting that the Drive Mapping is no longer valid. The default timeout is 60 seconds and is not documented for windows anywhere. After searching the dll's and drivers in Windows 7 for strings I found ReconnectTimeout in the driver mrxsmb10.sys and mpr.dll
After decompiling the driver and dll revealed its location in the registry :)

;### kill the long "restoring network connections" at logon (defer=ghosted connections)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider]
"RestoreConnection"=dword:00000001 ;(0=no attempt, you must click it)
"RestoreTimeout"=dword:0000000F
"DeferConnection"=dword:00000001 ;Ghost the connection if not responding within RestoreTimeout 

;### network drive map timeout in Explorer if connection is lost (def is 60 sec)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters]
"ReconnectTimeout"=dword:0000000F

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\SharedAccessConnection]
"EnableControl"=dword:00000001
"DeviceTimeout"=dword:000003e8

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
"NetLinkTimeout"=dword:000003e8 ;7500 (now 1000 msec)


You may also need to take a look at your "MyComputer" Namespaces in:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace



Disable SMB2 or SMB3 on Windows Vista or higher

For some situations you might want to disable the SMB2 or SMB3 protocol. SMB2 adds new features to the SMB/CIFS network protocol that won't add anything if your other network devices, like older NAS, doesn't support them. Better switch the SMB2 off on your workstation.

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi 
sc.exe config mrxsmb20 start= disabled
or even SMB3 in Windows 8
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb30 start= disabled

To enable them again add mrxsmb20 and mrxsmb30 back to the dependencies and set the start to auto again.
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi 
sc.exe config mrxsmb20 start= demand


Windows CPU Core Parking

Since Windows Vista and newer (Windows 7, 2008, Windows 8 and 2012) Microsoft introduced a new power control method. One option that is not very well configured out of the box is CPU Core Parking. This means that CPU Cores are switched on and off by how much CPU you demand. (governor in Unix)
You may have noticed that even if you have 4 cores, running demanding programs use only half or even one of the CPU Cores available on your system.
There is a tool that can set the number of cores you can use on AC or Battery. It is called ParkControl.

But you can do it without the tool too and add a little more finesse to it for finetuning the CPU Core Parking. You can use PowerCfg.exe from windows itself for finetuning.

The Core Parking options in a Power Scheme are:
  • 0cc5b647-c1df-4637-891a-dec35c318583  (Processor performance core parking min cores)
  • 1299023c-bc28-4f0a-81ec-d3295a8d815d  (Processor performance core parking over utilization history decrease factor)
  • 2ddd5a84-5a71-437e-912a-db0b8c788732  (Processor performance core parking increase time)
  • 447235c7-6a8d-4cc0-8e24-9eaf70b96e2b  (Processor performance core parking parked performance state)
  • 5b33697b-e89d-4d38-aa46-9e7dfb7cd2f9  (Processor performance core parking affinity history threshold)
  • 71021b41-c749-4d21-be74-a00f335d582b  (Processor performance core parking decrease policy)
  • 8809c2d8-b155-42d4-bcda-0d345651b1db  (Processor performance core parking over utilization weighting)
  • 8f7b45e3-c393-480a-878c-f67ac3d07082  (Processor performance core parking affinity history decrease factor)
  • 943c8cb6-6f93-4227-ad87-e9a3feec08d1  (Processor performance core parking overutilization threshold)
  • 9ac18e92-aa3c-4e27-b307-01ae37307129  (Processor performance core parking over utilization history threshold)
  • a55612aa-f624-42c6-a443-7397d064c04f  (Processor performance core parking core override)
  • c7be0679-2817-4d69-9d02-519a537ed0c6  (Processor performance core parking increase policy)
  • df142941-20f3-4edf-9a4a-9c83d3d717d1  (Processor performance core parking increase threshold)
  • dfd10d17-d5eb-45dd-877a-9a34ddd15c82  (Processor performance core parking decrease time)
  • e70867f1-fa2f-4f4e-aea1-4d8a0ba23b20  (Processor performance core parking affinity weighting)
  • ea062031-0e34-4ff1-9b6d-eb1059334028  (Processor performance core parking max cores)
Check your current PowerScheme (Power saver,Balanced,High performance) settings with: powercfg /qh> c:\temp\powerscheme.txt

The default Power Schemes:
  • Power saver            a1841308-3541-4fab-bc81-f71556f20b4a
  • Balanced                 381b4222-f694-41f0-9685-ff5bb260df2e
  • High performance   8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
Core Parking tweaks can be set using this command (here for ac only): 
powercfg -setacvalueindex scheme_current sub_processor 2ddd5a84-5a71-437e-912a-db0b8c788732 10
powercfg -setacvalueindex scheme_current sub_processor 447235c7-6a8d-4cc0-8e24-9eaf70b96e2b 2
powercfg -setacvalueindex scheme_current sub_processor 8809c2d8-b155-42d4-bcda-0d345651b1db 500
powercfg -setacvalueindex scheme_current sub_processor e70867f1-fa2f-4f4e-aea1-4d8a0ba23b20 500

To disable any CPU Core Parking (so all CPU cores always on):
powercfg -setacvalueindex scheme_current sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 100

To enable CPU Throttle:
powercfg -setacvalueindex scheme_current sub_processor 3b04d4fd-1cc7-4f23-ab1c-d1337819c4bb 1

On battery you can also set it using: powercfg -setdcvalueindex scheme_current sub_processor .....

To activate the settings use: powercfg -setactive scheme_current

In the registry settings are stored here: HKLM\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c\54533251-82be-4824-96c1-47b60b740d00 where 54533251-82be-4824-96c1-47b60b740d00 is the "Processor Power management settings and configurations".

Note: a MS patch might set this registry entry hklm\system\currentcontrolset\power\CoreParkingDisabled to 1 (set it to 0)

Add more options to the Power Options Advanced Settings
Loads of options

As we have seen with the CPU Core Parking there are many more options to configure using PowerCfg than via the Advanced Settings 

It is very easy to add all of them to the Dialog. You can switch them on via the registry Attributes value per setting.
in the Power Options Dialog.
Open the registry and go for example to the "Processor Power management settings and configurations":
HKLM\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00

For each setting you want to show in the Advanced Setting Dialog of Power Options you open each subkey and change the value Attributes from 1 to 0.
If Attributes value is not present the option will show by default.



@echo off

Title Make all PowerSettings visible...

Echo REGEDIT4 >%~dp0PowerSett_Attrib_Restore.reg
Echo. >>%~dp0PowerSett_Attrib_Restore.reg

For /f %%K in ('Reg.exe query HKLM\SYSTEM\CurrentControlSet\Control\Power\PowerSettings /s /v "Attributes"^|FindStr HKEY_') do (
Reg.exe add %%K /v Attributes /t REG_DWORD /d 0 /f
Echo [%%K] >> %~dp0PowerSett_Attrib_Restore.reg
Echo "Attributes"=dword:00000001 >> %~dp0PowerSett_Attrib_Restore.reg
Echo. >> %~dp0PowerSett_Attrib_Restore.reg
)

Now open from the Control Panel the Power Options, Change plan settings, Change advanced power settings. You will see plenty more options now.

Before you change anything do export the windows standard settings first for backup:

POWERCFG -EXPORT c:\temp\Power_saver.pow            a1841308-3541-4fab-bc81-f71556f20b4a
POWERCFG -EXPORT c:\temp\Balanced.pow                  381b4222-f694-41f0-9685-ff5bb260df2e
POWERCFG -EXPORT c:\temp\High_performance.pow   8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

Export your power settings to a file:       POWERCFG -EXPORT c:\temp\HiPerf_PowerScheme.pow scheme_current
Import your power settings from a file:   POWERCFG -IMPORT c:\temp\HiPerf_PowerScheme.pow

I have done some work on the Performance Power Scheme that is now running on my laptop: Tweakradje_Hiperf.zip
You can import it and try it. Instructions and all settings text file are inside the zip.

(ps: a good power scheme for windows 2003 and Xp is Win2k3_XP_Pwr_Scheme_Server_Balanced.reg - Readme inside)



Internet Explorer 9 - Speedup

To get more speed while browsing you you first of all need to install a adblocker as on my site described here. Furthermore IE has some nice hidden features that can speed up browsing dramatically. One of them is DNS prefetching like Chrome. I think this is still experimental but I have no problems with it:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN
DNSPreresolution dword 0x8
Use_Async_DNS string yes

What also helps is to enable the DNS cache:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
DnsCacheEnabled dword 0x1
DnsCacheEntries dword 0x200          (512 domains)
DnsCacheTimeout dword 0x15180    (one day)

And disable prebinding of IE addons:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
EnablePreBinding dword 0x0

And these policies may be handy:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Ext
DisableAddonLoadTimePerformanceNotifications dword 1
NoFirsttimeprompt dword 1

Download reg file here.


Windows Explorer - Change current open folder icon to Blue Pin

In Windows folder trees (Explorer, Registry) it is hard to see what folder you are in. Icons for closed and open folders are the same.
Since Windows 95 it is possible to change the Shell Icons. Open the registry and add this key and value:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons
4 string %SystemRoot%\system32\imageres.dll,-5100
4 is the icon for open folders

Log out and log in again to see the effect. (Or click start menu, then CTRL+SHIFT+Right click on clean area and "Exit Explorer". Press CTRL+SHIFT+ESC and in File > New Task and type explorer)


Boot tracing and ReadyBoot logging

Windows 7 and up logs and traces every boot. This causes a lot of writes to the log files on the harddisk. With SSD you don't want that.

To disable boot tracing  you can disable it here:

Note: Take permissions first of HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Diagnostics\Performance

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Diagnostics\Performance]
"DisableDiagnosticTracing"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Diagnostics\Performance\BootCKCLSettings]
"Start"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Diagnostics\Performance\ShutdownCKCLSettings]
"Start"=dword:00000000

You can also disable all Performance Logging (not advised):

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]
"Disable Performance Counters"=dword:00000001


To disable ReadyBoot logging you can use the Control Panel > Administrative Tools > Performance Monitor > Data Collector Sets > Startup Events Trace Settings and disable ReadyBoot and SQMLogger for example.


Č
Ć
BOOT_logger_disable.reg
(1k)
tweakradje .,
Apr 19, 2014, 3:22 PM
ċ
tweakradje .,
Feb 14, 2014, 8:23 AM
ċ
tweakradje .,
Feb 15, 2013, 4:22 AM
Ć
CopyFileBufferedSynchronousIo.reg
(1k)
tweakradje .,
Jun 30, 2014, 2:36 PM
Ć
DefaultDragDropEffect.reg
(0k)
tweakradje .,
Apr 7, 2013, 2:52 PM
Ć
DisableErrorRep.reg
(1k)
tweakradje .,
Apr 19, 2014, 3:22 PM
Ć
DisableFullRowSelect.reg
(10k)
tweakradje .,
Feb 5, 2013, 12:35 PM
ċ
DisableIEWelcome.reg
(0k)
tweakradje .,
Dec 6, 2013, 5:34 AM
Ć
DisableReadyBoost.reg
(0k)
tweakradje .,
Apr 19, 2014, 3:23 PM
Ć
Disable_Aero_Shake.reg
(0k)
tweakradje .,
Feb 4, 2013, 1:20 PM
Ć
Disable_Hibernate.reg
(1k)
tweakradje .,
Feb 4, 2013, 1:21 PM
ċ
Disable_Netbios_on_nic.txt
(1k)
tweakradje .,
Apr 8, 2013, 4:32 AM
ċ
Disable_Remote_Printers_Schedule.reg
(0k)
tweakradje .,
Feb 4, 2013, 1:21 PM
Ć
Disabled_Aero_Snap.reg
(0k)
tweakradje .,
Feb 4, 2013, 1:21 PM
Ć
EVR_hkcu.reg
(1k)
tweakradje .,
Jun 17, 2014, 2:44 AM
ċ
tweakradje .,
Mar 1, 2014, 3:05 PM
Ć
Folder_icon_current.reg
(1k)
tweakradje .,
Dec 6, 2013, 5:35 AM
ċ
HKLM_IE8_Extra2.reg
(2k)
tweakradje .,
Dec 6, 2013, 5:33 AM
ċ
IE9_Fast.reg
(1k)
tweakradje .,
Jun 12, 2014, 4:42 AM
Ć
ImageFileExec_PerfOptions.reg
(2k)
tweakradje .,
Apr 19, 2014, 3:19 PM
Ć
LinkLayer_IO_network_pol.reg
(1k)
tweakradje .,
Apr 22, 2014, 2:22 PM
Ć
Logon_things.reg
(3k)
tweakradje .,
Apr 23, 2013, 4:40 PM
Ć
NLA_Internet.reg
(1k)
tweakradje .,
Feb 4, 2013, 1:23 PM
Ć
NetworkThrottlingIndex.reg
(1k)
tweakradje .,
Apr 19, 2014, 3:14 PM
ċ
Notepad in RightClick.reg
(0k)
tweakradje .,
Dec 6, 2013, 5:35 AM
ċ
PowerSett_Attrib.zip
(0k)
tweakradje .,
May 14, 2014, 9:04 AM
ċ
QoS_Off_pol.reg
(1k)
tweakradje .,
Feb 12, 2014, 3:27 AM
Ć
ReadyBoot_logger_disable.reg
(1k)
tweakradje .,
Apr 7, 2013, 2:49 PM
Ć
RequireSignedAppInit_DLLs.reg
(0k)
tweakradje .,
Dec 6, 2013, 5:40 AM
ċ
RestoreNetworkConnections.reg
(1k)
tweakradje .,
Dec 6, 2013, 5:32 AM
Ć
SQM_logger_disable.reg
(1k)
tweakradje .,
Apr 22, 2014, 2:21 PM
Ć
ServicesDelayedTime.reg
(1k)
tweakradje .,
May 14, 2014, 9:03 AM
ċ
Services_Act_NonAct.TXT
(49k)
tweakradje .,
Mar 4, 2013, 12:51 PM
ċ
tweakradje .,
Jan 13, 2014, 11:42 AM
ċ
W7RemoveActionCenterIcon.reg
(0k)
tweakradje .,
Apr 3, 2013, 12:52 PM
ċ
tweakradje .,
Jan 7, 2014, 2:48 PM
Ć
afd.reg
(3k)
tweakradje .,
Apr 22, 2014, 2:20 PM
Ć
exe_runas.reg
(1k)
tweakradje .,
May 14, 2014, 9:04 AM
Ć
expl_cmdbar.reg
(1k)
tweakradje .,
Feb 5, 2013, 12:34 PM
Ć
expl_progress_bar.reg
(1k)
tweakradje .,
Apr 19, 2014, 3:18 PM
ċ
extra_mem_krnl_settings.reg
(38k)
tweakradje .,
Apr 19, 2014, 3:16 PM
Ć
filesystem_win7.reg
(2k)
tweakradje .,
May 15, 2014, 4:41 PM
Ć
google_chrome_policies.reg
(11k)
tweakradje .,
Dec 6, 2013, 5:34 AM
Ć
hkcu_console_cmd.reg
(3k)
tweakradje .,
Dec 6, 2013, 5:34 AM
Ć
hkcu_controlpanel.reg
(14k)
tweakradje .,
Apr 19, 2014, 3:16 PM
Ć
hkcu_explorer.reg
(11k)
tweakradje .,
Dec 6, 2013, 5:35 AM
Ć
hklm_expl.reg
(7k)
tweakradje .,
Jun 30, 2014, 2:36 PM
Ć
hklm_policies1.reg
(19k)
tweakradje .,
May 15, 2014, 2:55 PM
Ć
hklm_policies2.reg
(14k)
tweakradje .,
May 15, 2014, 2:28 PM
Ć
lanmanws.reg
(5k)
tweakradje .,
Apr 22, 2014, 2:19 PM
Ć
lsa_ntlm_compatlevel.reg
(3k)
tweakradje .,
Apr 19, 2014, 3:13 PM
Ć
mem_management.reg
(4k)
tweakradje .,
Dec 6, 2013, 5:41 AM
ċ
tweakradje .,
Apr 19, 2014, 3:28 PM
Ć
mrxsmb.reg
(1k)
tweakradje .,
Apr 22, 2014, 2:20 PM
Ć
netbt.reg
(1k)
tweakradje .,
Apr 8, 2013, 2:22 PM
ċ
netbt_off.zip
(0k)
tweakradje .,
Apr 8, 2013, 4:31 AM
Ć
netlogon_nexclosestsite.reg
(0k)
tweakradje .,
Apr 19, 2014, 3:14 PM
Ć
smb.reg
(0k)
tweakradje .,
Apr 7, 2013, 2:52 PM
Ć
tcpip.reg
(5k)
tweakradje .,
Dec 6, 2013, 5:41 AM
Ć
tcpip_opt.reg
(8k)
tweakradje .,
Jun 21, 2014, 8:00 AM
Ć
w2k_network_opt.reg
(7k)
tweakradje .,
Dec 6, 2013, 5:34 AM
Ć
w2k_sess_mem_opt.reg
(6k)
tweakradje .,
Jan 9, 2014, 12:16 PM
Ć
w3parm1.reg
(1k)
tweakradje .,
Feb 4, 2013, 1:41 PM
Ć
win7_defrag_bootopt.reg
(0k)
tweakradje .,
May 26, 2014, 3:44 PM
ċ
tweakradje .,
May 27, 2014, 7:25 AM
ċ
win7_fsutil_settings.txt
(0k)
tweakradje .,
Jan 9, 2014, 8:56 AM
ċ
windows 7 network performance tweaks.txt
(7k)
tweakradje .,
Apr 9, 2013, 1:38 AM
Ć
wlan_disable_background_scan.reg
(1k)
tweakradje .,
Apr 19, 2014, 3:17 PM
Comments