La question est plutôt "simple". J'ai un moteur qui peut fonctionner avec DirectX9 et DirectX10 avec SlimDX en C#. J'utilise la classe Stopwatch pour chronométrer le jeu et tester la vitesse d'une routine. Bizarrement, juste après la création du DirectX9, le point flottant du StopWatch devient fou et la division GetTimeStamp()/Frequency renvoie uniquement des valeurs entières (simples avec .000000). Pourquoi ça? Veuillez noter qu'avec DirectX10, ce problème n'est pas présent. (Si je fais le contrôle juste avant d'ouvrir l'appareil en DirectX9 il fonctionne, juste après ne pas.)StopWatch renvoie Entier après la création du périphérique DirectX
Ce code utilise i pour les deux versions (DirectX10 et DirectX9)
(Double)Stopwatch.GetTimestamp() * 1000d/(Double)Stopwatch.Frequency
Tous les indices ?
EDIT: J'ai testé en utilisant QueryPerformanceCounter, mais le résultat est le même. Calcul parfait avant de créer l'appareil DirectX9, seul l'entier après.
EDIT2: Après quelques tests j'ai réussi à lui montrer des valeurs à virgule flottante mais elles sont assez différentes de celles du DirectX10 en précision.
est Voici quelques exemples:
DirectX10
création de formulaire: 110,09241
LoadContent complète: 738,64486
LoadContent ContentManager: 593,57572
DirectX9
création de formulaire: 112,45000
LoadContent Plein : 489,50000
LoadContent ContentManager: 355,50000
EDIT3: Testée sur une autre machine et le résultat est le même ... avant la création de l'appareil tout ok, après seulement ... entier
Désolé, mais je doute que ce soit le problème. Car si j'utilise la classe StopWatch (instanciée) avec les méthodes Start() et Stop(), tout fonctionne correctement. Seulement si j'utilise TimeStamps tout va mal. De toute façon, voici son pas la question de la précision (précision de 32 bits serait fantastique XD), il renvoie des plaines entiers ou 0,50000. – feal87
Pourquoi ne pas l'essayer et voir? Étant donné que les horodatages ont de très grandes valeurs, une précision de 32 bits pourrait très bien en être la cause. – interjay
Je vais l'essayer juste savoir :) – feal87