Black Flash Between Layouts


#1

I’ve searched the forum and understand that this is a known issue / bug. However, the response to everyone asking has been “This will always be there. Nothing can be done.” I think that this isn’t really a good answer. For Xibo to be able to handle any reasonably complex scheduling of screens this issue is one that can’t be simply ignored or brushed off.

If I have three layouts scheduled at any given time then I wind up with a bunch of black gaps throughout the 2-3 minute content rotation. It even flashes black when looping a single layout! Does nobody else find this frustrating or silly? I understand that there may be some technical considerations that make this a difficult problem to just fix but it’s kinda a big issue. I’d happily pay $20 / month per screen for Xibo with almost 20 screens if this bug feature wasn’t there. I’ll also happily pitch in $500 on a bug bounty if anyone is actually willing to tackle fixing it. There have to be some other people here who’d love to see that black flash gone.

I’m only frustrated because in every other respect Xibo is amazing! It works better than commercial solutions 40x the price and could otherwise unify and solve a lot of my problems.

That being said if there’s a solid workaround I’m happy to try that as well. Anyone have any input or thoughts beyond the standard “We love the black pause! We’ll always have it!”?


#2

It isn’t that we’re trying to brush the issue off, or sweep it under the rug or that we love the “black flash” artefact. Nor are we suggesting that we think its some sort of feature instead of a bug - we know its a bug and we know why it happens and we know what the solution is. What we don’t know is how to make the solution a reality.

When a Layout ends it is removed and the next Layout (whether a different one or the same) is prepared and shown. The black gap is the time it takes the device to prepare and start the next Layout. The black gap is the frame or two where there isn’t anything on the screen.

The solution appears obvious - prepare the next Layout in advance of the current one ending. Unfortunately it is not so simple (the Android player already does this and still suffers with a black gap), because even with the Layout ready to go, displaying the resources takes enough time to show the black gap. In fact, based on our profiling, parsing the Layout itself takes a tiny amount of time compared to loading video, images, webbrowsers, etc.

The actual solution is to pre-render the entire Layout off-screen in a “paused” state and then before the current Layout is finished, plop the pre-rendered one on top, then remove the old one. Alas, this is not so simple to achieve and comes with a raft of issues, such as blowing through the available memory (you’ve doubled your usage around the Layout change time), flat refusal to load 2 videos at once, etc).

The offer of :moneybag: is much appreciated, but in this case isn’t a consideration for why we’re not fixing it.

The issue is in our bug trackers for all Players and on our radar to try and fix if we possibly can.


#3

Thank you for the really awesome explanation! Are there any players that
currently don’t have this issue? I noticed on the forum someone said it
didn’t affect their linux player.

I really hope it’s an issue you’re able to fix. Xibo is excellent software
and would otherwise be perfect for all our screens and signs. Like I said
in my post I’d be happy to pay a lot more per screen. Honestly, I think you
guys are undercharging for your cloud hosting compared to other commercial
offerings out there!


#4

I agree that the dips to black screen is unprofessional and one of the reasons we have not moved into a reseller mode using Xibo. Customers would not accept this design flaw. My company’s talents are within the creative end and concepts that we see working with playlist all revolve around timing, looping etc. Having a dip to black is not something we can sell as a designers/reseller as a Digital Signage CMS.

As for the cost per screen clublavela mentioned, Xibo is THE ONLY digital signage software on the market where the cost is perfect for the “reseller.” It’s the only one that can be resold with a large enough profit margin for the low end market. If Spring Signage were to increase the price, Xibo would not be a consideration for our business. For the end user, prices are great. For resellers, it’s reasonable to resell on the market. We appreciate the software and pricing and look forward to the new improvements and widgets.


#5

You’re welcome.

The more “powerful” the Player the smaller/shorter the artefact as it takes less time to get things started. But to answer the question honestly, no - all Players are designed the same at present. The old Linux Player didn’t have this issue, but there were a lot of other problems with it, which is why we no-longer have it available (we are working on another one though!).

We’d very much like to get it fixed, and will continue to work towards that.


#6

We have no plans to increase the cost of any of our value added services (Players or Cloud). Its nice to hear that our price point is appreciated (accepting that there are improvements to make with the solution generally).


#7

What i have found is that if you turn off reporting`in the display configs it will GREATLY reduce this effect.
uncheck stats reporting in the display settings for that display and update / reboot the display computer


#9

Xibo is a really nice Solution in almost every sense!
Only that flashing screen makes it for me unusable yet.

I was looking for a solid solution to run Slides, Videos etc time scheduled at exhibitions and similar applications. But with the flashing I just cannot sell it to my clients, as someone said before.

I am getting that more complex layouts are demanding a more complex solution to close the gap.
But I am wondering if there isn’t a way to solve the problem quite “easily” for the cap between same layouts?

I mean if there is a new Layout showing up, it has to be prepared and build. But if the same layout is running over and over in a Loop, it sounds strange that it has to be build and prepared every repetition again.
Isn’t it possible to check if its the same layout as before and then tell to use the same thing again?

Or at least to remain at the last Frame instead of turning to the Background?

Just some thoughts you guys probably already had.

Best Regards from Germany
Moritz


#10

Thanks for your thoughts - always helpful!

This is basically the answer to your question - the swapping between images, videos and webbrowsers, if you completely set aside the time it takes to parse a new Layout, still means we drop a frame or two… and a lot of devices are simply incapable of decoding 2 videos at once.

As soon as we have a solution it will be made available for sure.