Re[41]: Еще
От: c-smile Канада http://terrainformatica.com
Дата: 19.06.17 01:32
Оценка:
Здравствуйте, alex_public, Вы писали:

CS>>Т.е. DrawLine(hdc, ...) это банальный Брезенхем исполняемый CPU и изменяющий RAM. Т.е. этот механизм есть O(N) где N это количество пикселей на экране. Т.е. sucks on high-dpi monitors.

CS>>В Direct2D, DirectX, OpenGL же DrawLine() это (условно) посылка quad (четырех координат) на GPU для отрисовки его процессорами (shaders, etc).
CS>>Т.е. этот механизм для CPU есть O(1) complex — на зависит от размера экрана.

_>С Direct2D я не знаком на практике, но если говорить о рисование через шейдеры, то там вывод линии тоже является далеко не тривиальной операцией типа вызова функции LineTo. )))


Для нарисовать линию нужно послать команду DrawQuad(p1,p2,p3,p4) и GPU её отобразит. Как — это другой вопрос, главное что для CPU эта инструкция O(1) complex — не зависит от DPI (плотности и кол-ва пикселей).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.