IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

GetTickCount - peut il etre non fiable ?


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut GetTickCount - peut il etre non fiable ?
    Bonjour,

    Je suis assez sceptique par rapport à un retour client. Explication : J'utilise GetTickCount pour compter dans une boucle de test. La boucle passe par differentes phases, rien de bien complique en tout cas, rien qui surchargerai un processeur. Ceci etant j'obtiens dans mon affichage des secondes parfaite, aucun ralentissement ... tout se passe vraiment bien.

    Depuis peu, un nouveau client me dit que les secondes vont deux fois plus vite sur son ordi ... que penser de ça alors que tout va très bien chez moi et sur different PC ? Je ne connais pas son OS, mais même en Windows seven x64 la fonction GetTickCount renvoi toujours la même chose ? non ?

    Merci pour vos lumières, jme sens un peu dépassé sur ce coup

  2. #2
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Citation Envoyé par altahir007 Voir le message
    J'utilise GetTickCount pour compter dans une boucle de test.
    Je suppose que tu veux compter le temps d'exécution de ta boucle. Dans ce cas il faut utiliser la classe Stopwatch.

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    Environment.TickCount est basée sur la fonction WinAPI GetTickCount() . C'est en millisecondes, mais la précision réelle c'est Mme environ 15,6 donc vous ne pouvez pas mesurer des intervalles de temps plus courtes (ou vous aurez 0)
    DateTime.Ticks est basé sur GetSystemTimeAsFileTime() fonction WinAPI. C'est en centaines de nanosecondes (dixièmes de microsoconds). La précision réelle de DateTime.Ticks dépend du système. Sur XP, l'accroissement de l'horloge système est environ 15,6 ms, les mêmes que ceux de Environment.TickCount. Sur Windows 7 sa précision est de 1 ms (bien que Environemnt.TickCount est encore 15,6 ms)
    Stopwatch est basée sur la fonction WinAPI QueryPerformanceCounter() (mais si le compteur de performance haute résolution n'est pas pris en charge par votre système, DateTime.Ticks est utilisé)
    Avant d'utiliser le chronomètre avis deux problèmes :

    • Il peut être non fiable sur des systèmes multiprocesseurs (voir MS kb895980, kb896256)
    • Il n'est pas fiable si la fréquence du CPU varie (lire cet article)
    trouvé ici : http://fr.softuses.com/26797
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut
    Merci c'est tout ce qu'il me fallait !

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/07/2010, 21h00
  2. Réponses: 8
    Dernier message: 29/03/2006, 15h50
  3. Algo d'affichage de vignettes non fiable
    Par Invité dans le forum Applets
    Réponses: 4
    Dernier message: 27/01/2006, 23h25
  4. mémoire peut pas etre "read"
    Par zhoom dans le forum C
    Réponses: 7
    Dernier message: 05/11/2005, 11h56
  5. Elément d'un tableau peut-il être reférencé?
    Par scoob67 dans le forum Linux
    Réponses: 9
    Dernier message: 20/10/2005, 18h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo