Perspective memory usage too high?


We’ve recently developed a few dashboards on Perspective. These would be (permanently) displayed on some Smart TV’s around the plant and would include some relevant info through labels and charts. After first setting them up thought the TVs’ Chrome browser app, the client reported the TVs’ to restart or even freeze. They had to manually start up the browser again, but then after some hours they would restart again.

To discard performance issues we first removed any style animations on the views. This only made the TVs’ restart after a longer period of time. We then started to replace Charts and any embedded views by literally duplicating Flex Containers, etc. Basically tried to make the views as simple as possible. This fixed the problem in some cases, specifically in views with the least amount of elements, but the problem persisted, though in a longer period of time, in views with more elements.

Just recently we set up mini PCs’ behind a couple of TV screens. This seemed to fix the problem, except after a week of being setup, one of the PCs showed an error message saying it was running out of memory.

Has anyone else encountered such problem before? Is there any way to control or dump memory usage after a set period of time? We are completely lost on this matter, thanks in advance for your attention and responses. In the meantime we’ll continue to run some memory usage monitoring tests and analysis. Will update as results come up.

In the earlier versions of 8.0+ there were issues with the way that certain components like the carousel would cause views to be loaded into memory multiple times instead of appropriately creating and destroying them, or reusing them. I don’t remember if this was fixed or not, but one of the easiest ways to trigger this duplicate loading of the embedded view was through updating the project. It would trigger the next time the client tried to load a view in a carousel it would create a new copy.

If potentially you are doing a lot of updates that could be the cause, Specifically within the carousel, the solution to this was not to use the “Animated” transition, but the “fade” transition.

I guess the problem could really depend on the specific structure of what you are displaying and the types of components you are using to display it.