Me buscaron mucho en Internet discutiendo la creación de bucles de juego en Cocoa. La mayoría de los bucles del juego que he visto usan NSTimer para activar un evento cada 60 de segundo. ¿Por qué no parece haber ejemplos que utilicen Grand Central Dispatch, como en el código fuente de la documentación para desarrolladores de Apple a continuación? ¿Hay algún problema que yo no sepa?¿Por qué los juegos de Cocoa evitan Grand Central Dispatch por crear un temporizador?
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;
}
Tal vez porque NSTimer es más famoso, menos atemorizante que GCD y porque GCD solo es MacOS10.6.x/iOS4.x y superior solamente? – nacho4d
Sí. Gracias por la respuesta. Probablemente se deba a que no es compatible con versiones anteriores. – Tobias