2010-05-26 4 views
3

Im en utilisant Windows Media Player OCX dans un programme exécuté sur des centaines d'ordinateurs (dédiés). J'ai découvert que lorsque l'accélération vidéo est sur "full", sur certains ordinateurs, la vidéo ne fonctionne pas correctement, avec des carrés verts entre les vidéos, etc. Tournez l'accélération sur "None" et tout va bien.Comment désactiver l'accélération vidéo par programme

Ce programme est exécuté sur ~ 800 ordinateurs qui vont automatiquement mettre mon programme à jour. Donc, je veux ajouter au démarrage de mon programme qu'il éteint l'accélération vidéo.

La question est, comment désactiver l'accélération vidéo par programme?

Tous les ordinateurs exécutent XP et au moins le deuxième service pack. Il me faudrait un certain temps pour me connecter manuellement à tous ces ordinateurs et changer ce réglage, c'est pourquoi je veux que le programme puisse le faire automatiquement pour moi.

alt text http://img195.imageshack.us/img195/2848/videoacc.jpg

Répondre

1

En utilisant le processus proposé d'exécuter procmon et filtrer les données inutiles, j'ai pu déterminer les changements dans le Registre lorsque cette valeur a changé:

Accélération Vidéo Full:

[HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences\VideoSettings] 
"PerformanceSettings"=dword:00000002 
"UseVMR"=dword:00000001 
"UseVMROverlay"=dword:00000001 
"UseRGB"=dword:00000001 
"UseYUV"=dword:00000001 
"UseFullScrMS"=dword:00000000 
"DontUseFrameInterpolation"=dword:00000000 
"DVDUseVMR"=dword:00000001 
"DVDUseVMROverlay"=dword:00000001 
"DVDUseVMRFSMS"=dword:00000001 
"DVDUseSWDecoder"=dword:00000001 

Pas d'accélération vidéo:

[HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Preferences\VideoSettings] 
"PerformanceSettings"=dword:00000000 
"UseVMR"=dword:00000000 
"UseVMROverlay"=dword:00000000 
"UseRGB"=dword:00000000 
"UseYUV"=dword:00000000 
"UseFullScrMS"=dword:00000001 
"DontUseFrameInterpolation"=dword:00000001 
"DVDUseVMR"=dword:00000000 
"DVDUseVMROverlay"=dword:00000000 
"DVDUseVMRFSMS"=dword:00000000 
"DVDUseSWDecoder"=dword:00000000 

Donc, en bref, définissez

  • PerformanceSettings
  • UseVMR
  • UseVMROverlay
  • UserRGB
  • UseYUV
  • DVDUseVMR
  • DVDUseVMROverlay
  • DVDUseVMRFSMS
  • DVDUseSWDecoder

à 0 et le

  • UseFullScrMS
  • DontUseFrameInterpolation

à 1.

0

Il semble que vous n'êtes pas le seul à avoir ce problème. Voici un lien vers un blog - l'auteur résout son problème en réduisant le niveau d'accélération matérielle. Testé sur Media Player 9, 10 et 11 avec le script REG pour définir les paramètres appropriés.

http://thebackroomtech.com/2009/04/15/global-fix-windows-media-player-audio-works-video-does-not/

ainsi que l'application de ce correctif, vous pouvez vérifier les machines concernées ont les pilotes les plus récents et les versions de codec.Enfin, si possible, vous pouvez envisager de recoder le contenu dans un format qui ne produit pas les problèmes d'affichage (si le bug est lié au codec.)

Utiliser l'accélération matérielle est certainement plus économe en énergie - selon this Rapport Intel, presque deux fois plus d'énergie est utilisée sans accélération, et comme il y a 800 machines, il y a des raisons de chercher une solution verte.