Рисование 30fps диаграммы в Windows Forms - PullRequest
2 голосов
/ 01 декабря 2009

Я хотел бы нарисовать график / диаграмму с высокой частотой кадров (30 к / с +) в приложении Windows Forms.

Как?

Windows Forms получает УЖАСНЫЕ частоты кадров, рисуя фоновый рисунок поверх окна.

(Я из страны GNU, поэтому прошу прощения, если это очевидно.)

Ответы [ 2 ]

4 голосов
/ 01 декабря 2009

Если вы используете Windows Forms (как сказано в вашем вопросе):

Если вам нужно получить> 30FPS, вам, вероятно, придется перейти на другую технологию. Рисование GDI + не слишком эффективно.

DirectX будет хорошо работать для этого. Вы можете создавать графики в Direct3D, используя DirectX, встроенный в окно. SlimDX - хороший способ сделать это из C #.

При этом вы пометили это с помощью WPF - если вы используете WPF, все в графическом режиме с сохранением, поэтому не требуется "рисование на чистом фоне". Вы просто добавили бы элементы диаграммы по мере необходимости. В этом случае 30FPS должен быть выполнимым.

0 голосов
/ 21 декабря 2010

Запустив полный наклон, я получаю около 180FPS, используя System :: Windows :: Forms :: DataVisualization :: Charting :: Chart, отображающий 128 бинов FFT с использованием стиля FastLine для серии данных. Это работает на Intel Core 2 Duo (2,53 ГГц) IBM Thinkpad.

...