Skip to content
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

Proposal: use cached features for certain renderer changes #4225

Closed
cmdcolin opened this issue Feb 20, 2024 · 3 comments
Closed

Proposal: use cached features for certain renderer changes #4225

cmdcolin opened this issue Feb 20, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@cmdcolin
Copy link
Collaborator

when any of the renderprops changed, say track height, it currently does a full re-requesting of features. this is because ServerSideFeatureRenderer::render() calls adapter.getFeatures for any renderer change

but, this could potentially be avoided.

from discussion with @garrettjstevens

outline from chat:
serversidefeaturerenderer
render() -> getFeatures
ifNothingsChagned->use this.cachedFeatures[blockKey]

bonus needs
a) system that can dispose of those when you dont need it anymore
b) being able to query across blocks
@cmdcolin cmdcolin added the enhancement New feature or request label Feb 20, 2024
@cmdcolin
Copy link
Collaborator Author

would help with #snpcoverageopti

@cmdcolin
Copy link
Collaborator Author

I tried this out and the results weren't that big of a change. There is still the render delay from the block reaction, and various other unknown things that still get in the way of having e.g. "instant rerender on height change"

@cmdcolin
Copy link
Collaborator Author

test branch which didn't pan out here https://github.com/GMOD/jbrowse-components/tree/cache

will just close for now

@cmdcolin cmdcolin closed this as not planned Won't fix, can't repro, duplicate, stale Mar 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant