vc ++ графическая производительность - PullRequest
1 голос
/ 04 сентября 2011

Я хочу построить объект для рисования графика в реальном времени, но у меня есть ограничения по производительности. Размер графика статичен.

При перерисовке графика я могу перерисовать все необходимые линии.У меня есть другой способ, который сохраняет график в битовой памяти и каждый раз копирует его на экран, какой путь лучше?что быстрее копировать растровое изображение или рисовать линии?

1 Ответ

1 голос
/ 05 сентября 2011

Я думаю, это зависит от того, что вы пытаетесь отобразить.Отображение нескольких строк не должно вызывать проблем с производительностью (если все сделано хорошо), но выполнение чего-либо более интенсивного с графикой может быть более проблематичным.

Это также зависит от того, что вы используете для рисования.GDI легкий, но медленный;GDI + также прост, может быть красивее (сглаживание и т. Д.), Но также довольно медленным (или раньше, когда я его пробовал);OpenGL быстр, но немного сложнее.

Так что это вопрос без простого ответа, не зная всех деталей ваших потребностей.Я думаю, что я бы рисовал напрямую, и если это не достаточно быстро, то проверьте другие вариантыВ любом случае вам, вероятно, понадобится система двойной буферизации, чтобы избежать мерцания (отметьте http://www.codeproject.com/KB/GDI/flickerfree.aspx)

. Вы можете взглянуть на http://www.codeproject.com/KB/miscctrl/High-speedCharting.aspx.. Это элемент управления графиком, который выглядит довольно быстрым.

...