Bonjour à tous,

J'ai développé un driver qui fonctionne parfaitement bien sur une machine Intel Core 2 CPU 6400 @ 2.13GHz (1 Go RAM)
Ce driver est utilisé par nos cartes d'acquisition.
Il a été développé en C++ avec VisualStudio.NET 2003 et utilise en une librairie de driver générique qui fait le passage en mode kernel (mais cela n'est pas vraiment utilse à savoir).

Le problème est qu'une fois ce driver installé sur une machine de type Xeon (bi-processeur dual core 2) avec hyper-threading activé, la vitesse d'acquisition s'écroule provoquant l'obtention d'images corrompues en sortie du driver (l'application m'affiche des images incorrectes: décallage d'informations dans l'image).
Mais ceci semble être une simple conséquence d'une mauvaise gestion, par l'architecture système, des threads en fonctionnement dans le driver.

Par ailleur, en enlevant un processeur et en désactivant l'hyper-threading sur cette machine Xeon, le problème n'apparaît plus. Mes images semblent correct. Par contre, la consommation CPU est de 100%.

Ce problème est très déroutant!

Quelqu'un possède-t-il une information utile qui pourrait expliquer ce disfonctionnement dans la machine Xeon,

Existe-t-il, dans le compilateur de Visual Studio 2003, une option de compilation pour prendre en charge l'hyper-threading?

En concidérant que cette option existe, si je ne l'utilise pas, est-il possible alors qu'un ralentissement aussi énorme se produise?

Merci pour toutes vos suggestions...