2010-04-26 5 views
2

1) Perte-t-elle de ses performances lors de la création d'une nouvelle image avec la transparence d'un masque binaire, en y dessinant juste quelques éléments puis en la dessinant au-dessus d'une autre; par rapport à dessiner la même image dans les mêmes conditions, mais avec le fond dégagé à une couleur opaque?Questions de performance graphique Java 2D

2) Quelle est l'importance de la perte de performance lors du dessin de plusieurs images par rapport à la représentation d'une grande image qui les inclut toutes?

3) Vaut-il mieux dessiner un petit fragment d'image à partir d'une grande image (une feuille de sprite) ou de son image individuelle? Remarque Je parle d'images de mémoire, leur représentation sur le disque n'a pas d'importance.

Répondre

1

Il y a beaucoup de paramètres inconnus ici:

  • Quel est le système d'exploitation sous-jacent
  • Quel est le fournisseur/JVM version
  • la quantité de mémoire disponible sur la carte vidéo
  • Comment grande est l'image
  • est-ce le matériel d'image accélérée

Le seul moyen pratique de répondre à vos questions est de faire des benchmarks.

+0

- Je suis intéressé sur Windows et Linux - La dernière version de JDK Sun - La chose devrait fonctionner sur de vieilles machines sans carte vidéo, il est donc pas non plus l'accélération matérielle (GraphicsDevice.getAvailableAcceleratedMemory() = 0). Pour la taille de l'image, envisagez de dessiner une image de 500 x 500 par rapport à une image de 100 x 50 x 50. – Norswap

+0

Eh bien, comme je l'ai dit, il se passera beaucoup de choses. Vous devriez tester votre application et voir si c'est assez bon. Dans un premier temps, essayez de rendre les choses aussi simples que possible car l'implémentation sous-jacente a déjà des optimisations intelligentes. – Guillaume