Table of ContentsClose
Coder for Life

Faster Windows 7 Boot Updater

I created a custom library to extract compressed files from a WIM file that did not require the Microsoft WIM library. Using the Microsoft WIM Library, to extract a single file is actually quite an elaborate process. I predicted this would greatly speed up the start up and running of my Windows 7 Boot Updater program since I use that file whenever the animation is set to "Default".

My current method (in Alpha v9) is to:

  1. Read the bootres.dll file into memory
  2. Find the WIM resource
  3. Save the WIM resource as a file on the disk
  4. Create a temporary folder
  5. Use the WIM library to mount the file to the folder
  6. Read the activity.bmp file into memory
  7. Unmount the file
  8. Delete the temporary folder and WIM file
  9. Cleanup all the memory I used in the process

That's a lot of work. On my computer it takes about 4 seconds while the program is starting up and 1-2 seconds later on in the program. Needless to say, that is a major bottleneck in my program.

So my idea to remedy this bottleneck was simple:

  1. Read the bootres.dll file into memory
  2. Find the WIM resource
  3. Parse the WIM resource in memory
  4. Decompress the data that represents activity.bmp
  5. Cleanup the single chunk of memory used

Much simpler! The new (not yet released) version of Windows 7 Boot Updater does all this in <100ms on the same machine! That is about a 98% reduction in time for this time intensive operation. Great improvement!

Hopefully the people stating that the program was taking 2 minutes to start up will be happy with this improvement (since much of the startup time was spent doing this, 2 minutes should be reduced to 3 seconds!).

Comments

0 Responses to 'Faster Windows 7 Boot Updater' Feed for this Entry

There are currently no comments.


Leave a Reply >
Note: If you are having a problem with Windows 7 Boot Updater read the troubleshooting list first!.
If your question has already been answered there or in the comments it will be deleted.
Automatically creates links and paragraphs.
Many HTML tags are supported.
Use <code language=""></code> for code.
Language can be dos, java, php, c, ...
(not published)