No meu post sobre o Treediff o leitor Nickfeio perguntou sobre o que fazer quando Treediff aponta que dois arquivos tem CRC diferente, para saber que diferença é essa. Afinal, é um byte só ou milhares deles? Existem vários programas que fazem isso, mas como nenhum dos que eu conheço atende inteiramente minhas necessidades eu já vinha preparando o meu próprio utilitário com essa finalidade. E decidi que poderia ser útil para outras pessoas.
Em comparações realmente complexas (quando eu estou estudando hacks em firmwares, por exemplo) eu uso o modo binário do UltraCompare Professional, mas esse tipo de programa falha miseravelmente quando os arquivos a comparar são muito grandes, por causa da forma complexa com que tentam comparar. MyBinComp opera do mesmo jeito com arquivos de alguns KB ou vários GB, porque apenas faz uma comparação byte-por-byte, sem tentar sincronizar diferenças.
Mais informações e download no site.
quarta-feira, 12 de maio de 2010
terça-feira, 11 de maio de 2010
Como assistir H.264 consumindo tão pouco quanto 0% de CPU (DXVA).
E sem precisar da ajuda de Hermione Granger. Mas você precisa do hardware adequado, pois não se trata de magia, nem de milagre.
Notas:
Essa façanha pode ser realizada se sua placa de vídeo tiver suporte nativo a H.264 e puder ser acessada através de DXVA. Por default todos os codecs/filtros instalados no Windows sempre tentam fazer a decodificação por software, mesmo que sua GPU (a placa de vídeo) tenha suporte e esteja completamente livre e que sua CPU esteja engasgando com a carga. É preciso ativar manualmente o DXVA, que é o que explico neste post.
O hardware
Estou usando uma Geforce 8200, embutida na minha motherboard ECS GF8200A. Supostamente toda a série 8xxx e 9xxx de GPUs Nvidia decodificam H.264. Mesmo as onboard, como a minha.
Minha CPU é um Athlon X2 5200+.
O software
Basta usar o ffdshow * revision 3305 ou superior. Como se trata de um filtro DirectShow o benefício fica disponível para quase todos os players no Windows que não estejam usando filtros próprios.
* Baixe a versão SSE do ffdshow porque é improvável que você tenha uma GPU compatível com H.264 mas não tenha uma CPU compatível com SSE. E se sua CPU é compatível com SSE você vai perder desempenho se usar qualquer outra versão do ffdshow.
Eu testei com os seguintes players:
Testes feitos no Windows XP SP3. É preciso um procedimento especial para rodar o ffdshow no Seven, caso queira tentar com essa versão do Windows.
Configurando DXVA no ffdshow
O ffdshow tem um atalho específico para isto no Menu Iniciar:
Esta é a configuração para assistir sem legendas externas/embutidas (CPU zero):
E esta é a modificação para habilitar as legendas:
Clique em OK e execute um H.264 para testar.
Como saber que está sendo usado o DXVA
O ffdshow mostra um icone distinto na bandeja. Tem que ser este, marrom, com o texto "FFVA" (requer que você tenha configurado o padrão "Modern").
Para funcionar no WMP o trabalho de configuração acaba aqui. Vou explicar adiante o que é preciso fazer para que isso funcione também com outros players.
Configurando outros players
Atenção: excetuando o WMP, todos os meus players estão em inglês porque eu não suporto tentar decifrar o português da maioria deles. Todos tem o idioma definido em algum lugar nos menus.
KMplayer
Para abrir esta janela tecle F2. Desmarque os itens destacados.
GOM player
Para abrir esta janela tecle F5. Marque o item destacado.
Media Player Classic - Home Cinema
Para abrir esta janela tecle "O" (Options). Desmarque os itens destacados.
Problemas
Se seu sistema estiver configurado corretamente o Graphedit mostrará um gráfico como este para um arquivo cujo stream de vídeo seja H.264:
Nota: se você tentar abrir um MKV e o Graphedit acusar que o formato não é suportado, instale o Haali Media Splitter
Somente nos importa o caminho do video, destacado em vermelho.
Isso possivelmente é um problema da mesma natureza que o causado por Packet Bitstream em XviD e à medida que as "fontes" forem tomando conhecimento de que o problema existe você verá menos filmes incompatívels, porque elas aprenderão a evitar as configurações problemáticas. Se você procurar por "DXVA x264" no Google verá que alguns na "scene" já estão marcando alguns "releases" como compatíveis.
O consumo de energia
Como eu disse antes, não se trata de magia. Você pode até usar 0% de CPU, mas sua GPU vai cobrar pelo esforço extra. O quanto ela vai cobrar depende exclusivamente dela, mas como GPUs são teoricamente mais eficientes que CPUs quando o assunto é vídeo, dá para esperar uma economia de energia ao usar DXVA, o que pode ser particularmente interessante em notebooks.
Eu fiz um teste de alguns minutos aqui e meu medidor de energia no pior caso mostrou um aumento de 10W em relação ao consumo em idle. Comparando com as medições que fiz em dezembro eu estou chutando um consumo pelo menos 10W menor do que fazendo a mesma coisa sem DXVA. Eu ainda preciso fazer testes mais elaborados mas uma coisa parece garantida: você consome menos energia usando DXVA.
Notas:
- Com o hardware indicado abaixo serão 0% de CPU sem legendas e uns 16% com legendas externas/embutidas ativadas. Isso independe, até onde sei, da complexidade ou bitrate do filme;
- Cuidado para não se perder: H.264 é um termo genérico que, para os fins deste post, é sinônimo de x264 e MPEG-4 AVC. A diferença entre x264 e H.264 é a mesma que existe entre XVID e DivX (para os fins deste texto, nenhuma). Leia os artigos na en.Wikipedia para entender melhor.
Essa façanha pode ser realizada se sua placa de vídeo tiver suporte nativo a H.264 e puder ser acessada através de DXVA. Por default todos os codecs/filtros instalados no Windows sempre tentam fazer a decodificação por software, mesmo que sua GPU (a placa de vídeo) tenha suporte e esteja completamente livre e que sua CPU esteja engasgando com a carga. É preciso ativar manualmente o DXVA, que é o que explico neste post.
O hardware
Estou usando uma Geforce 8200, embutida na minha motherboard ECS GF8200A. Supostamente toda a série 8xxx e 9xxx de GPUs Nvidia decodificam H.264. Mesmo as onboard, como a minha.
Minha CPU é um Athlon X2 5200+.
O software
Basta usar o ffdshow * revision 3305 ou superior. Como se trata de um filtro DirectShow o benefício fica disponível para quase todos os players no Windows que não estejam usando filtros próprios.
* Baixe a versão SSE do ffdshow porque é improvável que você tenha uma GPU compatível com H.264 mas não tenha uma CPU compatível com SSE. E se sua CPU é compatível com SSE você vai perder desempenho se usar qualquer outra versão do ffdshow.
Eu testei com os seguintes players:
- Windows Media Player 11 (0%) - Mas o 6 também deve funcionar.
- Mediaportal 1.1.0 RC2
- GOM Player 2.1 (12%) - Sem explicação ainda.
- KMplayer 2.9.4 (0%)
- Media Player Classic Home Cinema 1.3 (0%)
Testes feitos no Windows XP SP3. É preciso um procedimento especial para rodar o ffdshow no Seven, caso queira tentar com essa versão do Windows.
Configurando DXVA no ffdshow
O ffdshow tem um atalho específico para isto no Menu Iniciar:
Em tray, dialogs and paths, selecione Modern. Isso é dispensável, mas muito útil enquanto durarem os testes.
Esta é a configuração para assistir sem legendas externas/embutidas (CPU zero):
E esta é a modificação para habilitar as legendas:
Clique em OK e execute um H.264 para testar.
Como saber que está sendo usado o DXVA
O ffdshow mostra um icone distinto na bandeja. Tem que ser este, marrom, com o texto "FFVA" (requer que você tenha configurado o padrão "Modern").
Para funcionar no WMP o trabalho de configuração acaba aqui. Vou explicar adiante o que é preciso fazer para que isso funcione também com outros players.
Configurando outros players
Atenção: excetuando o WMP, todos os meus players estão em inglês porque eu não suporto tentar decifrar o português da maioria deles. Todos tem o idioma definido em algum lugar nos menus.
KMplayer
Para abrir esta janela tecle F2. Desmarque os itens destacados.
GOM player
Para abrir esta janela tecle F5. Marque o item destacado.
Media Player Classic - Home Cinema
Para abrir esta janela tecle "O" (Options). Desmarque os itens destacados.
Problemas
Se seu sistema estiver configurado corretamente o Graphedit mostrará um gráfico como este para um arquivo cujo stream de vídeo seja H.264:
Nota: se você tentar abrir um MKV e o Graphedit acusar que o formato não é suportado, instale o Haali Media Splitter
Somente nos importa o caminho do video, destacado em vermelho.
Se o Graphedit mostrar algo diferente, DXVA não funcionará para o arquivo H.264 especificado. Se estiver diferente disso para todos os seus H.264, você tem um problema na sua instalação. Geralmente o Graphedit lhe dará pistas suficientes no gráfico para você saber quem é o culpado. Leia meu texto sobre o Graphedit para saber um pouco mais sobre isso.
Nem todo H.264 é compatível.
Pois é. Alguns filmes não podem ser acelerados por DXVA e vão precisar ser decodificados por software. Mas o ffdshow se encarrega de determinar isso e ativar o decoder correto. O ícone mostrado na bandeja será diferente.
Eu ainda não sei ao certo o que causa a incompatibilidade, mas em todas as amostras incompatíveis que testei, Mediainfo reportou um profile High@L5.1 e pelo menos 6 reframes no stream de vídeo:
Isso possivelmente é um problema da mesma natureza que o causado por Packet Bitstream em XviD e à medida que as "fontes" forem tomando conhecimento de que o problema existe você verá menos filmes incompatívels, porque elas aprenderão a evitar as configurações problemáticas. Se você procurar por "DXVA x264" no Google verá que alguns na "scene" já estão marcando alguns "releases" como compatíveis.
O consumo de energia
Como eu disse antes, não se trata de magia. Você pode até usar 0% de CPU, mas sua GPU vai cobrar pelo esforço extra. O quanto ela vai cobrar depende exclusivamente dela, mas como GPUs são teoricamente mais eficientes que CPUs quando o assunto é vídeo, dá para esperar uma economia de energia ao usar DXVA, o que pode ser particularmente interessante em notebooks.
Eu fiz um teste de alguns minutos aqui e meu medidor de energia no pior caso mostrou um aumento de 10W em relação ao consumo em idle. Comparando com as medições que fiz em dezembro eu estou chutando um consumo pelo menos 10W menor do que fazendo a mesma coisa sem DXVA. Eu ainda preciso fazer testes mais elaborados mas uma coisa parece garantida: você consome menos energia usando DXVA.
segunda-feira, 10 de maio de 2010
Comentários do blog estão desaparecendo ao publicar.
Categoria(s):
blog
Esta foi a terceira vez que aconteceu (pelo menos, que eu notei). Acabo de publicar um comentário de "Pedro" no post anterior e este nem chegou a aparecer no post. Simplesmente sumiu. Se eu tento publicar de novo o Blogger diz que já foi moderado.
Encontrei outro usuário com o mesmo problema. Mas ainda nenhuma explicação.
Edit: só porque agora eu reclamei, o comentário apareceu!
Encontrei outro usuário com o mesmo problema. Mas ainda nenhuma explicação.
Edit: só porque agora eu reclamei, o comentário apareceu!
domingo, 9 de maio de 2010
domingo, 2 de maio de 2010
O consumo de energia de um Sempron 3000
Categoria(s):
Energia,
Hardware,
MedEnergia
Hardware
Medições
Comum
Notas:
- PCChips M861G V1.6a;
- Um módulo DDR de 512MB;
- Gravador LG GSA-H12N;
- HDD SATA 7200RPM 160GB Western Digital WD1600JS;
- Fonte vagabunda "300W" Clone cod.15048;
- Nenhum overclock;
- Nenhuma ventilação extra.
Medições
Comum
- Parado no post - 70W
- Iniciando Windows - 80W
- Em idle no XP - 60W
- Em idle no XP com drive de DVD aberto - 70W *
- CPU a 100% (SuperPI) - 80W
- Em idle no XP - 50W
- CPU a 100% (SuperPI) - 70W
- Rodando um X.264 720p a partir do drive de DVD (90-100%) - Entre 80 e 90W
Notas:
- Não faz diferença (mensurável) o Cool'n'Quiet enquanto o driver não estiver carregado
Assinar:
Postagens (Atom)