Further to my question Bind an XY Chart dataSource to …/Table.props.data I seem to have narrowed down the problem.
I have a view with
- DateTime Picker
- XY Chart
The DateTime Picker updates a session variable endDate and the XY Chart binding uses that to extract the data from the Tag History.
It all works if the user waits a couple of seconds between date selections. If s/he clicks a new date very soon (< 1 s) after the previous one the page locks. Presumably I’m triggering another chart update before the previous one is complete. (Tables don’t seem to exhibit this problem.)
I’m wondering how to handle this. (It seems to be a bug but I need a workaround.) One way - if possible - would be to disable the DateTime Picker with the onClick event and re-enable it when the chart has completed its datasource update. I can’t find a suitable event for this. Is there a way to do it using the runAction(self, event): script?
The Vision module has a chart property called propertiesLoading (useful for hourglass pointer, etc.). We seem to be missing its equivalent in Perspective.
Perspective’s XY Chart is known to have big problems (including a memory leak) and is likely to be replaced entirely. Might want to mitigate with least effort until IA decides what to do.
Thank you for the reply.
I’m watching Chrome’s memory usage in Windows TaskManager but don’t see any issue there. I’m able to update a few times before the page locks but I can’t quite figure out what’s happening.
Can you remember where you read that?
Are you aware of any good workarounds? The XY Chart mostly works and there is no alternative as far as I can see.
Have there been any recent update to the XY chart memory leak / crashing? Admittedly I haven’t skimmed notes for nightly builds from the last post on this trail to today.
Our clients frequently crash when testing anything using the XY Chart. I thought I could improve functionality by removing bindings and managing updates to datasource data through scripting (so I could rate limit / prevent excessive user date picker changes) but thus far have been pretty unsuccessful. One or two date changes and the client crashes in chrome.
We use it in Historical mode; perhaps the only temporarily fix is to disallow date changes and run static time periods on page load (severely limiting functionality), or maybe run in realtime mode only?