Bonjour autres développeurs Cocoa,lecture/écriture octets arbitraires à VRAM sur OS X 10.4+
Je voudrais vérifier avec quelques-uns des experts ici pour voir si elles pourraient être en mesure d'aider à clarifier une zone où la documentation font défaut. À l'heure actuelle, nous avons une méthode qui est destinée à tester la VRAM en obtenant l'adresse de base de l'affichage et en écrivant/lisant un modèle d'octets commençant à cette adresse. Ceci a pour effet que chaque pixel de l'affichage est successivement mis à une couleur spécifique qui est ensuite relue pour s'assurer qu'il est le même que ce qui est attendu.
L'implémentation d'origine utilisait les fonctions de dégagement pour obtenir cette adresse, et j'ai été chargée de la mettre à jour pour 10.4+. J'utilise CGDisplayCaptureWithOptions(kCGDirectMainDisplay, kCGCaptureNoFill)
, puis obtenir l'adresse de base en appelant CGDisplayBaseAddress(kCGDirectMainDisplay)
. Cela semble faire ce que je m'attends et la mise en œuvre fonctionne aussi bien que la version précédente.
La seule question à gauche pour moi de demander est si c'est vraiment écrire à la mémoire VRAM ou est-ce juste le tampon d'affichage dans la RAM? Ou devrais-je utiliser quelque chose comme OpenGL pour faire cela? Merci à tous pour vos conseils et suggestions. Je peux fournir un échantillon de code si vous le jugez nécessaire.
Merci Costique, ceci semble être la seule fonction qui est supportée Pre-10.7. Je suppose que nous devrons le réécrire en utilisant OpenGL quand il s'agit de sortir la version 10.7+, mais en attendant je suppose que ça marchera pour le moment. Merci encore! – Kross