You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a challenge with our RPC architecture. In some ways points away from using RPC for rendering. If we change the height of e.g. the SNPCoverage track, it performs a full re-render that includes re-fetching all the features via getFeatures. It also does not abort properly it seems like. Aborting may be some measure of improvement, but the true improvement I think is to skip the re-getFeatures operation entirely.
If you imagined that the "rendering" component only had a e.g. useEffect to fetch the features, and then also did drawing code in the main thread in a separate useEffect, then the drawing code would only react to the track height changing by redrawing, not by refetching the features.
In order to achive a similar behavior for the above, we would need to establish a clause of what requires re-fetching features (similar to a useEffect dependency array). This might be possible with RPC, but an alternative approach would be to remove RPC for rendering.
The text was updated successfully, but these errors were encountered:
There are a number of optimization related issues for this when RNA-seq is concerned. @carolinebridge-oicr sent some sample data that is deep iso-seq style RNA-seq and it really slows down even for relatively small amount of data (3 megabyte bam file)
one optimization was added for this which is called the ultralongfeaturescache. it could potentially help, it reduces re-calculating the mismatches datastructure. this is a tough issue though is is on of those HOURS_WASTED_HERE++ type things when you get into the code. still high impact though
This is a challenge with our RPC architecture. In some ways points away from using RPC for rendering. If we change the height of e.g. the SNPCoverage track, it performs a full re-render that includes re-fetching all the features via getFeatures. It also does not abort properly it seems like. Aborting may be some measure of improvement, but the true improvement I think is to skip the re-getFeatures operation entirely.
If you imagined that the "rendering" component only had a e.g. useEffect to fetch the features, and then also did drawing code in the main thread in a separate useEffect, then the drawing code would only react to the track height changing by redrawing, not by refetching the features.
In order to achive a similar behavior for the above, we would need to establish a clause of what requires re-fetching features (similar to a useEffect dependency array). This might be possible with RPC, but an alternative approach would be to remove RPC for rendering.
The text was updated successfully, but these errors were encountered: