|
|
#1 | |
|
Registered User
Join Date: Oct 2007
Posts: 2
|
Hi all,
I have some questions, in a software i want to take a lot of screenshot (10 / seconds or more). The frame will be saved in RAM and updated at each screenshot in my software. The problem is when I take a screenshot with X functions, all others X events are waiting (due to X event stack I think) , and I don't want that. So to optimize the screen capture, I tried to use the Framebuffer with using the vesa driver. I modified it for using a screen size of 3200x1200 in 24 bits (2 screens in 1600x1200 in twin view). I boot on the vesa driver then I use the Nvidia Driver on Xorg. Each screenshot taken in the Framebuffer are acceptable, but it takes 2,3 seconds per frame. It's too long. (Due to streaming from X to the framebuffer in writing, so it's hard to have time to read in it). I want to know if you can tell me where I can find the frame of the screen in the memory before writing it on the video card. i.e. where I can find it in the Nvidia drivers source, or if you have a best way to do what I want. If someone can tell me where I can find lot of informations on how Nvidia works on X system. Thank you Fros. |
|
|
|
|
|
|
#2 | |
|
Registered User
Join Date: Jan 2006
Posts: 193
|
Checked here mate?
http://nouveau.freedesktop.org/wiki/#Docs |
|
|
|
|
|
|
#3 |
|
Registered User
Join Date: May 2006
Posts: 477
|
You want to capture your entire desktop as a movie? There's quite a few different programs that do this for you. Check out xvidcap for one example.
|
|
|
|
|
|
#4 | |
|
Join Date: Jul 2002
Location: Netherlands, Europe
Posts: 2,105
|
What do you all want to capture? It really depends on that if you have control of the software then something useful are OpenGL pixel buffer objects. When you use those traditional gl calls like glReadPixels can be used for asynchronous purposes. The calls directly return instead of waiting for the call to finish. Further such a copy uses DMA.
|
|
|
|
|
|
|
#5 |
|
NVIDIA Corporation
Join Date: Mar 2005
Posts: 2,487
|
Unless you use XGrabServer, there's no good way of reading the screen without the possibility of it changing while you're reading it.
|
|
|
|
|
|
#6 | |
|
Registered User
Join Date: Oct 2007
Posts: 2
|
Thank you all for your answers.
It's for capturing a the whole screen every second. I need to save this screen in a buffer and then passing it to a mpeg encoder. It's not a problem for me if pixels change when i'm reading it. Quote:
An other way is to take a picture at the beginning of the program and then only refresh my buffer with pixels that changed (same as VNC). I need to explore this way (functions, etc). |
|
|
|
|
|
|
#7 |
|
Join Date: Jul 2002
Location: Netherlands, Europe
Posts: 2,105
|
I have no idea how specific your app should be but it might be a possibility to write a simple compositing manager using opengl. There are examples for it. You will have all frames in opengl then and then you can download it using lets say those PBOs I mentioned. X isn't really designed for your purpose I guess something like this is what you should do.
|
|
|
|
![]() |
| Thread Tools | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| nvidia driver quality decrease? | legluondunet | NVIDIA Linux | 17 | 06-26-12 10:03 AM |
| NVIDIA Driver Installation | flores.facundo | NVIDIA Linux | 2 | 06-24-12 08:37 AM |
| Need Help Installing NVIDIA Tesla M2070Q in Linux RHEL5 | Ferianto85 | NVIDIA Linux | 0 | 05-18-12 08:35 PM |
| Getting the proprietary nvidia driver to run with Debian 3.0 r0 (woody) | Katchina404 | NVIDIA Linux | 9 | 01-12-03 08:49 AM |
| nvidia + 2.4.19 gentoo = messed up | ulukay | NVIDIA Linux | 18 | 11-01-02 11:58 PM |