~scoopta/wlrobs

1

Questions about dmabuf

Details
Message ID
<c41e1bca-7493-b5c5-81dd-80e6f259a0c4@tomlebreux.com>
DKIM signature
pass
Download raw message
Hi,

been using wlrobs to record my screen with sway. It seems to work great, 
so thanks for that!

I'm using the screencopy backend with standard OBS with the 
QT_QPA_PLATFORM=xcb set. What is the benefit of using the dmabuf backend?

It seems to be to avoid copying the screen to another buffer (?) which 
should result in better performance. Is this correct? How much 
performance gains / fps are we talking about here?

Thanks!
Scoopta
Details
Message ID
<274abbd0-cca5-0eb8-5d2b-109add0e5d81@scoopta.email>
In-Reply-To
<c41e1bca-7493-b5c5-81dd-80e6f259a0c4@tomlebreux.com> (view parent)
DKIM signature
pass
Download raw message
Screencopy requires the compositor to copy the frame from the GPU to 
shared memory where wlrobs copies it back to the GPU for compositing by 
OBS requiring 2 copies. dmabuf on the other hand gives the captured 
frame directly to OBS without any copies at all.

The performance gains from this can be quite substantial. I know someone 
that can't even use screencopy because capturing at 3840x2160 makes 
their system unusably laggy while dmabuf doesn't make a noticeable 
impact on system responsiveness. That being said it definitely depends 
on what resolution you're capturing at, on my system I can use both to 
capture 1920x1080@60 no problem. Overall dmabuf is just more efficient, 
if screencopy performs fine for your use case then it might not be worth 
the hassle of building an EGL version of OBS.
Reply to thread Export thread (mbox)