Java прокрутка текста на холсте - PullRequest
2 голосов
/ 25 августа 2011

Я делаю приложение, в котором мне нужно прокрутить некоторый текст на java.awt.Canvas - сейчас я делаю это, постоянно вызывая метод repaint() и переопределяя paint() метод в Canvas для регулировки позиции при каждом вызове метода, а затем нарисуйте строку в заданной позиции.

Это работает, но это действительно съедает через процессор что-то глупое для чего-то такого простого. Есть ли лучший аппаратно-ускоренный способ решения задачи? Я пытался использовать VolatileImage, но по какой-то причине производительность заметно ухудшилась.

Мне нужно использовать Canvas, а не JPanel - я использую VLCJ в том же проекте, и ему нужен тяжелый компонент для воспроизведения видео.

1 Ответ

3 голосов
/ 25 августа 2011

В этом контексте вы можете использовать Двойное буферирование и перелистывание страниц .

Добавление: вы можете посмотреть на предварительный рендеринг полного текста в совместимую с глубиной BuffreredImage; drawImage() делает лучше, не масштабируя и не меняя глубины.

...