2009-11-18 5 views
7

J'ai commencé à mettre en œuvre cvDisplayLink pour conduire le rendu boucle au lieu de NSTimer, comme indiqué dans cette note technique http://developer.apple.com/mac/library/qa/qa2004/qa1385.htmlCVDisplayLink au lieu de NSTimer

Est-il préférable de faire le rendu réel dans le rappel de DisplayLink lui-même, ou devrais-je Appelez plutôt setNeedsDisplay sur la vue et laissez le thread principal faire le rendu? Pour rendre le rendu directement dans le rappel, j'ai besoin de verrouiller le contexte opengl, que j'espérais éviter.

Est-il possible d'utiliser cvDisplayLink pour la synchronisation et de restituer le rendu sur le thread principal?

Merci d'avance pour vos commentaires ....

+0

Le lien de note technique est rompu. –

+0

Je l'ai réparé. ▚▚▚ –

Répondre

3

Il n'y a aucun problème intrinsèque avec le verrouillage du contexte; il devrait être non contesté et débloquer rapidement. Redessiner sur le thread principal, via -setNeedsDisplay:, a une chance de manquer la fenêtre VBL juste à cause de l'aller-retour runloop.