Has anybody been successful in streaming textures with an acceptable quality
from one instance to another?
I tried all sharedmemory modules(AsString, AsVideo…), UDP send/receive, fugstream (frustrating fullscreen issue and AsVideo = cpu intensive), … but I didn’t find a way which really works fine.
I also was thinking to use the fantastic VLC plugin as receiver, but I don’t
know if it is possible and how to send data to it…
Or is there a virtual device driver in the web for sending it through VideoOut (DShow9 Device)? I tried VH Screen Capture Driver, but it only appears in VideoIn (DShow9) as driver…
I was now successfull in receiving data from the UDP send node through the VLC plugin. The problem remains AsString which uses too much CPU power. The VLC plugin is perfect because it uses just 0.8 and fullscreen works (instead of the UDP receive node which uses about 150) tackles to read from UDP…
But there is a delay in transmission.
hey nice finding with the vlc plugin
what resolution did you test? and how big is the latency
dunno if it’s the same approach (AsString + udp) but in max/msp the matrix jit.send / receive can stream a 720*576 very very low latency
on the network
I tested it with 800x600, but the AsString module eats a lot of cpu power (about 250 tickles!!) If I only find another module or a way for sending textures through UDP which is not so CPU intensive…
that’s what wddm’s shared resources would be for. but that should be programmed to share a resource and that works only on win7. the point is that any dx9 surface could be shared across several processes on the vram without copying. if the current plugin interface would have texture input pin, creating a shared texture (which can be accessed by any other vvvv instances) could be done easily. (same as creating whatever surface in dx9, just a shared one has to be created in the default pool and a handle must be defined for it)
That sounds interesting. You mean something like a TextureIn module? I hope that the vvvv team or some smart programmer will develope this in future, because it could be very useful.
and how it works in that build? i found the shared handle pin in dx9texture though (however if i hover it it drops an error: list out of bounds (0) and outputs zero (i’m on win7 x64, ati gpu). is there any node to receive it?
ok above error occurs only if the texture output is not connected to an active renderer but i still haven’t discover how to receive it.
funny in the newer (04.12.11) 26.1 dx9ex build this texture sharing was the least experimental stuff of all. it works just fine without a problem and it’s fast as well. so i think this absolutely could be written in the changelog’s “upcoming” session.
(however everything else was buggy as hell. especially the drawing of the patches)