locked
Breaking change to DSS Notifications in MRDS 4 RRS feed

  • Question


  • We use DSS in a scientific imaging system which is comprised of a DSS "hardware service" running on our instrument that communicates with another DSS "client service" on a separate workstation. Communication is via a crossover cable, so each service is running on its own node on a separate Windows box.

    One of the features of the system is a simple live video feed, which we had implemented by sending a notification from hardware service to the client service every time a frame is available, and upon receiving the notification the client would query the latest frame from the hardware service. This was running at approximately 16 frames per second with 1024x768 24bpp images with no issue in MRDS3. (We have requirements that prevent us from using a streaming protocol)

    After upgrading to MRDS4 we found that the performance decreased significantly, to the point where the video was unusable. On the box running the hardware service we would see memory rapidly spike up to over 1gb, whereas previously it would run constantly at around 200mb. It basically behaved as if it was unable to push that many frames over the wire.

    After significant testing and experimentation comparing the pre- and post- MRDS4 upgrade codebase, I isolated the problem to the notifications. By removing the notification altogether, and having the client just continually poll the service for the latest frame, performance was back to what it was in MRDS3.

    We use notifications for other types of image acquisition with no issues, however these notifications are being fired off at a significantly lower rate. So it appears that some change in MRDS4 to the subscription/notification mechanism may be causing poor performance when firing off lots of notifications per second

    Tuesday, July 16, 2013 4:23 PM

Answers

All replies

  • Thank you for pointing this out.  I will investigate.
    It is not clear if this is due to changes in DSS or to changes in underlying components (.NET).

    It sounds that you have worked around the issue and are not blocked at the moment...  is that correct?

    Thanks!

    Gershon

    Thursday, July 18, 2013 3:40 AM
  • Yes we've found a workaround. Thanks for the assistance
    • Marked as answer by Gershon Parent Saturday, July 20, 2013 9:18 PM
    • Unmarked as answer by RobWalsh Wednesday, August 7, 2013 6:59 PM
    Thursday, July 18, 2013 7:24 PM
  • OK.  Thank you for the issue report.

    Friday, August 30, 2013 8:47 PM