-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Request Render Mode spotty with Entities #12543
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Thanks for reporting this. I've another case where render mode is a problem. Changing layer color parameters like h,s,l , brightness, contrast **edit ** the last case works after a call to |
Any news on this? This is annoying. I'm playing with entities and the UI I wrote toggles visibility. |
Hi @chdenat No new yet. If you are interesting in contributing, please let us know and we'd be happy to discuss implementation or review a PR. Thanks! |
@ggetz , thank you for the news ! Unfortunately, although I know the cesium API well, I do not have sufficient knowledge to help at the core level. Sometimes I look at the source code, but it's more to understand how a class or a feature works. |
Unfortunately this is a blocker for my organization updating, I looked through merge requests which affected the render loop of datasources and found the cause to be #12429, specifically: cesium/packages/engine/Source/DataSources/DataSourceDisplay.js Lines 327 to 333 in fb31446
Line 333 explicitly will prevent the update callback to run A fix requires either adding an additional flag, removing the condition |
@ggetz I've opened a PR solving the issue, it's ready for review: For now, the following monkey patch solves the issue until that gets merged: const originalUpdate = DataSourceDisplay.prototype.update;
let prevResult = false;
DataSourceDisplay.prototype.update = function(time) {
const result = originalUpdate.call(this, time);
if (!prevResult && result) {
this._scene.requestRender();
}
prevResult = result;
} |
What happened?
Originally reported on the community forum
We've also identified a similar reproduction in the Rendering Performance Sandcastle. When the "mouseover picking" option is selected, the entity does not appear until the camera moves, or a new frame is rendered for an unrelated reason.
Curiously enough, the second case is only reproducible at larger viewport sizes.
Likely, this is due to the entities becoming "ready" for rendering after the next immediate frame.
Reproduction steps
No response
Sandcastle example
No response
Environment
Browser: All
CesiumJS Version: ID'd in 1.110 and 1.127
Operating System: All
The text was updated successfully, but these errors were encountered: