fuel9 / DisplayMonkey

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

Frame ready timeout not working #20

Closed rameshkumar-arumugam closed 7 years ago

rameshkumar-arumugam commented 7 years ago

Hi Guys,

I have some doubts in Frame ready time out. As you mentioned in the document, Frame ready event timeout is preloading the next frame. I have created the display with 3 frames with each has 1 min duration and 30 sec for frame ready event. But next frame not loaded at 30 sec before it will be loaded 10 sec before the next frame. Can you please provide more detail about Frame ready event timeout?

Regards, Rameshkumar Arumugam.

DisplayMonkey commented 7 years ago

Not sure we fully understand your scenario. The description for display default frame ready interval under application settings reads:

"Certain types of frames require additional initialization before they complete their rendering process on a display. They may either show blank or feature a loading indicator. DMP application will wait the above time period and, when exceeded, will leave the frame unrendered. This is a default which can be overridden on individual displays. "

Please note that frame ready timeout setting is not used to delay nor enforce loading of any frames. It merely is a timeout counted towards abandoning further frame rendition on the screen if no necessary frame data has arrived within a given time window. The frame is loaded regardless whether the timeout has been reached or not, although it may look different or incomplete, that's all.

Does this answer your question?

rameshkumar-arumugam commented 7 years ago

Hi Guys,

I could understand the use case of "Frame ready timeout". In my case, I have created a display with multiple dashboards. Each dashboard takes a time to load the content. When I view the display I'm getting loading indication on the dashboard. So I need to remove this waiting time on display content.

If we preloaded the display content before it renders then we eliminate the waiting time. Is there any option like that?

Regards, Rameshkumar Arumugam.

DisplayMonkey commented 7 years ago

Using DM terminology, we will assume that by "multiple dashboards" above you refer to DM panels, as displays can only link one canvas at a time.

Every frame in DMP goes thru several phases, some of which are optional depending on state of the canvas: pre-load, initialization, tear-down (uninit).

During the first phase, DMP preloads frame metadata into a panel in the background, while the previous frame (if any) is still showing. This request is an Ajax call, which, unfortunately, in Prototype 1.7 offers no timeout option. This by itself is an issue, which we are looking forward to address in a long term by migrating DMP from Prototype framework to AngularJS.

The "frame ready" timeout is only used during frame initialization phase, that is after the frame has finished pre-loading, in order to allow frame-specific data arrive asynchronously. We can see your desire to prepare frame entirely (both phases) in the background. However, frames do have discrete nature and this dual-phase design approach addresses the panel vs. frame paradigm, in which panels own and handle loading generic frame metadata, and frames independently render themselves.

Frame tear-down phase takes place after frame duration interval expires. The frame duration interval countdown coincides with the beginning of the first phase.

Hope you will find this information useful.

DisplayMonkey commented 7 years ago

the OP has not responded, by design, closed

MahendranMadasami commented 7 years ago

@DisplayMonkey I am also looking for the same feature, Do have any implementation plan for this?

DisplayMonkey commented 7 years ago

Hi, currently there is no plan for this. The original request was not clear, we have closed it as we received no response from the OP. Thanks.