Conversation
| * @returns A list of tile coordinates, ordered by ascending distance from camera. | ||
| */ | ||
| export function coveringTiles(transform: IReadonlyTransform, options: CoveringTilesOptionsInternal): OverscaledTileID[] { | ||
| if (!transform.width || !transform.height) { |
There was a problem hiding this comment.
These look like debug leftovers...?
|
This is a very nice work, I'm just not sure what should be done with all this code...? |
|
Can we create a web gpu build maybe in parallel to the regular one? |
|
So since the main motivation was performance (?), what does the performance of this vs webgl look like? |
|
I haven't ran a bench yet, but so far it looks slower, so there is more optimisation work needed. It's not only about performance of MapLibre in isolation, it's also compatibility with e.g. deckgl in interleaved webgpu mode. The data-viz layer (or large symbol layers) might be where the real perf is won. |
This is Mirroring (with AI assistance) the drawables-based WebGPU backend from Native to GL JS, without really changing the webgl1/2 backend - this is largely additive to avoid breaking existing functionality. The goal here is to understand the scope required for landing webgpu, and the bundle size impact (we're looking at ~200kb before gzip). This impl. does not use Luma.GL
What's working
What's missing
To keep the diff "small" i didn't move all the webgl code to a separte webgl folder, but it would arguably be good similar to native to have webgl and webgpu well separted - it would be easier after webgl has migrated to drawables.
I've added a backend flag to the render test harness, webgl1/webgl2/webgpu to force using one of them.
Launch Checklist
CHANGELOG.mdunder the## mainsection.