Советы по оптимизации 2D-графики - PullRequest
2 голосов
/ 13 июля 2010

знаете ли вы какие-либо методы, позволяющие ускорить 2-мерные примитивы, такие как линии и круги?

Я разрабатываю приложение, позволяющее редактировать изображения, содержащие такие примитивы. их можно перемещать и выбирать так же, как значки на рабочем столе Windows (включая выбор группы по прямоугольнику). также подсвечиваются объекты, на которых находится курсор.

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

я знаю, что:

  1. изменение GDI + на D3D может значительно ускорить отображение
  2. пакостные строки позволяют ограничить обновления только теми прямоугольниками, которые были изменены. (главный недостаток заключается в том, что прямоугольники, содержащие линии, могут быть такими же большими, как область отображения)
  3. Техника xor позволяет очистить примитив, нарисовав его во второй раз. (недостаток в том, что он кажется бесполезным для многоцветных изображений и примитивов с общими точками)

спасибо за полезные советы и ссылки.

1 Ответ

3 голосов
/ 13 июля 2010
...