GDI + не COM. GDI + имеет базовый «плоский» API, который можно вызывать из C (или любого другого языка, следовательно), и объектно-ориентированную оболочку в C ++, которая просто вызывает плоский API. В .NET (System.Drawing) и Delphi также есть обёртки, которые также просто вызывают плоский API. Он полностью отличается от GDI тем, что вы не устанавливаете объекты (ручки, кисти, шрифты) в контекст устройства, а скорее передаете их функциям рисования. Это не имеет ничего общего с GDI. Однако я не знаю, использует ли реализация GDI + GDI, но, скорее всего, нет, потому что в нем так много функций, которые просто не доступны в GDI.
К сожалению, это медленнее, чем GDI. Это очень мощный, хотя.
Как указывал decasteljau, проблемы с производительностью могут быть связаны с тем, что он не отображается аппаратно, в отличие от OpenVG или WPF. Я недавно использовал XNA из-за этого для графического приложения реального времени.