Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565

    Usare un timer in windows

    Salve. Ho bisogno di effettuare un conteggio di secondi.
    Per timer di alte performance si deve usare QueryPerformanceCounter e QueyPerformanceFrequency

    Se ho capito bene QueryPerformanceFrequency restituisce il numero di volte al secondo del timer, ed è una implementazione della scheda madre quindi quel numero te lo devi tenere e basta.
    Dunque io ho fatto in questo modo

    codice:
    __int 64 freq;
    QueryPerformanceFrequency(reiterpret_cast<LARGE_INTEGER *>(&freq));
    Ciò restituisce circa 30000...
    Dunque stabilisco un periodo facendo
    codice:
    float Periodo = 1 / freq;
    Già questo non va bene perchè restituisce 0...

    poi dopo faccio

    codice:
    __int64 Start,End;
    
    QueryPerformanceCounter(reiterpret_cast<LARGE_INTEGER *>(&Start));
    
    //vario codice
    
    QueryPerformanceCounter(reiterpret_cast<LARGE_INTEGER *>(&End));
    
    Result = (End - Start) * Periodo;
    Ciò restituisce 0.
    Evidementemente è nella divisione che sbaglio, ma dove?
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  2. #2
    Io non farei 1 / freq, ma mi terrei freq...poi invece che (End - Start) * Periodo farei (End - Start) / freq, evito il double e conversioni strane...inoltre magari non perdo in precisione nella conversione a double.
    Comunque non so se funziona

  3. #3
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    i'll try
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.