![]() Hr = Device->CreateOffscreenPlainSurface(DisplayMde.Width, hr = pDirect3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT,&d3ddisplaymode) HRESULT hr = Device->GetRenderTarget(0, &pRenderTarget) I can't recall where I found this, but it has been modified, thanks to whoever! void dump_buffer() This is what I use to collect single frames, but if you modify this and keep the two targets open all the time then you could "stream" it to disk using a static counter for the file name. From what I understand, this is faster than reading from the front buffer, because you are reading from system RAM, rather than video RAM. It hooks the underlying graphics API to read from the back buffer. Could someone give me an in-depth explanation on how it works, and why it is faster? I may also need guidance on implementing something like that, but I'm sure there is existing documentation anyway.Īlso, I now know how FRAPS records the screen. Could anyone fill in the missing blanks for me?Įdit: I read that screencasting programs such as Camtasia use their own capture driver. It mentions in the Conclusion that disabling hardware acceleration could drastically improve the performance of the capture application. ![]() It has introduced me to the Windows Media API way of doing it and the DirectX way of doing it. ![]() Knowledge isn't bad, after all.Įdit: I came across this article: Various methods for capturing the screen. The screencasting program will be for recording game footage, although, if this does narrow down the options, I'm still open for any other suggestions that fall out of this scope. The only method I'm aware of is to use GDI, but I'm curious whether there are other ways to go about this, and, if there are, which incurs the least overhead? Speed is a priority. I want to write a screencasting program for the Windows platform, but am unsure of how to capture the screen.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |