Лучший способ обработки для отображения графики на специально построенном удаленном дисплее? - PullRequest
5 голосов
/ 01 июня 2011

Цель состоит в том, чтобы использовать Обработка в качестве среды сценариев для создания графики и отображения вывода на пользовательском устройстве отображения, которое похоже на светодиодную панель.Сервер, на котором запущена программа, будет установлен в стойку размером 1U.Идея заключается в том, что все светодиодные элементы - это нестандартное оборудование, но вместо того, чтобы изобретать велосипед, было бы лучше использовать существующий стек для управления дисплеем.Проблема в том, что ява отображается на этом устройстве.

Мои первые мысли: 1. Запустите Java в режиме без головы.2. Используйте Xvbf в качестве кадрового буфера.3. Запустите программу, которая читает кадровый буфер, распаковывает его, а затем отображает на удаленном устройстве со скоростью 30 кадров в секунду.4. Используйте сценарии обработки для создания графики.

Имеет ли это смысл?Есть ли способ лучше?Я не очень разбираюсь в этой области, но это кажется лучше, чем пытаться создать новый java.awt.

Ответы [ 3 ]

1 голос
/ 02 июня 2011

Я обычно использую JFreeChart в режиме без головы с VNC для генерации диаграмм в сервлетах с использованием ChartUtilities. Кажется, вы можете просто загрузить изображения в рамку через USB.

1 голос
/ 03 июня 2011

Другой предложенный вариант - использовать createGraphics () из Processing и записать результат в файл. Я не знаю о компромиссах этого варианта. Он не поддерживает OPENGL. И я обеспокоен тем, что запись будет синхронной операцией, поэтому во время записи вычисления не будут выполняться, что затруднит получение высокой частоты кадров, как мне кажется.

1 голос
/ 02 июня 2011

Если «удаленное устройство» - это просто что-то, напрямую подключенное через USB или какой-либо контроллер PCI, это звучит нормально (и именно для этого и создан xvfb). Но если удаленное устройство подключено через Ethernet или Wi-Fi, в зависимости от его разрешения, вы можете найти наивный подход для копирования всех данных, каждый кадр требует слишком большой полосы пропускания, и, прежде чем вы это узнаете, вы будете использовать свое собственное изображение с разным кадром. сжатия. Если вы поймете, что идете по этому пути, посмотрите на класс программного обеспечения VNC / TightVNC , который (по крайней мере в том виде, в котором он обычно используется на серверах без головы) предоставляет Xvfb-подобный виртуальный кадровый буфер / X-сервер, доступный по протоколу TCP / IP, который может достаточно эффективно передавать контент, используя сжатие, и отображать его с помощью клиентского программного обеспечения VNC.

...