Самый быстрый способ нарисовать статическое изображение в Java
-
25-09-2019 - |
Вопрос
Я в процессе написания пользовательского генератора тепломапа. Мне интересно, какой самый быстрый способ рисовать коробки (до 1 миллиона) в Java. Большинство вопросов, которые я нашел, сосредоточены на динамических изображениях (например, в играх), и мне интересно, есть ли лучший способ пойти на статические изображения. Я пробовал использовать Swing (через GridLayout и добавление цветного холста в каждую коробку), рисуя непосредственно на панели с помощью Graphics2D, а также с помощью библиотек обработки. При обработке довольно быстро и генерирует чистое изображение, окно, кажется, имеет проблемы, сохраняя его; Он генерирует разные части изображения, когда вы минимизируете, переместите окна и т. Д.
Я слышал о OpenGL, но я никогда не затронул его, и я хотел, чтобы некоторые отзывы были ли это (или что-то еще), был бы лучшим подходом перед инвестицией в нее время.
Решение
Для статических изображений я рисую их в буфердовидном режиме (BI), а затем нарисуйте, что через Graphics2D. Я держу логию, который говорит мне, носит ли BI на сегодняшний день. Таким образом, я только влюбился на дорогую стоимость живописи однажды. Если вы хотите получить причудливые, вы можете масштабировать BI для обработки незначительных размеров. Для серьезного размера вы, вероятно, захотите перекрасить Bi так, чтобы не вводить артефакты. Это также полезно для наложенного данных (таких как Cross Hair, значение под курсором и т. Д.), КАК ВЫРАЩАЯЙТЕЖНЫЕ БИ БИ И ДАННЫЕ.