Hoto hat geschrieben:
Also mit der Desktop Duplication API? Für PB? Wenn ja hätte ich da natürlich Interesse daran. ^^
Vorerst nur mit DirectX9

Damit bekomme ich relativ konstante ~ 30 FPS (gerendert!).
Mit Threads sollte das natürlich nochmal schneller sein.
Um die Duplication API auszuprobieren brauche ich mehr Zeit.
Auch wenn Microsoft sagt GetFrontBufferData() sei langsam - scheint es immer noch besser als GDI zu sein.
So sieht der Code zum Capturen aus, mit DirectX9 ist das noch recht simple:
Code:
Procedure.i Frame()
If *Device\GetFrontBufferData(#Null,Target\Surface) = #D3D_OK
If Target\Surface\LockRect(@Target\Locked,#Null,#D3DLOCK_NOSYSLOCK|#D3DLOCK_READONLY|#D3DLOCK_DONOTWAIT) = #D3D_OK
Target\Surface\UnlockRect()
ProcedureReturn Target\Locked\pBits
EndIf
EndIf
EndProcedure
DirectDraw (DirectX7) wäre evtl. auch noch eine Möglichkeit.
Könnte sogar noch schneller sein.