Je suis nouveau dans le monde Mac et je vois un comportement qui me laisse perplexe. Je travaille sur un utilitaire de base en plein écran qui va capturer l'affichage principal du Mac et afficher du texte. Le problème que j'ai est que si je capture l'affichage plusieurs fois, après la première fois que le texte que j'écris le contextRef commence à se dégrader au début de la ligne chaque fois qu'il est écrit. La première fois, il se peut que le remplissage ne soit pas dessiné dans la première lettre, après que des sections entières du texte au début de la ligne disparaissent. Le code que je utilise est comme suit:Texte tiré vers CGContextRef Pas toujours complet
CGDisplayCapture(kCGDirectMainDisplay);
CGDirectDisplayID display = kCGDirectMainDisplay;
CGContextRef ctx = CGDisplayGetDrawingContext (display);
CGContextSelectFont (ctx, "Times-Roman", 48, kCGEncodingMacRoman);
CGContextSetTextDrawingMode (ctx, kCGTextFillStroke);
CGContextSetRGBFillColor (ctx, 1, 1, 1, 0.75);
CGContextSetRGBStrokeColor (ctx, 1, 1, 1, 0.75);
CGContextShowTextAtPoint (ctx, 400, 400, text, strlen(text));
J'ai trouvé que si je mets un « [NSThread sleepForTimeInterval: 0,25] » avant le CGContextShowTextAtPoint que le texte affiche toujours correctement, mais c'est ce que je considère une pirater.
Ma question pour ceux qui sont plus intelligents que moi est, qu'est-ce qui cause le problème et y a-t-il quelque chose de différent que je devrais faire pour essayer de le résoudre?
TIA,
JT
où est ce code? tamponnez-vous les graphiques? –