[an error occurred while processing this directive]
Вывод графика в виндах - тормоза или гон
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
_Dark 25 мая 2006 г. 12:06
У меня программист пишет на Java вывод данных (результаты аналоговых измерений) с четырех разных каналов в четыре графика. Сэмплинг 1 кГц, 8 бит. Программер жалуется, что не хватает производительности, вывод тормозится. Он окунулся в OpenGL и проект встал. Поскольку я в экранной графике, мягко говоря, некомпетентен, хочется узнать - на самом деле такие проблемы бывают, или это просто гон? Кто-нибудь писал такие штуки? Структура программы такая - в памяти создается двумерный кольцевой буфер, в нем заполняется массив, затем по приходу каждого нового сэмпла передвигается указатель, перезаписывается старый столбец значений и данные из буфера копируются в область экрана. И так для всех четырех экранов. Я думаю, может быть, самому на CVI это дело сваять, но хотелось бы узнать вначале, вешают мне лапшу на уши или нет?
Составить ответ
|||
Конференция
|||
Архив
Ответы
Квалифицированным программистом на Delphi эта задача решается за 1 (один) день. (+) — AZ (25.05.2006 16:48 195.184.210.116 , 57 байт)
Для вывода графиков 4 каналов измерения OpenGL??? Что ж вы такое рисуете 4-х мерное? ;) — Dir (25.05.2006 15:45 217.20.177.41 , 653 байт)
вопрос: а Вы рассмотреть хоть что-то сможете при появлении в каждом графике 1000 новых точек в секунду??? — koyodza (25.05.2006 14:48 83.170.240.226 , 142 байт)
дык при чем тут ява?? каким образом он забирает данные? — XM (25.05.2006 13:32 81.1.197.126 , пустое )
Гнать в шею его. Ява для веба, тормозного по своей природе только подходит. MFC, рисовать в CDC в память. потом BitBlt. Под OpenGL тоже всё просто. Задать матрицу проектирования ортогональную и рисовать в 2D координатах легко. — LSD (25.05.2006 13:23 193.124.208.85 , пустое )
А слабо в directx создать 4 ДВУХМЕРНЫХ слоя и писать туда, переключаясь по надобности? такое за пару часов пишется — (25.05.2006 12:55 85.141.213.11 , пустое )
Ответ: Java 3D есть в версиях для DirectX и OpenGL, а если комп без видеокарты, то может программеру ее просто захотелось приобрести, зачем ему отказывать в маленькой радости...нефиг на жабников тут гнать, зато по времени разработки и дальнейшей поддержке это одна из самых дешевых технологий! — andrews (25.05.2006 12:42 195.131.123.42 , пустое )
В борланде вызов GdiSetBatchLimit(arg) ; arg большое увеличивает размер порога буфера, при достижении которого происходит отрисовка ... При arg=1 кэширования нет. — ++ (25.05.2006 12:37 80.92.98.25 , пустое , ссылка )
Это удобно делать посредством виртуального окна. + VC. И тогда наверно производительности XT хватит. ;) — -Tумблер- (25.05.2006 12:20 194.190.161.241 , пустое )
Надо заменить программиста на пишущего на C или на худой конец в дельфях. Тогда производительности хватит, и лишняя останется. — SM (25.05.2006 12:16 195.225.131.186 , пустое )
Какая машина, ось, канал передачи данных ... и почему на яве? — Ivax (25.05.2006 12:15 80.250.188.26 , 63 байт)
Хм. ни DirectX ни стандартная работа с DIB таких чудес не выдаёт, впрочем ,что вы хотите от виртуальной машины , производительность - то не та ? — Kenat (25.05.2006 12:13 83.237.241.38 , пустое )
Ключевая фраза:"У меня программист пишет на Java" — Russ (25.05.2006 12:12 217.150.45.49 , пустое )
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
E-mail:
info@telesys.ru