2010-12-06 84 views
0

I a développé une application C# qui lit les données à partir d'un périphérique USB à un taux spécifique. Toutefois, si mon processeur est embourbé par d'autres programmes, mon programme ne peut pas suivre les données provenant de l'appareil et je perds des données.Un pilote USB personnalisé va-t-il améliorer les performances de mes applications?

Est-il possible qu'un pilote personnalisé pourrait résoudre ce problème? Je pense que la performance du code en mode noyau serait plus garantie que le code en mode utilisateur.

Merci!

+0

Quel genre de conducteur utilisez-vous maintenant? Quel genre d'appareil est-ce? – Brad

+0

Il s'agit d'un pilote Microsoft HID générique (Windows 7). – quickbits

+1

Comme vous avez un appareil HID déjà, il est susceptible de ne pas améliorer les choses tout. Si vous avez un périphérique personnalisé, envisagez d'utiliser WinUSB. –

Répondre

2

Il n'y a pas de différence entre les threads mode noyau et utilisateur. Sauf que vous pouvez augmenter la priorité des threads en mode noyau. Essayez d'augmenter la priorité des threads en mode utilisateur en premier. Et assurez-vous que la lecture est bloquante afin que le planificateur de threads vous aime vraiment quand la lecture se termine. Il n'y a pas de solution pour manquer d'espace tampon lorsque vous ne pouvez pas traiter les données assez rapidement.