Formation
Module
Troubleshoot device driver failures - Training
This module focuses on the role of device drivers and troubleshooting problems that pertain to them.
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Cet article vous aide à contourner le problème où une augmentation significative de l’utilisation du processeur (interruption et temps DPC) lors de la diffusion en continu de données isochronous vers ou à partir d’un appareil IEEE 1394.
Version du produit d’origine : Windows 7, Windows Server 2008
Numéro de base de connaissances d’origine : 2450963
Vous pouvez observer une augmentation significative de l’utilisation du processeur (interruption et temps DPC) lors de la diffusion en continu de données isochronous vers ou à partir d’un appareil IEEE 1394 avec le pilote de bus Windows 7 IEEE 1394, par rapport aux versions précédentes du pilote de bus Windows IEEE 1394.
Dans certaines conditions, le pilote de bus Windows 7 IEEE 1394 (1394ohci.sys) programme le contrôleur hôte IEEE 1394 pour générer une interruption et un DPC résultant (appel de procédure différée) pour chaque paquet Isochronous envoyé ou reçu. Dans des conditions similaires, le pilote de bus Windows IEEE 1394 hérité (ohci1394.sys et 1394bus.sys) programme le contrôleur hôte IEEE 1394 pour générer uniquement une interruption et DPC à se produire à la fin de chaque transfert Isochronous (frame) tel que désigné par le pilote de périphérique IEEE 1394 qui lance les transferts Isochronous.
Un transfert de données isochronous nécessite généralement plusieurs paquets de données Isochronous pour transférer une unité significative de données, comme une image vidéo ou un échantillon audio. Un pilote de périphérique IEEE 1394 peut être averti lorsqu’une unité significative de données a été transférée en spécifiant une routine de rappel dans la structure de descripteur Isoch utilisée pour décrire la mémoire tampon utilisée pour ce transfert. Cette structure de descripteur Isoch est soumise au pilote de bus Microsoft Windows IEEE 1394 via une requête d’E REQUEST_ISOCH_ATTACH_BUFFERS
/S et est utilisée pour programmer le contrôleur hôte IEEE 1394 pour effectuer le transfert Isochronous demandé.
Le problème décrit dans cet article se produit lorsqu’un pilote de périphérique IEEE 1394 envoie des descripteurs Isoch qui décrivent chacune la valeur d’un paquet unique de données, au lieu des descripteurs Isoch qui décrivent chacun plusieurs paquets de données, tels qu’une image vidéo complète ou un échantillon audio. Dans ce scénario, plusieurs descripteurs Isoch sont attachés par le pilote de périphérique IEEE 1394, un par paquet et une routine de rappel est spécifiée uniquement dans le dernier descripteur Isoch.
Par conséquent, le pilote de bus Windows 7 IEEE 1394 appelle uniquement la routine de rappel spécifiée lorsque le dernier paquet de données a été transféré, mais les programmes du contrôleur hôte IEEE 1394 pour générer une interruption une fois que les données décrites par chaque descripteur Isoch ont été transférées. Chaque interruption entraîne l’appel du gestionnaire d’interruptions et des routines DPC dans le pilote de bus Microsoft Windows 7 IEEE 1394, ce qui entraîne une augmentation du temps d’interruption et de DPC, qui peut être observé dans les outils de surveillance des performances et peut avoir un impact sur les performances globales du système.
Il peut être possible de contourner ce problème en modifiant le comportement du pilote de périphérique IEEE 1394 affecté pour envoyer un descripteur Isoch unique pour chaque unité significative de données, telle qu’une image vidéo ou un échantillon audio, au lieu de soumettre un descripteur Isoch pour chaque paquet de données. Cela réduirait également le nombre total de descripteurs Isoch requis pour transférer la même quantité de données Isochronous, et devrait généralement réduire la surcharge de traitement associée à chaque REQUEST_ISOCH_ATTACH_BUFFERS
demande d’E/S.
Pour plus d’informations sur la façon dont les pilotes clients IEEE 1394 envoient des transferts Isochronous au pilote de bus Microsoft IEEE 1394, consultez les articles suivants :
Formation
Module
Troubleshoot device driver failures - Training
This module focuses on the role of device drivers and troubleshooting problems that pertain to them.
Documentation
Les mises à jour de pilotes non noyées sont installées de manière inattendue - Hardware Developer
Cet article fournit des solutions au problème qui permet aux packages de pilotes qui contiennent des ID matériels qui ne appartiennent pas au serveur de publication d’être téléchargés et installés à partir de Windows Update.
Les périphériques Bluetooth et POS ne parviennent pas à se connecter - Hardware Developer
Cet article fournit des solutions au problème où le service d’accès aux appareils de l’interface humaine ou le service d’entrée HID ne parvient pas à démarrer sur Windows Embedded pour point de service.
L’appareil ne peut pas être supprimé dans Gestionnaire de périphériques - Hardware Developer
Cet article fournit une résolution du problème où l’appareil PCI Express ou ExpressCard branché à chaud peut toujours apparaître dans Gestionnaire de périphériques après avoir supprimé l’appareil.