Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#7

AW: Ausschließlich GPU verwenden

  Alt 3. Sep 2013, 02:01
Dann wird der Flaschenhals wohl wirklich (vermutlich) in dem Erzeugen des Inhaltes des VisInfo^.VisBuf liegen. Alles was da passiert ist ja noch konventionelle GDI nehme ich an. Das bloße Ändern des Weges zum Framebuffer alleine wird da minimal an CPU Zeit sparen. Kommst du mit deinen FPS ans VSync ran, oder liegst du darunter? Wenn drunter, dann nudelt die Bilderzeugung höchstwahrscheinlich zu langsam und braucht definitiv Magnituden länger als sowohl das BitBlt als auch ein OGL Quad.

Alles das was zur Erzeugung des Inhaltes von VisBuf passiert einfach so auf die GPU auszulagern geht nicht. GPUs arbeiten völlig anders als herkömmliche CPUs und verstehen kein x86 oder x64 Code. Das müsste man in Handarbeit in Shader oder OpenCL portieren, und höchstwahrscheinlich auch stark umstrukturieren, da man sonst aus der Parallelität von GPUs keinen Nutzen ziehen kann. (Und ohne das sind die auch nicht schneller als eine CPU - im Gegenteil.)

Einfach zur Ausgabe das Bild auf ein Quad werfen bringt im Vergleich zu einem BitBlt verschwindend wenig. Beides sind sehr flotte Operationen, und werden durch die Bilderzeugung sehr wahrscheinlich zum Zwerg im Gesamtvorgang. Je nach dem was du da so alles malst natürlich.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat