Рисование изображения на Java, медленное, как ад, на нетбуке - PullRequest
4 голосов
/ 30 апреля 2010

В продолжение моих предыдущих вопросов (особенно этого: Java: VolatileImage медленнее, чем BufferedImage ), я заметил, что просто рисуем изображение (не важно, буферизовано оно или изменчиво, так как у компьютера нет ускоренной памяти *, и тесты показывают, что он ничего не меняет), как правило, очень долго.

(*) System.out.println(GraphicsEnvironment.getLocalGraphicsEnvironment()
.getDefaultScreenDevice().getAvailableAcceleratedMemory()); --> 0

Как долго? Для изображения 500x400 около 0,04 секунды. Это только рисование изображения в буферном буфере (получено через буферную стратегию).

Теперь, учитывая, что на этом нетбуке работает world of warcraft (хотя он довольно медленный) и что онлайн-java-игры, похоже, не имеют никаких проблем, это вызывает некоторые мысли.

Я совершенно уверен, что не пропустил что-то очевидное, я много искал в Интернете, но ничего не поделаешь. Так кто-нибудь из вас знает, что за непонятная проблема может быть причиной (или, может быть, это нормально, хотя я в этом сомневаюсь)?

PS: Когда я писал это, я понял, что это может быть связано с моей установкой Linux (archlinux), потому что у меня правильный драйвер Intel. Но мой компьютер обычно имеет «Интегрированный Intel Graphics Media Accelerator 950», что означает, что он должен как-то ускорить видеопамять. Есть идеи об этой стороне вещей?

Ответы [ 2 ]

2 голосов
/ 04 марта 2012

Я также использую Arch Linux и заметил, что мои игры иногда идут медленно, особенно при использовании альфа-пленки с моими изображениями. Оказывается, что даже Windows, а не только Linux иногда отключает аппаратное ускорение по умолчанию.

Я искал решение проблемы и нашел это: http://web.archive.org/web/20120926022918/http://www.systemparadox.co.uk/node/29

Включение OpenGL значительно ускорило мою частоту кадров, и я полагаю, что если вы снова запустите свои тесты, вы получите более быстрое рисование.

1 голос
/ 30 апреля 2010

Я не очень разбираюсь в java-графике, но если бы я был на вашем месте, я бы предположил, что измерение ничего не значит без значения сравнения, которое звучит так, как если бы вы имели, но не делитесь.Добавьте эту информацию к вашему вопросу вместе со спецификациями системы сравнения (это настольный компьютер? Есть ли у него выделенная видеокарта? Работает ли на нем Windows или Linux?).


Относительно ваших измеренийчто на другом нетбуке он работает в 10 раз быстрее, на другом ноутбуке работает Windows или на Linux?У Linux исторически были очень посредственные графические драйверы - они просто не работают так же хорошо, как аналоги Windows.Фактически, долгое время единственные драйверы, которые вы могли получить, были написаны не ATI / nVidia / etc., А скорее любителями.Меня совсем не удивило бы, если бы машина Linux запускала графическую программу в десять раз медленнее, чем аналогичная машина с Windows.

Это была ситуация, как я понял это около пяти лет назад.Я сомневаюсь, что это сильно изменилось.

...