#manutenção
Já faz semanas que estou convivendo com um problema no meu PC principal e só hoje parei para tentar entendê-lo. O problema é no kmplayer que demora demais para abrir certos arquivos.
No teste que fiz agora pude determinar o seguinte padrão:
Se o codec de vídeo for VC-1: abre em 2s (testado com WMV)
Se o codec de vídeo for MPEG4: abre em 6s (testado com AVI e MP4)
Se o codec de vídeo for AVC: abre em 13s (testado com MKV, MOV e MP4)
Em todos os casos o KMplayer está usando o ffdshow como filtro.
Durante esse intervalo, o Process Explorer acusa que o kmplayer está usando 100% de um dos cores do processador, em vermelho (o normal é verde). Isso sugere que o problema está ocorrendo em um nível mais baixo que o de aplicação (driver, filtro…).
Repeti o teste, com o kmplayer configurado para usar os seus decodificadores internos.
VC-1: sem alteração clara. Pode ter até aumentado para 3s
MPEG4: caiu para 3s
AVC: caiu para 7s
Uso de CPU permaneceu igual.
Já tentou usar outro player?
Uso o Media Player Classic com o pacote de codecs K-Lite Codec Pack e nunca tive problemas…
Refiz o teste com o Windows Media Player 11
MPEG4: Praticamente instantâneo (e usando o mesmo FFDSHOW)
VC-1: praticamente instantâneo (usando decoder interno)
AVC: 3s se compatível com DXVA. (e usando o mesmo FFDSHOW)
AVC: 16s se não for compatível com DXVA. (e usando o mesmo FFDSHOW)
Ainda não consegui perceber onde pode estar o problema
Glauco. Não uso pacotes de codecs. Eu instalo apenas o estritamente essencial para cada caso. Geralmente isso se limita a:
FFDSHOW
Matroska splitter
Filtro DTS
Ac3filter <- este eu tenho usado pouco
Estava tendo esse problemas Ryan, resolvi seguindo este tutorial aqui:
http://www.cos-soft.eu.pn/tutorialkmplayer.html
Alexandre, por outro caminho eu já havia isolado o DXVA como causa do problema.
Desinstalei o danado do ffdshow e instalei a versão mais antiga que eu tinha que sabia que funcionava bem: a 3305
https://jefferson-ryan.blogspot.com/2010/05/como-assistir-h264-consumindo-tao-pouco.html
Resultados no kmplayer, usando ffdshow:
MPEG4: 6s (sem alteração)
VC-1: 3s (sem alteração)
AVC: 6s (redução de 7s)
Então eu notei que mesmo o filme com suporte a DXVA estava rodando sem DXVA, porque eu tinha esquecido de ativar o DXVA no ffdshow. Com a ativação a abertura de AVC voltou a levar 13s, seja compatível com DXVA ou não. Aparentemente a simples checagem de compatibilidade com DXVA do ffdshow está levando 7s.
Mas isso não explica por que o kmplayer leva 6s para abrir um simples MPEG4. E tenho uma razoável certeza de que quando eu escrevi aquele texto sobre DXVA o kmplayer não demorava essa eternidade para abrir AVC.
Então eu repeti o teste no meu notebook. Nele o tempo máximo que o kmplayer leva para abrir arquivos (qualquer codec) é 3s. E a versão é a mesma do desktop: 3.0.0.1438
Agora estou desconfiado do driver de vídeo…
Problema resolvido instalando a versão mais recente do driver de vídeo para a Geforce 8200: 6.14.12.6099.
Agora todos os vídeos AVC abrem em 3s e os MPEG4 abrem quase instantaneamente. Ainda ganhei um bônus: vídeos antes incompatíveis com DXVA agora são. A "dica" do Process Explorer de que era problema de driver estava correta.
Edit: é driver, sim, mas fui enganado por estar usando apenas um monitor no teste, como explico em outro comentário.
Porém eu ganhei um novo problema com o qual não dá para conviver: uma estranha incompatibilidade com meu monitor AR2238AFJW. Eu configuro para 1680×1050 mas tanto o Windows quanto o Painel de Controle da Nvidia fazem com que a área de trabalho é que assuma essas dimensões. O monitor mesmo fica a 1024×768 (medido com software de medição de pixels).
Mais interessante: o driver da Nvidia enxerga o exato modelo do meu monitor, mas o Windows não (insiste que é "monitor padrão"). Isso se assemelha ao problema que impede o meu monitor de operar no Windows Seven usando a porta DVI.
Me pareceu que o problema tinha sido resolvido ao instalar uma versão do driver, um pouco mais nova do que a que comecei o dia, mas ainda bem velhinha: 2008. O novo problema de bagunçar a resolução foi definitivamente resolvido mas, para o meu espanto, depois que eu configurei meu monitor secundário (AOC 511vwb, 1280×768), o problema de levar 13s para abrir um AVC voltou.
Desativei "estender a área de trabalho…" e o kmplayer passou a abrir todos os filmes (qualquer codec) instantaneamente.
Reativei o monitor e o problema voltou.
Bem, agora eu sei que o problema é driver de vídeo e até do que o driver não está gostando (minha área de trabalho estendida). Só não sei como resolver e tenho certeza de que, apesar de usar esses mesmos dois monitores e essa mesma placa de vídeo (onboard) desde julho de 2009, esse problema no kmplayer eu só percebi há no máximo dois meses.
Felizmente, dá para conviver com isso. Quando eu estiver fazendo algo que envolva abrir muitos filmes num curto intervalo de tempo (que é quando essas pausas realmente me incomodam), basta desativar o monitor secundário.
Um detalhe que pode ser relevante: eu notei o problema no kmplayer dias depois de começar a usar uma nova instalação do XP. Intrigado, dei boot pela instalação antiga (que está comprometida além de qualquer chance de recuperação, mas por outro motivo) e o problema se manifestou nela também, do mesmo jeito.
É como se alguma coisa tivesse mudado no hardware.
Resumo dos drivers usados:
Versão com que comecei o dia:
6.14.11.7516 (175.16) – 2/5/2008
versão que bagunçou tudo, aparentemente incompatível com meu monitor:
6.14.12.6099 (260.99) – 16/10/2010 (a mais recente)
versão que estou usando agora:
6.14.11.7813 (178.13) – 17/9/2008
Instalei novo driver:
6.14.11.8250 (182.50) – 27/3/2009
Com o monitor secundário ativo:
VC1: instantâneo
MPEG4: 2s
AVC: 6s
Com o monitor secundário desativado:
Tudo instantâneo
Considero o problema resolvido. 6s é um tempo suficientemente curto para que a pausa sempre estivesse lá e eu não tivesse notado, então pode ser que eu finalmente tenha conseguido chegar ao estado de antes. Mas ainda não sei como o problema aconteceu em duas instalações do Windows, já que eu não fico mudando drivers de vídeo à toa.
Aparentemente esbarrei em um problema desagradável provocado pelo novo driver.
Agora sempre que eu uso o XBMC em tela cheia, o meu monitor primário "apaga" regularmente e por tempo suficiente para ser desagradável. Isso antes mesmo de executar qualquer filme. Nada ocorre com o secundário.
Se eu executar numa janela, o problema é muito reduzido. Mas ainda assim de vez em quando o monitor apaga.
Desligar o monitor secundário não muda nada.