Windows Media Player slow with large media collections

Windows Media Player or Media Center Edition slow performance with large media libraries.
Original Post: March 2007
Last Reviewed: July 26, 2007

Windows Media Player

The Current Media Library
Microsoft Windows XP maintains Windows Media Player databases in “C:\Documents and Settings\[user]\Local Settings\Application Data\Microsoft\Media Player” as CurrentDatabase_###.wmdb databases. The CurrentDatabase_###.wmdb has a different filename corresponding with the version of Windows Media Player.

Windows Media Player 9 (WMP9) maintains a database in “C:\Documents and Settings\\Local Settings\Application Data\Microsoft\Media Player. The file name is CurrentDatabase_59R.wmdb.
Windows Media Player 10 (WMP10) maintains a database in “C:\Documents and Settings\\Local Settings\Application Data\Microsoft\Media Player. The file name is CurrentDatabase_219.wmdb.
Windows Media Player 11 (WMP11) maintains a database in “C:\Documents and Settings\\Local Settings\Application Data\Microsoft\Media Player. The file name is CurrentDatabase_360.wmdb.

Microsoft Windows Vista maintains Windows Media Player databases in “C:\Users\[user]\AppData\Local\Microsoft\Media Player” as a CurrentDatabase_360.wmdb among other files for Windows Media Player 11 (since that is the version that ships with Windows Vista).

The Goal
The goal is to increase the seek time to search for media within a large library. There are NO media player based applications that utilize memory resident database structures. (ie. MySQL or Microsoft SQL Server) Since those databases are loaded into memory, the seek time would increase dramatically.

An alternative method is to place your music database into memory with a RAMDisk. A RAMDisk acts as a virtual drive on your system. I found a rare posting with a unique approach and have successfully tested it: The original source (http://thegreenbutton.com/forums/thread/32314.aspx). This is my rendition.

Step 1: Create a RAMDisk using RAMDisk “Enterprise” by QSoft (http://www.ramdisk.tk). The RAMDisk must be NTFS and the hard drive must be NTFS. When creating the size of your RAMDisk, double the size of your database. (Tested on Microsoft Windows XP Pro, Microsoft Windows Media Center Edition 2005, and Microsoft Vista Ultimate) This product supports Microsoft Vista and other operating systems. The product is not crippled and is only $19 donation. This product installs as a device driver and is manageable using the RAMDisk Image Configuration( RAMDiskImage.exe).

RAMDisk Image Configuration
RAMDisk filelist

Step 1: Create a Ramdisk using Ramdisk Plus by Superspeed (http://www.superspeed.com). The RAMDisk must be NTFS and the hard drive must be NTFS. When creating the size of your RAMDisk, double the size of your database. (Tested and works only through Microsoft Windows XP).

Step 2: Backup everything under “C:\Documents and Settings\[user]\Local Settings\Application Data\Microsoft\Media Player” to another location. Then, delete the contents of “C:\Documents and Settings\[user]\Local Settings\Application Data\Microsoft\Media Player”.

WMP Databases
Example of Windows Media Player 11 installation on Microsoft Windows XP

Step 3: Create a symbolic link using Junction Link Magic (http://www.rekenwonder.com/linkmagic.htm). Then link “C:\Documents and Settings\[user]\Local Settings\Application Data\Microsoft\Media Player” to your RAMDisk.

Junction Link Magic

Step 4: Copy backup database to “C:\Documents and Settings\\Local Settings\Application Data\Microsoft\Media Player”. The database is actually on the RAMDisk, hence stored in memory.

Step 5: Enjoy the performance increase.

Note: Remember, your Library database is now stored in memory (RAMDisk). This means every time your Media Center is turned off or loses power, you lose your music database. The RAMDisk software is capable of automatically writing the RAMDisk to your hard drive on Shutdown, and Restores your RAMDrive on boot up. Always backup the database. I have set my settings to only restore the RAMDisk at boot. I want to manually backup the RAMDisk so that I have control over what is saved and when.