From ad6a0f6dbd690cb86d06950bfed6021d4e4efdc9 Mon Sep 17 00:00:00 2001 From: Felix Palmer Date: Mon, 24 May 2021 08:59:58 +0200 Subject: [PATCH 1/7] Set default of MVTLayer binary to true --- docs/whats-new.md | 25 +++++++++++++++++++ modules/geo-layers/src/mvt-layer/mvt-layer.js | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/docs/whats-new.md b/docs/whats-new.md index 2dc9e5c09f0..aaf357336e2 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -2,6 +2,31 @@ This page contains highlights of each deck.gl release. Also check our [vis.gl blog](https://medium.com/vis-gl) for news about new releases and features in deck.gl. +## deck.gl v8.5 (In development) + +### MVT Layer + +#### Binary mode + +The `binary` prop of `MVTLayer` is set to `true` by default. + +#### Direct binary parsing + +Binary output is now 2-3X faster for large datasets thanks to parsing directly from PBF to binary, rather than going through GeoJSON as an intermediate representation. Speed comparison on some example data sets (MVT tiles parsed per second): + +| | Via GeoJSON | Direct | Speed increase | +| ------------------ | ----------- | ------ | -------------- | +| Block groups | 2.86/s | 5.57/s | 1.94X | +| Census layer | 6.09/s | 11.9/s | 1.95X | +| Counties Layer | 72.5/s | 141/s | 1.94X | +| Usa Zip Code Layer | 8.45/s | 20.3/s | 2.4X | + +_Benchmarks ran using scripts on a 2012 MacBook Pro, 2.3 GHz Intel Core i7, 8 GB, measuring parsing time of MVTLoader only (network time and rendering is not included)_ + +#### Polygon triangulation in worker + +The MVTLoader now peforms the triangulation of polygons in a worker, speeding up loading of polygon geometries and easing the work on the main thread. + ## deck.gl v8.4 Release date: Jan 31, 2021 diff --git a/modules/geo-layers/src/mvt-layer/mvt-layer.js b/modules/geo-layers/src/mvt-layer/mvt-layer.js index 96f99092823..b1e7ebb7e0a 100644 --- a/modules/geo-layers/src/mvt-layer/mvt-layer.js +++ b/modules/geo-layers/src/mvt-layer/mvt-layer.js @@ -16,7 +16,7 @@ const defaultProps = { uniqueIdProperty: {type: 'string', value: ''}, highlightedFeatureId: null, loaders: [MVTLoader], - binary: false + binary: true }; async function fetchTileJSON(url) { From 7c84fc3c8f3f63978e2265a52a794c6f86113018 Mon Sep 17 00:00:00 2001 From: felixpalmer Date: Mon, 24 May 2021 15:13:39 +0200 Subject: [PATCH 2/7] Reword parsing note Co-authored-by: Ib Green --- docs/whats-new.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/whats-new.md b/docs/whats-new.md index aaf357336e2..671c37b28a5 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -12,7 +12,7 @@ The `binary` prop of `MVTLayer` is set to `true` by default. #### Direct binary parsing -Binary output is now 2-3X faster for large datasets thanks to parsing directly from PBF to binary, rather than going through GeoJSON as an intermediate representation. Speed comparison on some example data sets (MVT tiles parsed per second): +Mapbox Vector Tiles parsing throughput is now 2-3x faster, due to MVT tiles being parsed directly into binary attributes rather than GeoJSON, and additional work being performed on worker threads. Speed comparison on some example data sets (MVT tiles parsed per second): | | Via GeoJSON | Direct | Speed increase | | ------------------ | ----------- | ------ | -------------- | From 7f96fd65c13d7111fc5d481424a793bf3645e00d Mon Sep 17 00:00:00 2001 From: felixpalmer Date: Mon, 24 May 2021 15:16:13 +0200 Subject: [PATCH 3/7] Tweak column names Co-authored-by: Ib Green --- docs/whats-new.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/whats-new.md b/docs/whats-new.md index 671c37b28a5..c4d68843dd4 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -14,12 +14,12 @@ The `binary` prop of `MVTLayer` is set to `true` by default. Mapbox Vector Tiles parsing throughput is now 2-3x faster, due to MVT tiles being parsed directly into binary attributes rather than GeoJSON, and additional work being performed on worker threads. Speed comparison on some example data sets (MVT tiles parsed per second): -| | Via GeoJSON | Direct | Speed increase | +| Data set | `binary: false` | `binary: true` | Speed increase | | ------------------ | ----------- | ------ | -------------- | -| Block groups | 2.86/s | 5.57/s | 1.94X | -| Census layer | 6.09/s | 11.9/s | 1.95X | -| Counties Layer | 72.5/s | 141/s | 1.94X | -| Usa Zip Code Layer | 8.45/s | 20.3/s | 2.4X | +| Block groups | 2.86/s | 5.57/s | 1.94x | +| Census layer | 6.09/s | 11.9/s | 1.95x | +| Counties Layer | 72.5/s | 141/s | 1.94x | +| Usa Zip Code Layer | 8.45/s | 20.3/s | 2.4x | _Benchmarks ran using scripts on a 2012 MacBook Pro, 2.3 GHz Intel Core i7, 8 GB, measuring parsing time of MVTLoader only (network time and rendering is not included)_ From ce6ebcf4e7f22e2c206d8adb8929d2e97c531388 Mon Sep 17 00:00:00 2001 From: Felix Palmer Date: Mon, 24 May 2021 15:24:11 +0200 Subject: [PATCH 4/7] More succinct release note for MVTLayer --- docs/upgrade-guide.md | 1 + docs/whats-new.md | 10 +--------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/docs/upgrade-guide.md b/docs/upgrade-guide.md index fcfb47a6797..025d71f5cbf 100644 --- a/docs/upgrade-guide.md +++ b/docs/upgrade-guide.md @@ -19,6 +19,7 @@ The module entry point is now only lightly transpiled for the most commonly used - `GeoJsonLayer`'s `lineJointRounded` prop now only controls line joints. To use rounded line caps, set `lineCapRounded` to `true`. - Dashed lines via `PathStyleExtension` now draw rounded dash caps if `capRounded` is `true`. - `@deck.gl/geo-layers` now requires `@deck.gl/extensions`, due to `ClipExtension` dependency. +- `MVTLayer`'s `binary` prop is now set to `true` by default. ### onError Callback diff --git a/docs/whats-new.md b/docs/whats-new.md index c4d68843dd4..f815615b865 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -6,13 +6,9 @@ This page contains highlights of each deck.gl release. Also check our [vis.gl bl ### MVT Layer -#### Binary mode - -The `binary` prop of `MVTLayer` is set to `true` by default. - #### Direct binary parsing -Mapbox Vector Tiles parsing throughput is now 2-3x faster, due to MVT tiles being parsed directly into binary attributes rather than GeoJSON, and additional work being performed on worker threads. Speed comparison on some example data sets (MVT tiles parsed per second): +Mapbox Vector Tiles parsing throughput is now 2-3x faster, due to MVT tiles being parsed directly into binary attributes rather than GeoJSON, and additional work (including [triangulation](https://github.com/visgl/loaders.gl/blob/master/docs/whats-new.md#v30-in-development))being performed on worker threads. Speed comparison on some example data sets (MVT tiles parsed per second): | Data set | `binary: false` | `binary: true` | Speed increase | | ------------------ | ----------- | ------ | -------------- | @@ -23,10 +19,6 @@ Mapbox Vector Tiles parsing throughput is now 2-3x faster, due to MVT tiles bein _Benchmarks ran using scripts on a 2012 MacBook Pro, 2.3 GHz Intel Core i7, 8 GB, measuring parsing time of MVTLoader only (network time and rendering is not included)_ -#### Polygon triangulation in worker - -The MVTLoader now peforms the triangulation of polygons in a worker, speeding up loading of polygon geometries and easing the work on the main thread. - ## deck.gl v8.4 Release date: Jan 31, 2021 From c48b9dffc3697cc11c8f62a69a6317848bc97dbb Mon Sep 17 00:00:00 2001 From: felixpalmer Date: Tue, 25 May 2021 12:11:20 +0200 Subject: [PATCH 5/7] Typo Co-authored-by: Kyle Barron --- docs/whats-new.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/whats-new.md b/docs/whats-new.md index f815615b865..e818377516d 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -8,7 +8,7 @@ This page contains highlights of each deck.gl release. Also check our [vis.gl bl #### Direct binary parsing -Mapbox Vector Tiles parsing throughput is now 2-3x faster, due to MVT tiles being parsed directly into binary attributes rather than GeoJSON, and additional work (including [triangulation](https://github.com/visgl/loaders.gl/blob/master/docs/whats-new.md#v30-in-development))being performed on worker threads. Speed comparison on some example data sets (MVT tiles parsed per second): +Mapbox Vector Tiles parsing throughput is now 2-3x faster, due to MVT tiles being parsed directly into binary attributes rather than GeoJSON, and additional work (including [triangulation](https://github.com/visgl/loaders.gl/blob/master/docs/whats-new.md#v30-in-development)) being performed on worker threads. Speed comparison on some example data sets (MVT tiles parsed per second): | Data set | `binary: false` | `binary: true` | Speed increase | | ------------------ | ----------- | ------ | -------------- | From df25a9f785f5c68ad834591b36676c97bb0f306e Mon Sep 17 00:00:00 2001 From: felixpalmer Date: Tue, 25 May 2021 12:11:43 +0200 Subject: [PATCH 6/7] Caps Co-authored-by: Kyle Barron --- docs/whats-new.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/whats-new.md b/docs/whats-new.md index e818377516d..789ee003df6 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -15,7 +15,7 @@ Mapbox Vector Tiles parsing throughput is now 2-3x faster, due to MVT tiles bein | Block groups | 2.86/s | 5.57/s | 1.94x | | Census layer | 6.09/s | 11.9/s | 1.95x | | Counties Layer | 72.5/s | 141/s | 1.94x | -| Usa Zip Code Layer | 8.45/s | 20.3/s | 2.4x | +| USA Zip Code Layer | 8.45/s | 20.3/s | 2.4x | _Benchmarks ran using scripts on a 2012 MacBook Pro, 2.3 GHz Intel Core i7, 8 GB, measuring parsing time of MVTLoader only (network time and rendering is not included)_ From d9bd4a067bb9c07444a99c4f5a844c4d0038d832 Mon Sep 17 00:00:00 2001 From: felixpalmer Date: Tue, 25 May 2021 12:11:51 +0200 Subject: [PATCH 7/7] Caps Co-authored-by: Kyle Barron --- docs/whats-new.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/whats-new.md b/docs/whats-new.md index 789ee003df6..55e3fe46f28 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -12,8 +12,8 @@ Mapbox Vector Tiles parsing throughput is now 2-3x faster, due to MVT tiles bein | Data set | `binary: false` | `binary: true` | Speed increase | | ------------------ | ----------- | ------ | -------------- | -| Block groups | 2.86/s | 5.57/s | 1.94x | -| Census layer | 6.09/s | 11.9/s | 1.95x | +| Block Groups | 2.86/s | 5.57/s | 1.94x | +| Census Layer | 6.09/s | 11.9/s | 1.95x | | Counties Layer | 72.5/s | 141/s | 1.94x | | USA Zip Code Layer | 8.45/s | 20.3/s | 2.4x |