I’ve spent about two months with vvvv and I’m in love. Great program which is complemented by a great community.
The project I’ve been working on (VDJ software) is VERY dependent on the player ex9 node (I string together decks of photos to create .gifs on the fly). My current version is fully functional – but it requires an excessive amount of RAM (upwards of 8 gigs when I have 4 picture decks of ~100 pictures loaded) and it occasionally pushes my processor to its limit.
I have a, perhaps misguided, desire continuing to use this picture deck approach (I think it would be more efficient to convert these decks of pictures to some video format?). In this interest I think it would be worth updating the current player node to dx11. However, I don’t know that updating this to dx11 will fix any of these problems.
Does anyone have intuition on this problem? Specifically:
Will there be improvements in RAM usage by updating to dx11 nodes?
Will there be improvements in CPU demand by updating to dx11 nodes?
I’d also appreciate any nodes/code that would be helpful to reference while working on this project.
I’m definitely using 64bit. I’ve never heard of .dds files, thanks for the tip.
So if I were to convert these to .dds files, queue and play them using ex9 player I will get some kind of performance boost? I would think I would at least get a reduction in occupied RAM, but should I also expect decrease in CPU load?
Will there ever be a situation where having an dx11 version of player would be more efficient?
I feel mostly lost when I read these things:ex9.dataflow, dx11-vvvv-pipeline. But, it seems to imply that using a dx11 pipeline would offer some advantage for my setup.
In the future I’d like to include chains of image processors as well - likely dx11 based effects. This dx11-faq implies that by having dx9 and dx11 mixed I might get performance dips. Would this still be true for my case?
Sorry for the very specific questions about my set-up. I’m just lost in the trees and would like to make the most informed decision before moving forward.
@sebl)) I haven’t done much experimenting. I have tried ((node:FileTexture (DX11.2d.Pooled). It works at loading a bunch of pictures simultaneously, but doesn’t really work for moving through those pictures? Unless there is a way to pull specific slices from the array that is generated (I couldn’t find a node that was compatible with it’s output).
for pooled texture version use “No Mips” option, otherwise loader will generate mipmaps which is why it takes more time.
Also using dds will allow almost zero cpu cost (since you can just get image and upload it to gpu without any processing step). Gif/Png or Jpg will cost you cpu time since you need to decrompress to a format that gpu can understand.
So here you trade disk usage for cpu usage.
If you want to reduce dds size, use either dxt1/bc1 (1 bit of alpha, so no alspha ;), or dxt5/bc3 for textures with alpha (technically pretty much all textures nowadays benefit from block compression scheme)
I’m in the same way to make ex9 player working with Dx11.
Could you give me some details about how you made it working as well or better than ex9 player ? Did you used some specific lodaer like FileTexture (DX11.2d.Pooled) ?