я беру над C код # от кого-то, кто реализованного приложение с рабочего стола, чтобы прочитать реальные данные о времени от последовательного порта и отображения его на графиках (используя Chart Класс).C# в режиме реального времени график настольное приложение слишком медленно
Код, похоже, работает, но очень медленно. Кажется, что обновление графика происходит примерно раз в 4 секунды (0,25 Гц). Тем не менее, я вижу, что он многопоточен и не имеет команд задержки, поэтому я не понимаю, почему он работает так медленно. Может ли обновление диаграмм замедлить его? В идеале я хотел бы достичь 1000 точек данных в секунду (1кГц), отображая его в реальное время и экономии его на жесткий диск, где размер каждой точки составляет около 30 байт.
Я провел несколько дней, понимая код, но это слишком громоздко, чтобы следовать, все написано в одном файле без комментариев. Является ли моя цель читать 1000 точек данных в секунду реалистично/достижимо?
Я также рассматривает возможность переписать код (в отличие от попытки исправить это), полагая, что это всего лишь около 2500 линии долго. Любые советы будут оценены. Кроме того, если я переписал код , какой язык может быть лучше для этого приложения?
Вы серьезно? 30Bytes * 1000data/sec с использованием последовательного порта? нет, не реально! вы можете переписать код, если хотите, но вы должны снова рассмотреть свои спецификации, можете ли вы рассказать мне, какова ваша скорость? – chouaib
Действительно ли это 30 кБ/с? В настоящее время скорость составляет 38400. Но она будет соответственно увеличена. Меня не так беспокоит аппаратное обеспечение. Интересно, может ли «обычный» компьютер (i7 3Ghz 8G ram) следить за отображением и сохранением графика в реальном времени. –
Это 30 000 байт/с, что составляет 240 000 бит в секунду. Самая высокая скорость передачи по сравнению с последовательным портом, который я видел, составляет 230 400 бит в секунду, что просто застенчиво от вашего требуемого сквозного прохода. –