Je me suis beaucoup regardé sur Internet pour discuter de la création de boucles de jeu dans Cocoa. La plupart des boucles de jeu que j'ai vues utilisent NSTimer pour déclencher un événement tous les 60 secondes. Pourquoi ne semble-t-il pas y avoir d'exemples utilisant Grand Central Dispatch, comme dans le code source de la documentation des développeurs d'Apple ci-dessous. Y a-t-il un problème que je ne connais pas?Pourquoi les jeux Cocoa évitent-ils Grand Central Dispatch de créer une minuterie?
dispatch_source_t CreateDispatchTimer(uint64_t interval,
uint64_t leeway,
dispatch_queue_t queue,
dispatch_block_t block)
{
dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER,
0, 0, queue);
if (timer)
{
dispatch_source_set_timer(timer, dispatch_walltime(NULL, 0), interval, leeway);
dispatch_source_set_event_handler(timer, block);
dispatch_resume(timer);
}
return timer;
}
Peut-être parce que NSTimer est plus célèbre, moins effrayant que GCD et parce que GCD est seulement MacOS10.6.x/iOS4.x et ci-dessus seulement? – nacho4d
Oui. Merci pour la réponse. C'est probablement parce que ce n'est pas rétrocompatible. – Tobias