1

I recently downloaded the Standard version of the K-Lite Codec Pack. Selecting the Advanced installation process gave me the option of configuring and automatically using the 64-bit version of Windows Media Player instead of the standard 32-bit.

What are the differences between the 32-bit vs 64-bit versions of Windows Media Player? What are the pros and cons of playing files on each?

1

The differences are pretty much just the same as between any other program's 32-bit and 64-bit versions. In the case of WMP, the ones you care about are probably as follows:

  • 32-bit has a maximum user-mode memory address space of 2GB, while 64-bit has an effectively-unlimited maximum memory (2^63 bytes, far more than the physical memory of any existent computer). In practice this shouldn't really matter - WMP is smart enough to buffer partial reads of files, rather than trying to hold the entire file in its memory at the same time, so it mostly doesn't matter how big the file it's opening is - but in theory on a computer with lots of RAM 64-bit processes can buffer more of the file, reducing I/O operations (especially if you seek around a lot).
  • 64-bit processes are slightly more secure than 32-bit processes, both because address space layout randomization (ASLR) can use more entropy and because integer overflows on pointers are a lot easier when pointers are 32 bits long than when they're 64 bits long. Hopefully this doesn't matter, but sometimes security bugs happen and in that case a 64-bit process may be just a little more resilient.
  • A process can only load libraries (DLLs) that are the same bitness as the process itself. That is, a 32-bit process can't load 64-bit DLLs, and vice versa. This means that if you're using any DLLs (such as plugins) that you don't also have a 64-bit version of, you won't be able to use those plugins (or whatevers).

Practically speaking, I wouldn't change the defaults. WMP still defaults to 32-bit on Win10, and that's probably fine.

2

In terms of performance, almost nothing since forever. 64-bit WMP rely on 64-bit codecs which in theory can benefit with more complex software-mode (running on CPU), but most codecs are written with hardware-mode in mind (utilizing the far more appropriate GPU).

In terms of compatibility, practically none. It's possible an exotic format is made with binary only codecs that's only available in 32-bit or 64-bit, but such format would be very niche.

In terms of security, 64-bit media player with 64-bit codecs may benefit more from ASLR with their larger possible memory address (4096 times more, which could be the different between practical and theoretical attack). Such overflow attack was the key behind Stagefright in Android, and there was multitudes of vulnerabilities on WMP relying on buffer overlow.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.