MaartenBaert / ssr

SimpleScreenRecorder, a screen recorder for Linux
http://www.maartenbaert.be/simplescreenrecorder/
GNU General Public License v3.0
2.59k stars 290 forks source link

Still issues above 1080p #396

Open lewisthoma5 opened 9 years ago

lewisthoma5 commented 9 years ago

When moving around without moving the mouse it is fine and there are no "jumps" in the video but when using the mouse it can be clearly seen. I have shown both this issues in this little video(https://www.youtube.com/watch?v=jrCyLG0g0es&feature=youtu.be). There also seems to be a lot of screen tearing which does not appear when playing the game.

Thanks for reading

Brottweiler commented 9 years ago

Your video is removed.

lewisthoma5 commented 9 years ago

Oh I will re upload it then.

lewisthoma5 commented 9 years ago

https://www.youtube.com/watch?v=ked_uGTwyS8&feature=em-upload_owner

Brottweiler commented 9 years ago

You are recording at very low framerate, and I assume you don't use OpenGL injection recording.

If you use the same options but record with 1080p or lower, what is the difference? Record a video of that too?

Just trying to get more information so the dev can help you better. :stuck_out_tongue:

lewisthoma5 commented 9 years ago

I do not use the open gl injection but I will try at 1080p.

lewisthoma5 commented 9 years ago

https://www.youtube.com/watch?v=Uv2-lZU9W3U&feature=youtu.be

MaartenBaert commented 9 years ago

This isn't exactly surprising, 4k requires 4 times more processing than 1080p, so you need a really fast CPU to do this. What CPU and GPU are you using? Is this a desktop or a laptop? Also, what are the codec settings in SSR?

lewisthoma5 commented 9 years ago

I7 4770 gtx980ti Desktop and the codec settings are other libx264 preset=ultrafast,crf=20,keyint=1

The strange thing is I changed the bit rate and it did not seem to make much of a difference(frame wise), I tried scaling options as well as trying other encoder settings. I haven’t touched the open gl settings.

MaartenBaert commented 9 years ago

Once you use CRF, bitrate has no effect anymore. Do you know what the CPU usage is during the recording? Are all cores running at 100%?

I suspect that the bottleneck is the PCI express bus at this point. For some reason the bandwidth that's necessary for recording is much larger than the raw size of the video frames, and I don't really know why. The Bumblebee project has the same problem. At high resolutions, this can saturate the PCI express bus which is already heavily used by the game itself.

I assume that you are using the proprietary NVIDIA driver. Try opening the NVIDIA settings and select your graphics card (the tab that says "GPU 0 - (GeForce GTX ****)"). It should tell you the GPU usage and also the PCIe bandwidth usage. Are any of these close to 100% during the recording?

lewisthoma5 commented 9 years ago

http://i64.photobucket.com/albums/h173/tlewis334/Does%20this%20hrlp_zpsolfyghbz.png

Found that while checking the pci settings

none went to 100 the closet was 94% gpu usage I think.

lewisthoma5 commented 9 years ago

https://www.youtube.com/watch?v=UrqZ_wlczPc&feature=youtu.be

For usage values

lewisthoma5 commented 9 years ago

Looking at the video the hard drive cant keep up.

MaartenBaert commented 9 years ago

It doesn't look like that. 70Mbps is about 10 MB/s, which is well within the capabilities of even the slowest hard disk. You didn't show the CPU usage though, that might still be a factor.

I can see that the GPU is at its limit, but that could also be because the game is running without any real frame rate limiting. Try enabling this if possible, it's possible that the game is using so much resources that SSR doesn't get enough time to capture the screen.

What FPS does SSR get if you try to record your desktop without running any game?

OpenGL recording may help, but depending on the game it could also be even slower. It depends on the game engine.

lewisthoma5 commented 9 years ago

When I look at gpu usage with out ssr it is close to 99%, but with it on it jumps from 70's to 90's and never stays at a certain value.

lewisthoma5 commented 9 years ago

Here is a video to show cpu values (https://www.youtube.com/watch?v=cFuuGCU-d1w&feature=youtu.be) as well and I will post idle fps tomorrow.

MaartenBaert commented 9 years ago

Okay, in that case I think I understand the problem. The game doesn't have frame rate limiting, it is programmed to use as much resources as possible to get the highest possible FPS. This means that there is almost no GPU processing time left for SSR to capture the frames it needs. You can probably improve things by reducing the FPS of the game, if such an option exists. Otherwise you can try OpenGL recording.

If my theory is correct, your idle fps (SSR without any game running) should be much higher.

lewisthoma5 commented 9 years ago

Yes idle fps recording is fine, I will try with vsync