developmentseed / developmentseed/deck.gl-raster

Split tile CPU caching from GPU caching?

Open
#516 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
228
Forks
29
Avg merge
12h 27m
Merged PRs (30d)
4

Description

We have a `getTileData` and a `renderTile` callback in our RasterTileLayer-based layers.

The idea is that `getTileData` should be able to run only _once_ to do all fetching to create resources, while `renderTile` might change on every frame (such as for an animation).

In deck.gl the `TileLayer` caching stores the result of `getTileData`. This means that if you return `Texture` objects from `getTileData`, and you use the default `TileLayer` caching (`maxCacheSize`, which [defaults to **5 times the number of tiles in the current viewport**](https://deck.gl/docs/api-reference/geo-layers/tile-layer#maxcachesize)), then you have to know you're storing all the data in GPU memory, and you might hit user limits on available GPU memory.

So either we should split the CPU caching from GPU caching... or I'm not sure?

I _think_ it's recommended behavior to return GPU textures from `getTileData`? It might not be in the upstream case where there's some default caching in the render flow of texture creation...

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.