Je crée un jeu en java et en BufferedImages utilisé pour rendre le contenu à l'écran. J'ai eu des problèmes de performances sur les machines bas de gamme où le jeu est censé fonctionner, donc je suis passé à VolatileImage qui sont normalement plus rapides. Sauf qu'ils ralentissent réellement le tout.Java: VolatileImage plus lent que BufferedImage
Les images sont créées avec GraphicsConfiguration.createCompatibleVolatileImage (...) et sont dessinées à l'écran avec Graphics.drawImage(...) (voir le lien pour voir lequel). Ils sont dessinés sur un canevas en utilisant un double tampon.
Est-ce que quelqu'un a une idée de ce qui ne va pas ici?
J'ai remarqué la même chose. – Hardcoded
Si vous manquez de mémoire sur la carte graphique, cela ne vous aidera évidemment pas. IIRC, 'BufferedImage' a eu quelques accélérations, donc la différence pourrait ne pas être aussi grande qu'elle l'était autrefois. –
@Norswap: Je pense vraiment que trouver une réponse à ce problème consiste à trouver des jeux Java Open Source de premier ordre (il y en a sûrement) ou une grande démo Java (de la "scène de démonstration") et essayer de comprendre ils ont fait. J'avais l'habitude de programmer des jeux et des démos il y a longtemps sur du matériel * très * exotique (comme l'Amiga, le SNES, le mode 13x etc.) et je ne sais toujours pas comment "pousser les pixels" correctement en Java. C'est une fois de plus un domaine où Java a été "sur-édité" et inutilement compliqué. Je ne tiens pas mon souffle pour quelqu'un ici sur SO pour pouvoir vraiment vous aider. – SyntaxT3rr0r