Windows Media Player 32 位版本和 64 位版本有何区别?

Windows Media Player 32 位版本和 64 位版本有何区别?

我最近下载了 K-Lite Codec Pack 的标准版。选择高级安装过程让我可以选择配置并自动使用 64 位版本的 Windows Media Player,而不是标准的 32 位版本。

Windows Media Player 32 位版本和 64 位版本之间有何区别?在每种版本上播放文件有何优缺点?

答案1

与其他任何程序的 32 位和 64 位版本之间的差异几乎相同。对于 WMP,您关心的差异可能如下:

  • 32 位的最大用户模式内存地址空间为 2GB,而 64 位的最大内存实际上不受限制(2^63 字节,远远超过任何现有计算机的物理内存)。实际上,这并不重要 - WMP 足够智能,可以缓冲文件的部分读取,而不是尝试同时将整个文件保存在内存中,因此它打开的文件有多大并不重要 - 但理论上,在具有大量 RAM 的计算机上,64 位进程可以缓冲更多文件,从而减少 I/O 操作(尤其是当您进行大量搜索时)。
  • 64 位进程比 32 位进程稍微安全一些,因为地址空间布局随机化 (ASLR)可以使用更多的熵,因为指针长度为 32 位时,整数溢出比指针长度为 64 位时更容易发生。希望这不会造成影响,但有时会发生安全漏洞,在这种情况下,64 位进程可能更具弹性。
  • 进程只能加载与进程本身位数相同的库 (DLL)。也就是说,32 位进程无法加载 64 位 DLL,反之亦然。这意味着,如果您使用的任何 DLL(例如插件)没有 64 位版本,您将无法使用这些插件(或其他内容)。

实际上,我不会更改默认设置。WMP 在 Win10 上仍然默认为 32 位,这可能没问题。

答案2

在性能方面,几乎没有任何改进。64 位 WMP 依赖于 64 位编解码器,理论上可以从更复杂的软件模式(在 CPU 上运行)中受益,但大多数编解码器都是以硬件模式编写的(利用更合适的 GPU)。

就兼容性而言,几乎没有。有可能使用二进制编解码器制作的奇特格式仅在 32 位或 64 位中可用,但这种格式非常小众。

在安全性方面,采用 64 位编解码器的 64 位媒体播放器可能会受益更多澳大利亚的ASLR具有更大的可能内存地址(4096 倍以上,这可能是实际攻击和理论攻击之间的区别)。这种溢出攻击是背后的关键怯场在 Android 中,众人依赖于缓冲区溢出的 WMP 漏洞。

相关内容