v2005 SharedMemory works, with latest v2006 it doesn't

Home Forums Spout Developer v2005 SharedMemory works, with latest v2006 it doesn't

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #4471
    Lildreas
    Participant

    Hello,

    I installed Spout_2006_update-2.exe (20/01/2019) and tested with the demo sender and receiver and even the UE plugin.

    I was able to share DirectX 11 textures as described, and even CPU sharing worked fine (from/to UE and between the demo apps).

    But as soon as I switch to SharedMemory no textures are received anymore.

    As a test I installed the v2005 version and used both DirectX 11 and MemoryShare in the demo receiver/sender, and with this version it worked without a problem.

    Background why I would like to use MemoryShare:
    For a simulation we want to transfer video between multiple computers, among other data. For this we are using reflective memory cards in our computers (like these https://www.abaco.com/products/pci-5565piorc).
    So we want to set it up in a way that the Spout sender writes into shared memory, this memory space is automatically reflected to the other cards in the other computers and the memory is read by the Spout receiver.

    But to set it up first the MemoryShare in 2006 needs to work. Any ideas why it doesn’t (and with v2005 it does)?

    Thanks & best
    Andreas

    • This topic was modified 3 months, 2 weeks ago by Lildreas.
    #4492
    leadedge
    Keymaster

    So to be clear, the Spout demo sender and receiver fail in memoryshare mode – is that right? If so, please try the latest beta 2.007 demo programs. First though use the 2.007 SpouSettings program where CPU mode has been removed.

    If the problem is with some other plugin we might narrow it down to that.

    The fact that 2.005 works is indeed strange I can’t think of why at the moment.

    #4496
    Lildreas
    Participant

    Hi,

    thank you for the fast answer! With 2.007 (the Bond version) shared memory works without a problem, nice!

    I guess I will have to wait till 2.007 is released, and the Unreal plugin is updated to 2.007, too.

    BTW, right now I’m evaluating some approaches, and Sprout looks very promising. If we decide to use it for our project we will of course donate, because we like it and out of self-interest, we then would like the software to be further maintained.

    So thanks for doing all this!

    Best
    Andreas

    #4497
    leadedge
    Keymaster

    I suppose the question is whether the unreal plugin works with the 2.007 receiver. In which case you could go ahead and use the 2.007 SDK code.

    I will possibly change some of the new 2.007 functions, but the rest will remain the same as 2.006, so I am really not sure why 2.006 doesn’t work. It could have something to do with settings but I can’t say. Anyway you will be safe to continue to use the 2.007 code.

    I will likely maintain Spout for as long as I am able. It has become a commitment. If ever I cannot, it will remain open source.

    #4504
    Lildreas
    Participant

    Yes, the UE plugin worked with the 2.007 receiver. I then moved the 2.007 Spout.dll into the UE plugin replacing the old .dll, and it worked. But only once, afterwards even after restarting Unreal and the receiver the receiver showed the correct sender name from the UE project, but didn’t get any textures anymore.

    I guess I will wait till you are finished with 2.007 and then I’ll have a go at it again. It’s not time critical for me.

    Thanks for the support!

    #4505
    leadedge
    Keymaster

    Swapping the dll alone isn’t enough. The Unreal plugin would need to be recompiled with the 2.007 header files and “Spout.lib” for this to work.

    The 2.007 code isn’t much different for memoryshare so I am not sure what is going on. I checked the registry settings and they correspond OK.

    Are you using the Unreal plugin by AleDel? The repository says that it is DirectX 11 only and memoryshare should not work at all.

    #4506
    Lildreas
    Participant

    Yes, I’m using the https://github.com/AleDel/Spout-UE4 repo – ands I guess I misunderstood “Sender and Receiver only DirectX 11”, I thought that it meant that DirectX 9 is not supported, but still shared memory should work.

    But regarding 2.006, I had the problem with 2.006 that shared memory didn’t work even between the demo sender and receiver, while with 2.005 and 2.007 it works.

    #4507
    leadedge
    Keymaster

    OK I understand. That comment could have been more detailed. I looked at the source code and the DirectX 11 texture is used, so it is definitely only texture sharing.

    I don’t know what is going on with 2.006 memory sharing. When you run the demo sender it should show “Spout Memoryshare Sender” and also show “Memoryshare” underneath. Then when you run the demo receiver it should also show “Memoryshare” underneath what it is receiving. If both those things are OK, there is a problem with the memory share process itself. Otherwise if you see something else I might be able to track it down.

    It still doesn’t solve the Unreal plugin problem if you are relying on it. That would be something for the plugin developers to look at.

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.