2013-12-18 3 views
1

Мне нужен совет, я разрабатываю приложение для окулиста, это очень просто, но я не знаю, какой метод рисования 2d я должен использовать. Приложение будет в java, и в основном все, что он делает, - это рисование черно-белых баров, движущихся очень быстро слева направо от экрана. Бар должен быть очень тонким (что-то в миллиметрах) и очень быстро (он должен идти от одной стороны к другой на экране примерно в 1 с). Я попытался сделать это с помощью базовой 2D-графической библиотеки в java, и она не работает очень хорошо (разрывание изображения), вы думаете, что делать это с помощью OpenGL может быть решением?Максимальная скорость 2D 2D-графики

Заранее благодарим за каждый совет.

ответ

0

Разрыв вызван отсутствием вертикальной синхронизации, вы можете улучшить качество анимации с помощью двойной буферизации с использованием java или OpenGL, тогда как OpenGL, который в целом намного быстрее, имеет расширения для явного управления VSYNC, которые могут быть доступны на систему такеток (например, WGL_EXT_swap_control на Windows). Кроме того, могут использоваться эксклюзивные (полноэкранные) режимы. Выбирайте OpenGL, если полученные изображения станут более дорогими в будущем (возможно, также и для более быстрого сглаживания).

Чтобы противостоять размытию, изменения в программное обеспечение не поможет, так как это в основном связано с возможностями мониторов (скорость изменения цвета пикселей, как серый к серому , от черного до белого и от белого до черного, ...). Не забудьте использовать быстрые цифровые видеосоединения, такие как DVI, HDMI, DP, и если важна общая задержка, дисплей без встроенного масштабирования.

+0

Я уже был в полноэкранном режиме. Проблема заключается в том, что независимо от того, насколько быстро они действительно идут, мои глаза видят их медленнее. Что вы подразумеваете под интегрированным масштабированием? – user3115197

+1

Обратите внимание, что использование OpenGL и использование Java не является бинарным отношением, если вы хотите, чтобы возможности Java с возможностью OpenGL использовали один из многих API Java для OpenGL (например, JOGL). Конечно, используя API за пределами его родной язык - это воздействие на производительность, но часто такое воздействие можно смягчить с некоторой предусмотрительностью. –

+0

@ user3115197: Встроенный сканер может масштабировать/устанавливать определенные несоответствующие входные разрешения на собственное разрешение дисплея. Даже если масштабирование не требуется, эта немедленная обработка может по-прежнему потреблять значительное количество времени, увеличивая общую задержку (входное отставание). - Как раз упомянуть, частота обновления также является важным фактором. – Sam

Смежные вопросы