Ja gerade deshalb um die CPU zu schonen.
Ob ich nun den Viewport 512x384 also gestretcht auf die weite von 1920x1200 render
oder einen im format 1:1 macht schon einen riesen unterschied.
Das gestretche Format wird dann natürlich auch in OGL übernommen.
Das ist bedingt durch die Plugins selbst weil diese eigentlich für ein Bildformat von 512x512 ausgelegt sind.
Die Leute wollen aber VollBild.
Ja aber StretchBlt wird doch auf der CPU ausgeführt! Also so bringt das einfach gar nichts; dein Ziel, die CPU zu entlasten, verfehlst du komplett.
Wenn dann müsstest du dir das StretchBlt schon sparen, dann würdest du wenigstens das Skalieren von der CPU auf die GPU verlagern. Aber selbst dann würde ich noch bezweifeln, dass das den Overhead von
OpenGL rechtfertigt, denn: Die Bitmap-Daten werden, bevor sie an die GPU gelangen, mehrfach im Speicher herumkopiert, und dann müssen sie auch noch über den PCI-Port wandern, der ein berüchtigter Flaschenhals ist.
Faustregel: Generell ist es immer extrem langsam, irgendwas von der CPU auf die GPU zu transferieren oder umgekehrt.
Ich würde mit dir wetten, dass, wenn du
OpenGL komplett rausschmeißt, du ein schnelleres Programm kriegst. Oder zumindest eines, das leichter zu warten ist und gleich schnell ist.
Und
danach könntest du vielleicht über Multithreading nachdenken. Aber auch Multithreading ist, ebenso wie
OpenGL, kein
Silver Bullet.