Ho un programma che utilizza la chiamata APIper far passare un thread per un determinato periodo di tempo.
In breve, simula una telecamera inviando immagini prefissate in memoria. Sto usando Sleep
per simulare il frame rate - Sleep(1000/fps)
Strano comportamento "sospensione" tra i sistemi
Questo funziona bene nel mio sistema di sviluppo (Intel i5 (1a gen), Win7 64), ma quando lo eseguo su un altro sistema (Intel i7-2600 - SandyBridge), i tempi di sonno sono totalmente diversi e imprecisi.
Per esempio, Sleep(16)
posti letto per circa 32ms
Sleep(3)
posti letto per 16ms
In passato ho pensato che ci fosse un tempo minimo di sonno in finestre di 15ms
ma non ottengono tale limitazione sul mio sistema dev.
Qualsiasi idea?
Inoltre, c'è un modo migliore per ottenere il frame rate del mio simulatore?
Stai parlando di Win32 [ 'Sleep'] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms686298.aspx) function, o la funzione C ['sleep'] (http://pubs.opengroup.org/onlinepubs/009604599/functions/sleep.html) (nota l'involucro del "s")? La tua descrizione suggerisce i primi, i nomi di ortografia/denominazione e (piuttosto generici) dall'altra. –
@ Christian.K - Win32 'Sleep' – Itsik