Здравствуйте, 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 (плотности и кол-ва пикселей).