Ich kann dir nur so viel sagen, dass Mixen im Sinne von: "mal ein paar Zeichenoperationen per
OpenGL/
DirectX und zwischendurch ein Paar mit
GDI+" nicht funktioniert. Was allerdings geht: Grafik per
GDI+ laden, in Bitmap konvertieren und Dieses dann als
OpenGL bzw.
DirectX Textur verwenden.
Was mir auffällt ist, dass du bei jedem Zeichenvorgang zuerst einen temporäre
DC und eine DIB Section erstellst. Kannst du nicht einfach direkt auf das Target
DC zeichnen?
Ansonsten lass vielleicht mal einen
Profiler laufen, während die Animation aktiv ist. Dann solltest du recht genau sehen, welche Aufrufe die meiste CPU Zeit verbraten.