Я пишу программу на C ++, которая получает данные четырехмерных точек через сокет UDP, а затем отображает данные в 6 отдельных точечных точечных диаграммах.Например, если мы назовем размеры: A, B, C, D, шесть 2D-графиков будут AxB, AxC, AxD, BxC, BxD и CxD.В течение нескольких часов программа набирает ~ 50 тыс. Баллов.
В настоящее время я строю каждую точку один раз, используя непосредственный режим.Я не очищаю буфер между вызовами отрисовки, поэтому ранее нанесенные точки сохраняются до тех пор, пока буфер не будет очищен.Я не доволен этим методом, так как немедленный режим медленный и не рекомендуется.Когда мне нужно очистить буфер, например, когда окно изменяет размеры, я теряю все ранее построенные данные.Я хотел бы предложить решение, которое позволяет сохранять данные после очистки буфера.Кроме того, было бы неплохо, если бы график можно было легко масштабировать с изменением размеров окна.
Я думал о поддержании массива вершин (с 2 измерениями) для каждой системы координат, но для этого потребовалось бы 6 отдельныхмассивы и требуют в 3 раза больше памяти для поддержки массива со всеми 4 измерениями.
Правильно ли я думаю об этом?Как правильно решить эту проблему?
Конечная цель - создать приложение, отображающее данные как можно ближе к реальному времени.
Редактировать БудетМожно ли продолжать рисовать точки по очереди, когда они появляются, и когда мне нужно изменить размер экрана, возьмите изображение с экрана и затем отобразите версию этого изображения с измененным размером?