одно потенциальное объяснение:
срабатывает таймер, и события вовремя добавляются в очередь. однако большая часть AppKit не является поточно-ориентированной, поэтому ... вы не увидите обновления до следующей итерации цикла выполнения. iow, события заблокированы, потому что все события передаются через главный цикл выполнения / поток.
имеет смысл?
примечание: чтобы сделать проблемы еще более сложными, асинхронное рисование является довольно новым для os x (на уровне NSView), поэтому убедитесь, что вы тестируете все основные версии ОС, которые вы намереваетесь поддерживать. результаты / поведение будут отличаться.