Alguns arquivos de sistema do Windows estão entupidos com os metadados indesejados da Adobe


Compartilhamento de lixo do Adobe XMP nos arquivos de sistema Explorer.exe e ApplicationFrame.dll

O volume de arquivos de sistema do Windows aumentou de 250-350 MB no Windows 98 para 700-800 MB no Windows XP e, em seguida, para 10-15 GB no Windows 7 e continua a crescer. Se você se perguntou por que a distribuição do Windows 10 ocupa tanto espaço em disco e o sistema consome tanta RAM (em comparação com o Linux), saiba que uma parte pequena e muito pequena da culpa é da Adobe. Foi a Adobe que desenvolveu e promove a tecnologia XMP (Extensible Metadata Platform) , que aumenta o tamanho dos arquivos (por exemplo, PNG) e, em seguida, esses arquivos PNG inchados são incluídos nos binários do sistema Windows.

O compartilhamento do XMP é pequeno no volume total da distribuição do Windows 10 (apenas 5341271 bytes extras ), embora uma parte significativa dos arquivos individuais seja ocupada por metadados extras. E essas não são algumas assinaturas digitais do programa quebrado Sound Forge, com a ajuda de quais arquivos WAV do sistema para Windows 95 foram criados , mas metadados PNG completamente desnecessários e pouco informativos.

O que é o Adobe XMP? Simplificando, esta é uma plataforma de metadados que permite incluir uma variedade de informações em PNG, GIF, JPEG, PSD, TIFF e muitos outros. A própria plataforma permite que diferentes programas troquem dados através do XMP. Ou seja, um programa pode salvar lá, por exemplo, um perfil de cores e outro programa irá extraí-lo. Vários cabeçalhos, identificadores, coordenadas GPS, informações de cores e muito mais estão incorporados nesses contêineres.

Normalmente, o XMP é representado por construções de um subconjunto do modelo RDF, que por sua vez geralmente é serializado como XML. Infelizmente, muitos usuários sem saber aumentam o tamanho dos arquivos de imagem e os enchem de lixo do Adobe XMP ao salvar arquivos. Apenas em alguns programas essas são as configurações padrão de salvamento. Por exemplo, essas são as configurações padrão no Adobe Photoshop.

No formato XML, esses dados ocupam muito espaço. Além disso, eles consomem recursos da CPU ao analisar XML durante o processamento do arquivo.



O programador e usuário do Windows 10 Rafael Rivera ficou interessado: quanto Adobe XMP está realmente em arquivos diferentes? Para responder a essa pergunta, ele escreveu o utilitário eoraptor , cujo código fonte é publicado no Github.

Rafael diz que ficou muito surpreso quando o programa encontrou uma enorme quantidade de lixo XMP, mesmo nos arquivos de sistema do Windows 10! Ele não escreveu um programa para analisar essa ideia da Microsoft, mas para estudar rapidamente arquivos gráficos. Mas os desenvolvedores da Microsoft não são isentos de pecado - e incorporam informações desnecessárias, mesmo nos arquivos do sistema!

Por exemplo, o System Explorer (Windows Explorer), carregado na memória no início do sistema operacional, por até 20% consiste em lixo. Ou pegue outro arquivo do sistema ApplicationFrame.dll, que também é carregado na memória no início do sistema - ele é responsável pelos cabeçalhos e quadros das janelas do aplicativo. Nele, o conteúdo XML desnecessário ocupa 41% do tamanho total da biblioteca!

Rafael Rivera escreve que o conteúdo do XMP penetra inevitavelmente em vários componentes do sistema relacionados a gráficos, visualizadores de imagens e componentes relacionados.

Esse problema parece trivial, mas na verdade mostra uma não otimização do sistema operacional. Os componentes extras nos arquivos do sistema têm pouco efeito em todos os aspectos do desempenho do sistema operacional: no tempo de inicialização, no tamanho da imagem e no uso do espaço em disco após a instalação do sistema, na quantidade de atualizações, na validação ao executar arquivos com assinatura digital Authenticode, etc. O que é típico, A Microsoft possui um departamento que otimiza o desempenho do Windows. Em teoria, isso deve estar em sua área de competência. Essas são as coisas que eles devem rastrear.

A Microsoft pode corrigir rápida e facilmente a situação, compactando todas as imagens PNG que fazem parte dos arquivos do sistema. Felizmente, existem muitos utilitários que otimizam o PNG sem perder a qualidade, removendo efetivamente os metadados desnecessários de lá. Talvez a empresa realize essa otimização e atualize os arquivos do sistema com a compilação mais próxima.

E agora temos que admitir que o trabalho de otimização do sistema operacional da Microsoft não está no nível mais alto ou que os desenvolvedores têm algum motivo para salvar os metadados XMP nos arquivos do sistema. Talvez eles devessem dar um exemplo de seus colegas da equipe de desenvolvimento do navegador Microsoft Edge. Eles já otimizaram todos os arquivos: eles se livraram do excesso de lixo em PNG usando PNGDistill e depois comprimiram os binários usando o algoritmo Google ZopFli .

O gerente de programa do Microsoft Internet Explorer, Eric Lawrence, falou recentemente sobre a otimização.

Cada proprietário do site pode economizar tráfego simplesmente processando seus arquivos PNG com o utilitário PNGDistill ( módulo Python ).

Source: https://habr.com/ru/post/pt403515/


All Articles