Здравствуйте, SenorProgramador, Вы писали:
SP>Я был бы очень удивлен, если б мне кто-то хотя бы теоретически мог объяснить, как ГДИ может быть быстрее ДиректИкса.
Смотря в каких сценариях.
Например, высококачественный текст GDI рисует быстрее, бо в нём прямо в драйвере живёт довольно-таки сложный кеш битмапов-символов.
2D операции в GDI тоже очень шустрые, если не надо менять перед каждой операцией перо-кисть.
Работает в точности на уровне DirectX по скорости, когда тот рисует прямо в экранную поверхность.
А когда оба рисуют в скрытую поверхность, то оба рисуют намного быстрее и опять же примерно с одинаковой скоростью.

Почему double buffering и популярен в GDI — это банально быстрее.
А так-то оба, что DirectX, что GDI — это юзер-левельные обертки над низкоуровневым драйвером одной и той же картейки.
И с какой радости одна и та же картейка должна выдавать разную производительность при заливке, скажем, GDI GradientFill в аналогичной операции над коллекцией вершин в DX?
Там происходящее в точности идентично, разве что в случае Direct 3D надо было гнать на картейку больше данных, бо каждая вершина описывается в 3-хмерном пространстве, т.е. тупо z=0. И этот глупый 0 постоянно туда-сюда гонялся, пока не выпустили Direct2D в 2012-м году.
Ну и, дрова GDI еще с начала 2000-х были уже очень неплохи.
Лучших не существовало в природе.