Explorer.exe和ApplicationFrame.dll系统文件中的Adobe XMP垃圾共享Windows系统文件的容量已从Windows 98中的250-350 MB增加到Windows XP中的700-800 MB,然后在Windows 7中增加到10-15 GB,并且还在继续增长。 如果您想知道Windows 10发行版为什么要占用这么大的磁盘空间并且系统要消耗那么多的RAM(与Linux相比),那么您应该知道Adobe对此承担的责任非常小。 是Adobe开发和推广了
可扩展元数据平台(XMP)技术,该技术扩大了文件(例如PNG)的大小,然后这些these肿的PNG文件包含在Windows系统二进制文件中。
XMP的份额在Windows 10发行版的总量中很小(仅
5341271个额外字节 ),尽管单个文件的很大一部分被额外的元数据占用。 而且,这些不是
来自破解的Sound Forge程序的一些
数字签名,借助它们创建了Windows 95的系统WAV文件 ,而是完全不必要和无用的PNG元数据。
什么是Adobe XMP? 简而言之,这是一个元数据平台,使您可以将各种信息塞入PNG,GIF,JPEG,PSD,TIFF等。 该平台本身允许不同的程序通过XMP交换数据。 也就是说,一个程序可以在其中保存例如颜色配置文件,而另一个程序将其提取出来。 这些容器中嵌入了各种标题,标识符,GPS坐标,颜色信息等。
通常,XMP由来自RDF模型子集的构造表示,该子集通常又序列化为XML。 不幸的是,许多用户本身并不知道增加图像文件的大小,并在保存文件时将其填充为垃圾Adobe XMP。 只是在某些程序中,这些是默认的保存设置。 例如,这些是Adobe Photoshop中的默认设置。
以XML格式,此数据会占用大量空间。 另外,它们在文件处理期间解析XML时会消耗CPU资源。

Windows 10程序员和用户Rafael Rivera变得很感兴趣:不同文件中实际上有多少Adobe XMP? 为了回答这个问题,他编写了
eoraptor实用程序,其源代码发布在Github上。
Rafael
说 ,即使该程序甚至在Windows 10系统文件中也发现了大量XMP垃圾,他感到非常惊讶! 他没有编写程序来分析Microsoft的这种想法,而是快速研究图形文件。 但是事实证明,Microsoft开发人员并非一无是处-甚至在系统文件中嵌入了不必要的信息!
例如,操作系统启动时加载到内存中的系统资源管理器(Windows Explorer)包含多达20%的垃圾。 或获取另一个系统文件ApplicationFrame.dll,该文件也将在系统启动时加载到内存中-它负责应用程序窗口的标题和框架。 其中,不必要的XML内容占库总大小的41%!
拉斐尔·里维拉(Rafael Rivera)写道,XMP的内容不可避免地渗透到与图形,图像查看器和相关组件有关的各种系统组件中。
这个问题看似微不足道,但实际上表明对操作系统进行了一些非优化。 系统文件中的额外组件对操作系统性能的各个方面都没有影响:在启动时间,安装系统后对映像大小和磁盘空间的使用,更新量,执行带有数字签名Authenticode的文件时进行的验证等。通常, Microsoft拥有一个优化Windows性能的部门。 从理论上讲,这应该在他的能力范围内。 这些是他们应该跟踪的东西。
Microsoft可以简单地压缩属于系统文件一部分的所有PNG图像,从而快速,轻松地解决这种情况。 幸运的是,有许多实用程序可以在不损失质量的情况下优化PNG,从而有效地从中删除不必要的元数据。 也许公司会进行这样的优化,并用最接近的版本更新系统文件。
现在,我们必须承认,Microsoft在优化操作系统方面的工作还没有达到最高水平,或者开发人员有某种理由将XMP元数据保存在系统文件中。 也许他们应该以Microsoft Edge浏览器开发团队的同事为榜样。 他们已经优化了所有文件:
使用PNGDistill消除了PNG中多余的垃圾 ,然后使用
Google ZopFli算法额外压缩了二进制文件。
Microsoft Internet Explorer的程序经理Eric Lawrence
最近谈到了优化。
每个站点所有者都可以通过使用PNGDistill实用程序(
Python模块 )简单地处理其PNG文件来节省流量。