- A maior aceleração do FFMPEG, mas afeta apenas uma função que poucas pessoas ouviram falar de
- O conjunto manuscrito faz um retorno em um filtro de nicho que a maioria dos usuários nunca tocará
- Avx512 fornece ao FFMPEG um ganho absurdo de 100x – mas apenas se o seu CPU suportar
O projeto FFMPEG, conhecido por alimentar alguns dos softwares de edição de vídeo mais utilizados e ferramentas de mídia, está fazendo manchetes novamente.
Os desenvolvedores afirmam ter alcançado o que chamam de “a maior aceleração até agora”, oferecendo um ganho de desempenho de 100x em uma atualização recente.
O problema? Ele se aplica apenas a uma função única e obscura, e os meios de alcançá -la estão levantando as sobrancelhas – código de montagem manuscrito, uma técnica visto em grande parte desatualizada pela maioria dos desenvolvedores de hoje.
A codificação da Assembléia faísca nostalgia e ceticismo
A linguagem de montagem, uma vez essencial para aproveitar ao máximo o hardware limitado nas décadas de 1980 e 1990, tornou -se uma prática de nicho.
No entanto, os desenvolvedores do FFMPEG continuam a confiar nele para a otimização extrema, chamando -se de “evangelistas de montagem”.
Em seu patch mais recente, eles reescrevem um filtro chamado Rangedetect8_AVX512 usando instruções AVX512, parte de um kit de ferramentas moderno SIMD (instrução única, múltiplos dados) que ajuda as CPUs a executar várias tarefas em paralelo.
Em sistemas sem suporte AVX512, a variante AVX2 ainda oferece uma melhoria de 65,63%.
Inscreva -se no boletim do TechRadar Pro para obter todas as principais notícias, opinião, recursos e orientações que sua empresa precisa para ter sucesso!
Como a equipe aponta, “é uma única função que agora é 100x mais rápida, não todo o FFMPEG”.
Esta notícia segue um impulso semelhante relatado em novembro de 2024, onde outro patch elevou certas operações a 94x mais rapidamente.
Nesse caso, parte da diferença de desempenho anterior surgiu da complexidade do filtro incompatível: a versão C genérica usou uma convolução de 8-TAP, enquanto a versão SIMD usava uma abordagem mais simples de 6-TAP.
Mesmo compilar a versão C no modo de liberação com um compilador melhor como o CLANG pode fechar mais de 50% da lacuna, sugerindo que alguns dos ganhos de velocidade reivindicados podem ter sido exagerados comparando o pior caso com as melhores condições.
“O alocador de registro é uma merda nos compiladores”, os desenvolvedores brincaram nas mídias sociais, destacando as ineficiências do compilador.
Apesar das advertências, esse foco renovado na codificação de baixo nível provocou novas conversas em torno da otimização de desempenho.
O FFMPEG alimenta tudo, desde o VLC Media Player até inúmeras ferramentas de download do YouTube, para que até pequenas melhorias nos filtros isolados possam ondular através de software amplamente usado.
No entanto, vale a pena notar que esses resultados geralmente são difíceis de replicar e aplicar em partes mais amplas da base de código.
Embora esses tipos de otimizações profundas sejam impressionantes, elas podem não refletir melhorias no mundo real para os usuários cotidianos que editam imagens com o software de edição de vídeo.
A menos que outras funções principais recebam tratamento semelhante, a promessa de um FFMPEG mais rápido pode permanecer limitado a benchmarks técnicos.
Via Tomshardware
Fique conectado