fuel9 / DisplayMonkey

Display Monkey digital signage solution
Other
126 stars 50 forks source link

Panels out of sync #134

Open jrsimple opened 4 years ago

jrsimple commented 4 years ago

We have a left and right panel on the same display that are each cycling/repeating through a picture and a website. We would like both panels to stay in sync, but after a few minutes one panel is moving slightly faster than the other and eventually they are entirely out of sync left to right.

Any solution would be greatly appreciated!

JimPowersDFL commented 4 years ago

I'm seeing the same thing. I just figured it was a strange browser timing issue that is throwing the timing off. But, if the system is responsible, a solution would be great.

michaelmalmgren commented 4 years ago

I understand what you're asking for and agree it would be great. As a possible workaround you may be able to use the full frame feature to if you can combine your content into one frame. You can read more about full frame feature here: http://www.displaymonkey.org/dm/documentation/frames/

JimPowersDFL commented 4 years ago

I don't know about jrsimple but I'm not sure how we would accomplish using the full frame. I actually selected DM for the SSRS integration it provides. Most of the displays we have now are displaying reports. The reason I am using two panels is so that I can alternate content back and forth between the sides of the display to prevent burn in. I suppose I could setup two reports with the content on opposite sides but that would put a greater tax on SSRS and my database since one of the two frames must update every 60 seconds while the other side can wait five minutes. It's not a big deal for us that the two sides don't stay in sync, would just be nice if they did.

psined1 commented 4 years ago

You can use report frame caching to mitigate frequent calls to SSRS. Set cache expiration to 5 minutes on one of the reports. This will result in DMP storing the entire report image and serving it from cache instead of making roundtrips to SSRS all the time. Note that frame caching also helps alleviate multiple displays/canvases polling the same frame over and over.

JimPowersDFL commented 4 years ago

That's how I have the two reports set up. The one that must update every 60 seconds has the cache expiration set to 1 minute. The other is set to five minutes. I just can't combine both into a single report since the one updating every five minutes is the big hit. I can't have that one run every minute across the 15 displays using it.

JimPowersDFL commented 4 years ago

By the way, thank you psined1 for the feedback. It's always useful to have just in case someone didn't already know what that did for reporting. I think it's brilliant!

psined1 commented 4 years ago

Currently DM does not support frames synchronization. Browsers execute individual windows/tabs single-threadedly, by queueing all asynchronous javascript events. When you have multiple panels on a given canvas, they each queue frame events independently, while racing one another. Therefore, certain timing shift/jitter may/will irrefutably occur over time.

JimPowersDFL commented 4 years ago

That explanation makes perfect sense! It's nice to understand the how and why "behind the scenes" so if anyone asks me, I'll know how to answer. Thank you.