Core Image vs Core Graphics

Je fais une application qui utilise des fonctions graphiques de base de base. L'application fonctionne raisonnablement bien sur Ipad2, mais il y a un coup de performance sur Ipad3 en raison de l'affichage de la rétine, ce qui provoque le dessin sur le nombre de pixels 4 fois au plus tôt. J'ai essayé quelques hacks pour améliorer les performances, mais comme le dessin se déroule sur des gestes dans mon code, je pense que je devrai passer à une autre alternative. Je voulais demander si Core Image fournit toutes les fonctionnalités qui peuvent être effectuées en utilisant Core Graphics, de sorte que je puisse utiliser la capacité de traitement GPU. Sinon, quelle pourrait être la meilleure alternative pour que je puisse utiliser les mêmes fonctionnalités avec une meilleure capacité de traitement.

0
Oui. Parce que la performance montre une certaine amélioration lorsque certaines opérations de dessin sont supprimées ou que des parties des écrans sont dessinées à la place de tout l'écran.
ajouté l'auteur user1414340, source
Êtes-vous sûr à 100% que la baisse de performance est due à l'augmentation du nombre de pixels?
ajouté l'auteur zoul, source

2 Réponses

Core Image et Core Graphics sont très différents. Core Image est une technologie de traitement d'image . Vous pouvez appliquer des filtres prédéfinis, tels que sépia, noir et blanc, et inverser les couleurs, ou créer des filtres personnalisés. Core Graphics est une API de rendu utilisant les technologies Quartz 2D qui permet un dessin complexe.

GPUImage de Brad Larson est une excellente alternative à Core Image. Vous pouvez le trouver ici .

Si vous voulez améliorer les performances, vous pouvez essayer une API de bas niveau comme OpenGL. C'est difficile à apprendre, mais voici quelques liens pour vous aider à démarrer:

0
ajouté
Merci. Cela sûrement hepls.
ajouté l'auteur user1414340, source

Un an plus tard, je sais, mais jetez un coup d'œil aux sessions WWDC 2010 sur l'animation de base: 424 et 425. Les deux sont importants, mais il y a de bons détails sur l'optimisation des performances en 425 vers 11h00.

Le résumé court, c'est qu'il y a trois goulots d'étranglement potentiels, et vous devez identifier, optimiser, et continuer à itérer jusqu'à ce que vous obteniez un bon 60 FPS. Les goulots d'étranglement potentiels sont:

  • lire la bande passante
  • écrivez la bande passante
  • traitement/rendu des passes.

La session 425 (Core Animation in Practice, Partie 2) couvre les techniques de traitement de ce qui précède.

https://developer.apple.com/videos/wwdc/2010/

0
ajouté