CallbackProperty causes GPU churn with requestRenderMode toggled on

32 views
Skip to first unread message

jsal11

unread,
Feb 6, 2019, 1:09:38 AM2/6/19
to cesium-dev
1. A concise explanation of the problem you're experiencing.
CallbackProperty causes GPU churn with requestRenderMode toggled on. I have attached a sandcastle to reproduce this problem. If you comment out the "plane:plane" the GPU usage stops correctly.


2. A minimal code example. If you've found a bug, this helps us reproduce and repair it.
https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/#c=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


3. Context. Why do you need to do this? We might know a better way to accomplish your goal.



4. The Cesium version you're using, your operating system and browser.



Omar Shehata

unread,
Feb 8, 2019, 10:37:55 AM2/8/19
to cesium-dev
Thanks for bringing this up and providing a complete code example! I think this might be related to this issue, where a SampledPositionProperty breaks the requestRenderMode in the same way:


I bumped it with a link to this thread. It sounds like this is expected because a CallbackProperty marks this entity as dynamic and thus it will always think it requires rendering every frame. It would be nice if there was a way to mark an Entity as requiring an update manually. I had clone the position to force this, but even then it doesn't update in the same frame.

Sandcastle link.

This at least gets it to work without breaking request render mode.
Reply all
Reply to author
Forward
0 new messages