Dynamic Ellipse/Polyline flicker

I've been fiddling around with Cesium for about a week and found an oddity in the way dynamic ellipses/polylines update. I've got a scene where I'm rendering the globe with anywhere from 100 to 1000 'objects'. These objects consist of 3 sub-components: a billboard, an ellipse (outline, no fill for the moment), and a polyline consisting of 2 vertices/points.

I have it setup so these 'objects' update according to a clock tick(once per second) as their future position/orientation information is potentially undefined, i.e. conventional timeline/interval interface will not suffice. I initially ran into some performance issues but was able to resolve those through batch updating these objects using CZML.

On an update I move each of these 'objects' a set random distance from their current location to simulate sporadic movement. Whenever I update these 'objects' the billboards seem to update and re-draw immediately to their new positions but the ellipses and polylines disappear for a few milliseconds (more/less depending on the number of 'objects') and eventually re-appear at their new locations.

I find it odd that the billboards update/re-draw immediately but the other components have a delay, leading me to believe my code is not the direct culprit in this issue as I batch all 'object' updates into a single CZML process call. Regardless, I'm wondering if maybe there is something I'm doing wrong/could be doing better or if it is currently a limitation in the way these geometries(ellipse/polyline) are being rendered in the lower level Cesium code?

Hi Adam,

I currently have the same problem - Please see also my post in the “How to dynamically update polygons with the new Geometry layer ?” thread. There is a minimal example that reproduces the flickering. In the mentioned thread there is also a hint on how to fix it when manipulating objects through js. As I am also using czml this is no option for me.
I currently guess, that this is a bug, because I used previous versions without having this problem. However, I am also considering having an issue in the czml code. I tried to sort that out by creating the minimal example. Interestingly it is worked for "Path"s instead of "Polyline"s.

Regards,
Sebastian

Sebastian,

Thanks for the reply. I ran your example code and yeah that is the same issue I am running into. I'll keep you posted if I find any solutions/work-arounds to this issue.

Regards,
Adam

Has there been any progress on this issue since 2014 when this was posted? I’m having a polyline flicker issue too and can’t find a good solution.

Hello,

If you use a CallbackProperty for your polyline positions, there shouldn’t be any flicker. If you pass in false for isConstant it it forces the polyline to draw synchronously and there shouldn’t be any flickering.

Best,

Hannah

Hey Adam,

Thanks anyway!

Hey Hannah,

That sounds awesome. Is there a way to add a callback property if I’m pushing the data via czml, and not directly from the javascript?

Best,

Steve O’Neill

Hi Steve,

If you’re using CZML, you should be able to make it interpolate smoothly between the positions automatically.

Here is an example using a polygon: http://cesiumjs.org/Cesium/Apps/Sandcastle/index.html?src=CZML%20Polygon%20-%20Interpolating%20References.html&label=CZML

It should work the same way for a polyline.

Best,

Hannah