2008-10-07 2 views
7

Мне нужно написать приложение типа цифрового осциллографа. Существует множество отличных статических графических элементов управления, но мне нужно что-то, что может отображать 16 трасс, обрабатывающих 4000 выборок в секунду.Высокоскоростной графический контроль для .NET (или MFC)?

Кто-нибудь знает о высокоскоростном графическом элементе управления для .NET? Я даже возьму MFC, так как это можно обернуть в элемент управления .NET.

Спасибо за помощь!

ответ

1

Вы просмотрели GraphViz? Я видел, что он используется в приложениях осциллографа, но я не уверен, что он будет обрабатывать скорость, которую вы ищете. GraphViz не берет «живой канал» инструкций, как некоторые элементы управления GDI +, которые я видел.

Есть .NET wrappersfor it.

5

Как насчет ZedGraph? Они упоминают в реальном времени приложений, в частности, здесь:

http://zedgraph.org/wiki/index.php?title=Display_Dynamic_or_Real-Time_Data

Они утверждают, что, по меньшей мере ~ 20 выборок в секунду.

При 4000 отсчетов в секунду я не думаю, что вы захотите построить все точки в реальном времени, так как вы собираетесь сделать это на всем протяжении экрана за 0,25 секунды ...

0

Графика rednereing (точки и линии на виджетах) довольно проста - вы можете сделать это с помощью raw Win32 a la Petzold.

1

Вы можете взглянуть на контроль QCRTGraph. Вы также можете посмотреть на это CodeGuru project.

Хотя, честно говоря, с вашими требованиями вам может быть лучше выполнять свою собственную реализацию на C++. С только 0,25 мс на образец, блокировка и обновление буфера любого стороннего элемента управления слишком дорого для вас.

2

DirectX Использовал привязки .NET (не уверен в текущей версии). Он включает поддержку высокопроизводительной 2D и 3D графики. Если что-либо в Windows может удовлетворить ваши требования, это будет DirectX.

+0

Вы правы. Я думал о DirectX по соображениям производительности.Я просто не хочу писать свой собственный контроль, если я могу использовать чужую реализацию. – Kevin 2008-10-07 19:40:40

1

Я бы порекомендовал решение National Instruments для .NET. National Instruments всегда занимала лидирующие позиции в области сбора данных и контроля приборов. У них есть библиотека для графиков/графиков в .NET, однако она является коммерческой.

+0

Я заставлю NI Measurement Studio. Я нарисовал 1000 точек в секунду с помощью контроля диаграммы NI Measurement Studio. Кроме того, этот тест проводился на ноутбуке с очень паршивой видеокартой. AFAIK, Measurement Studio использует OpenGL внутренне. – 2013-09-03 18:58:40

0

Вы можете взглянуть на Steema Teechart (http://www.steema.com/teechart/net). Я должен добавить, что у меня нет практического опыта с очень высокой скоростью обработки.

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