Я делаю игру в java и использую BufferedImages для отображения содержимого на экран. У меня были проблемы с производительностью на низкоскоростных машинах, где игра должна была запускаться, поэтому я переключился на VolatileImage, который, как правило, быстрее. За исключением того, что они фактически замедляют все это.Java: VolatileImage медленнее, чем BufferedImage
Изображения создаются с помощью GraphicsConfiguration.createCompatibleVolatileImage (...) и нарисованы на экране с помощью Graphics.drawImage(...) (перейдите по ссылке, чтобы узнать, какой именно). Они нарисованы на холсте, используя двойную буферизацию.
У кого-то есть представление о том, что здесь происходит не так?
Я заметил то же самое. – Hardcoded
Если на графической карте хватает памяти, это явно не поможет. IIRC, «BufferedImage» имеет некоторые ускорения, поэтому разница может быть не такой большой, как когда-то была. –
@Norswap: Я действительно думаю, что найти отличный ответ на это состоит в том, чтобы найти первоклассные Java-игры с открытым исходным кодом (конечно же есть некоторые) или отличную отличную демонстрацию Java (из «демонстрационной сцены») и попытаться понять, что они сделали. Я давно использовал программные игры и демоверсии * очень * экзотического оборудования (например, Amiga, SNES, режим 13x и т. Д.), И я до сих пор не знаю, как правильно «нажимать пиксели» на Java. Это еще один домен, где Java «перегружена» и излишне сложна. Я не задерживаю дыхание для кого-то здесь, на SO, чтобы действительно помочь вам. – SyntaxT3rr0r