Альтернатива для MoveTo и LineTo в Windows CE, MFC - PullRequest
0 голосов
/ 27 декабря 2010

Привет, я работаю над некоторыми функциями дисплея высокого разрешения, в которых нужно рисовать вертикальную линию, я использую Moveto () и lineTO (), но это занимает много времени ... Кто-нибудь может подсказать, что мы можем использовать вместо этого ... для оптимизации производительности ...

видите, что для того, чтобы нарисовать 100 вертикальных линий, требуется 84 мс времени, нам нужно уменьшить его до 5 мс.

Пожалуйста, отошлите мне любые другие варианты.

Спасибо

Мукеш

Ответы [ 4 ]

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

Я не думаю, что для рисования 100 линий нужно так много времени.Есть ли что-то еще, что вы не говорите нам.Вы рисуете прямо на экране DC?Вы пробовали рисовать в закадровый рисунок, а затем переходить к экрану?

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

Первым шагом, вероятно, будет попытка CDC::PolyPolyline. Это на далеко простейшая модификация, и может быть достаточно. Принятие следующего шага после этого, вероятно, будет намного более сложным. Очевидные возможности - это GDI +, OpenGL и DirectX Graphics. Я перечислил их в порядке возрастания сложности использования и вероятности того, что они дадут вам желаемое увеличение скорости.

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

Существует также функция Rectangle, которая может быть полезна вам, если эти вертикальные линии фактически образуют прямоугольники.

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

Я предлагаю вам использовать GDI +, который должен быть быстрее, ну, вы должны попробовать, если он действительно соответствует вашим потребностям: -)

Вот ссылка для интеграции GDI + с MFC: Использование GDI + сMFC или нативный C / C ++

...