Pipet causing significant slowdown, even though only 1 point sampling 1px texture

This is happening in quite a large patch.

I’m using two graphics cards. One for control output, one for main output with a TH2go attached.

The pipet is causing significant slowdown even though it’s only sampling 1 point of a 1px texture. format is L16 though changing it doesn’t make a difference.

Could pipet be trying to process on the slower primary control card rather than the main output card? I’ve tried changing the pipet device value to 1, but this gives errors -

[Graph.TMPin.DoDisconnect: error occured in ex9TextureNodeBases.TMex9TextureSinkNodeBase.TextureDisconnectCB](Graph.TMPin.DoDisconnect: error occured in ex9TextureNodeBases.TMex9TextureSinkNodeBase.TextureDisconnectCB): Access violation at address 00587E3F in module ‘vvvv.exe’. Read of address FFFFFFFC

Any suggestions? Just need to get the rgba values from that one pixel!

the problem with Pipet is the same as the problem with Info. vvvv first evaluates the graph and then render. but those nodes require a rendered texture before evaluation. so they have to render everything necessary before them in the graph to complete their evaluation and then vvvv can continue with the “real” rendering. for info you could use the classic Switch and S+H trick but for pipet i’d suggest to find a way for your task where you don’t have to return data to the graph from a texture but stay inside shaders until the “final destination”. or use shared textures for pipet as they are not in the graph so pipet won’t have to track back all the passes to the original source but that requires alpha28-dx9ex.

pipetperformance.v4p (31.7 kB)
pipetperformance (sharedtexture trick).v4p (40.3 kB)

great info. I’ll take a look. Did think shared texture could help but I’m not using 28 for projects yet.

I have same problem with multi-pass FXchain before pipet.
Once again ^quote:microdee:
for pipet i’d suggest to find a way for your task where you don’t have to return data to the graph from a texture but stay inside shaders until the “final destination”.
^
can you pls explain it more detailed?
I’m DX9 and not using info node in my FXpasses
edit: inserting sharedTexture before pipet did not change much for me