2009-04-25 5 views
1

Où est l'appel TickCount()? J'ai vu plusieurs threads sur le web qui recommandent d'utiliser l'appel TickCount() pour le développement de l'iphone. De quoi ai-je besoin pour "#include" pour utiliser cet appel? Dans quel cadre est-ce?Où est l'appel TickCount()?

Si ce n'est pas TickCount() que devrais-je utiliser pour obtenir des millisecondes écoulées depuis le démarrage de cpu?

Répondre

4

CFAbsoluteTimeGetCurrent est probablement ce que vous recherchez. (Edit:.? ... Ou peut-être pas Avez-vous vraiment besoin de temps depuis le début du processeur, ou voulez-vous juste pour mesurer le temps en ms)

+0

Merci! Non, je n'ai pas vraiment besoin du temps de démarrage du processeur, j'ai juste besoin de temps écoulé dans MS. –

+0

Oui, alors cette fonction est exactement celle-là. Il renvoie CFAbsoluteTime, qui est un double déguisé. Si vous tapez votre variable CFAbsoluteTime au lieu de double, Xcode décore le nombre comme valeur de temps lors de l'affichage de la bulle de valeur dans le débogueur. – zoul

2

Dans mon fichier d'en-tête, ajouter les éléments suivants:

#include <time.h> 

@interface myAppDelegate : NSObject <UIApplicationDelegate> { 
    ... 
    clock_t initStart, initStop; 
} 

Dans mon dossier de mise en œuvre, j'ajouter ce qui suit:

- (void) applicationDidFinishLaunching:(UIApplication *)application { 
    srandom(time(NULL)); 
    initStart = clock(); 
    ... 
} 

... 

- (void) applicationWillTerminate:(UIApplication *)application { 
    initStop = clock(); 
    NSLog(@"Elapsed CPU time: %f", (double)(initStop - initStart)/CLOCKS_PER_SEC); 
    ... 
} 

Vous pouvez déplacer ces appels autour de votre application au besoin, pour mesurer le temps écoulé.

+0

Merci! La seule raison pour laquelle je vais utiliser CFAbsoluteTimeGetCurrent est qu'Apple a utilisé CFAbsoluteTimeGetCurrent dans son exemple GLPaint. –