2010-05-10 8 views
0

Hé, j'ai eu ce problème pendant un certain temps maintenant et j'espérais que quelqu'un pourrait m'aider.Le format PNG dans Mac sur Java provoque une utilisation massive du processeur

Je fais de petits jeux en utilisant Java sur Mac OSX 1.6.3 et si j'utilise des PNG comme format d'image, mon utilisation du processeur par Java monte en flèche pour dire 50% (sur un très petit jeu 2D). Cependant, si j'utilise le format GIF comme format, mon utilisation du processeur par Java reste constante à 10%, ce qui est raisonnable.

Quel est le problème à l'origine de ce problème? Cela se produit sur tous les jeux que je développe en utilisant le format PNG, donc je passe tout simplement au format GIF.

Le problème est maintenant que j'ai besoin d'utiliser un PNG pour ses propriétés alpha variables plutôt que de la transparence pure. Ceci n'est pas disponible avec les GIF.

Le problème est présent sur Java SE 6 et les versions précédentes. J'utilise un Mac Book Pro 15 "début 2009.

Le problème ne se produit pas sur un PC Windows exécutant le même jeu. L'utilisation du CPU due à Java en utilisant des PNG sur un PC Windows (j'ai essayé XP, Vista et 7) est toujours constamment faible à environ 10%.

Toute aide serait grandement apprécié. Merci :)

Répondre

1

la transparence est probablement à l'origine du problème, car il est une caractéristique assez cher. Je pense que Java2D sur Mac n'utilise pas l'accélération matérielle, alors que sous Windows, c'est le cas:

JRE qui vient avec MacOS?

+0

Oui, Mac publie ses propres versions de JRE et je cours la version la plus à jour. Je pourrais essayer le -Dsun.java2d.opengl = true pour activer l'implémentation de Suns de opengl mais je ne suis pas sûr de l'efficacité de cette méthode. Merci – alexganose

+1

@alexganose - * "... mais je ne suis pas sûr de son efficacité" *. Essayez-le et voyez. –

+0

Aucune différence notable. Vraiment coincé sur ce qu'il faut faire ici. Je ne peux trouver personne d'autre à ce sujet, bien que d'autres personnes à qui j'ai parlé connaissent le même problème. – alexganose