Page 2 of 2

Re: Resolume eating all GPU memory, Spout, Directx9

Posted: Wed Nov 13, 2019 11:57
by sefreso
Thanks!

Unfortunately apple doesn't support nvidia anymore and this is the only card that I have, and have invested a lot of money in it.

This means I do all my work in windows now since Resolume/Ableton/Max do not run on linux.

Re: Resolume eating all GPU memory, Spout, Directx9

Posted: Mon Nov 18, 2019 10:23
by Menno
We're using glReadPixels into a pbo.
I dont know what "failing to download textures at max bandwidth capacity" means. Are you saying you're getting OpenGL errors somehow?
If it's just performance problems you're having then you probably need to do some pipelining so that you're not transferring the pixels synchronously. We're using fences to know when the download is done and we just have a queue of in-flight downloads. We give the queue a maximum size to prevent using too much memory. You also need to do some pipelining on the output, make frame compression run in parallel so that you dont stall the renderthread.

Re: Resolume eating all GPU memory, Spout, Directx9

Posted: Mon Nov 18, 2019 14:46
by sefreso
Thanks for your answer.

My issue is that with PBO & glReadPixels gives me a maximum speed of 600 MB/s from GPU to CPU memory.

At 4K rgba 60hz I need to be able to achieve 1800 MB/s. And then I can do pipelining.

I guess this also explains why recording with Resolume record feature doesn't produce a usable video.

I'm guessing it's working for most people because people usually have an internal GPU (ie. don't rely on a thunderbolt link) and use lower resolutions.

I somewhat found a solution with my specific hardware by using optimized cuda functions which performs way faster.

But now I can't seem to write on my high speed SSD at more than 100 MB/s..

Re: Resolume eating all GPU memory, Spout, Directx9

Posted: Wed Nov 20, 2019 08:41
by Zoltán
sefreso wrote:
Mon Nov 18, 2019 14:46
I guess this also explains why recording with Resolume record feature doesn't produce a usable video.
With version 7, I can record 7680x2160 composition for hours on my desktop, while Resolume still runs at 60FPS.
So, "usable" is a very relative term ;)
I'm guessing it's working for most people because people usually have an internal GPU (ie. don't rely on a thunderbolt link) and use lower resolutions.
EGPU eh?
Didn't mention that in the other recording thread.
Thunderbolt 2 or 3?

Re: Resolume eating all GPU memory, Spout, Directx9

Posted: Wed Nov 20, 2019 09:16
by sefreso
Is the recording at 60 fps also? Or is it at 30?

I haven't tried resolume 7 yet.

Its thunderbolt 3.

Re: Resolume eating all GPU memory, Spout, Directx9

Posted: Wed Nov 20, 2019 09:38
by Zoltán
It's 30, but twice the width of what you want to do, so the bandwidth is the same.

I think I saw somewhere, but why do you need 60FPS recording again?

Re: Resolume eating all GPU memory, Spout, Directx9

Posted: Wed Nov 20, 2019 09:46
by sefreso
OK thanks for this info, I should try resolume 7 to benchmark, but I need the alpha layer so it can't be a suitable workaround.

I need 60 fps and alpha because I want to produce VJ loops from spout sources I developed. I want to use resolume for its effects and nice interface.

Re: Resolume eating all GPU memory, Spout, Directx9

Posted: Thu Nov 21, 2019 10:08
by subpixel
sefreso wrote:
Wed Nov 20, 2019 09:46
I need 60 fps and alpha because I want to produce VJ loops from spout sources I developed. I want to use resolume for its effects and nice interface.
You could try recording at 30fps and doubling the framerate of the recording in post.

Re: Resolume eating all GPU memory, Spout, Directx9

Posted: Fri Nov 22, 2019 20:34
by Arvol
I've had really good luck using TouchDesigner for recording things via Spout and NDI and preserving the Alpha Layer.

Re: Resolume eating all GPU memory, Spout, Directx9

Posted: Sat Nov 23, 2019 11:30
by sefreso
Thanks for the info I will look into TD. Cheers