http://spazzarama.com/2009/02/07/screencapture-with-direct3d/
http://stackoverflow.com/questions/5069104/fastest-method-of-screen-capturing
also that one guy’s “instrumenting” library.
http://stackoverflow.com/questions/5069104/fastest-method-of-screen-capturing [stretchrect, also memcpy link…
http://stackoverflow.com/questions/4120108/how-to-save-backbuffer-to-file-in-directx-10/4286971#4286971 dx10
reduce tearing:
http://stackoverflow.com/questions/5069104/fastest-method-of-screen-capturing#comment5731067_5069104 that way? the BltTest way?
http://stackoverflow.com/questions/5069104/fastest-method-of-screen-capturing?
close something after the bitblt?
gdiflush? before bitblt?
after bitblt/stretchblt
vsync?
other demos of bitblt “out there” …
dibsect faster?
http://stackoverflow.com/a/7596308/32453 mentions raw bits
http://lists.trolltech.com/qt-interest/2004-09/thread00520-0.html hmm…describes gdiflush and it may not be necessary? and the stalling? huh?
also mentions speed clue: “one some hardare bitblt’ing in video is fast…”
http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/7739f5f3-9fc7-40aa-9223-a83826d72b03 mentions “in memory dc good/bad” meh speed
http://www.gamedev.net/topic/403833-getdibits-fails-when-using-bitmap-from-bitblt/ dibsection for speed (also gdiflush), memcpy
GetBitmapBits is like memcpy…
I *think* another memcpy: https://bitbucket.org/afriza/wince-screencapture/src/c208b8fa263e/DIBSectionLite.cpp
http://www.xtremevbtalk.com/archive/index.php/t-265119.html mentions shearing, says there’s no answer
http://www.autohotkey.com/community/viewtopic.php?t=78703 has some delete’s in there…
http://www.mail-archive.com/realbasic-nug@lists.realsoftware.com/msg27760.html same problem “Bitblt causes apps to flicker”
used Spy++ to see where/when the repaint messages are being
http://stackoverflow.com/questions/6915510/how-to-eliminate-screen-flicker-when-getting-handle-of-screen-object-to-drawfocu getcursorpos/mouse causing it?
http://kb.realvnc.com/questions/43/My+cursor+appears+to+blink%7B47%7Dflicker+on+the+server%27s+physical+display. “just capture from this offscreen display” (also…how does WME do it with the mouse and transparent windows nicely? huh?)
http://us.generation-nt.com/xp-bitblt-captureblt-option-help-26970632.html “disable the cursor”?
http://discuss.fogcreek.com/joelonsoftware2/default.asp?cmd=show&ixPost=41710 ” CAPTUREBLT instead of SRCCOPY”
“NOMIRRORBITMAP” http://msdn.microsoft.com/en-us/library/dd162979(v=vs.85).aspx hmm
also call SetLayout before BitBlt for speed possibly?
LAYOUT_BITMAPORIENTATIONPRESERVED
Try to check how VNC does it if you disable the mirror driver.
Ask other people: how do they avoid this? camstudio, uscreen
http://www.tomshardware.com/forum/131420-33-vertical-sync-windows “graphics acceleration slider”
ask msdn, stackoverflow