Skip to content

Commit cfc0316

Browse files
committed
尝试优化mbgl three图层性能
1 parent 630fdc1 commit cfc0316

File tree

5 files changed

+29
-65
lines changed

5 files changed

+29
-65
lines changed

dist/iclient9-mapboxgl.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/iclient9-mapboxgl.js

Lines changed: 14 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -55542,9 +55542,8 @@ var ThreeLayer = exports.ThreeLayer = function (_mapboxgl$Evented) {
5554255542
me._map = map;
5554355543
me.renderer.setMap(map);
5554455544
me.renderer.render();
55545-
this._moving = false;
5554655545
//three mbgl 联动(仅联动相机,不执行重绘操作)
55547-
me._map.on('move', this._update.bind(me));
55546+
me._map.on('render', this._update.bind(me));
5554855547
me._map.on('resize', this._resize.bind(me));
5554955548

5555055549
return this;
@@ -55643,19 +55642,15 @@ var ThreeLayer = exports.ThreeLayer = function (_mapboxgl$Evented) {
5564355642
}, {
5564455643
key: "_update",
5564555644
value: function _update() {
55646-
if (!this._moving) {
55647-
this._moving = !!1;
55648-
this.renderScene();
55649-
this._moving = !!0;
55650-
/**
55651-
* move事件,地图移动时触发
55652-
* @event mapboxgl.supermap.ThreeLayer#move
55653-
* @type {Object}
55654-
* @property {string} type - move
55655-
* @property {Object} target - layer
55656-
*/
55657-
this.fire('move');
55658-
}
55645+
/**
55646+
* render事件,地图渲染时(地图状态改变时)触发
55647+
* @event mapboxgl.supermap.ThreeLayer#render
55648+
* @type {Object}
55649+
* @property {string} type - render
55650+
* @property {Object} target - layer
55651+
*/
55652+
this.renderScene();
55653+
this.fire('render');
5565955654
return this;
5566055655
}
5566155656
}]);
@@ -81540,9 +81535,6 @@ var ThreeLayerRenderer = exports.ThreeLayerRenderer = function () {
8154081535
this._layer = layer;
8154181536
this.renderer = renderer || "gl";
8154281537
this.options = options;
81543-
81544-
var layerOpt = this._layer.options;
81545-
this.forceRefresh = layerOpt != null ? layerOpt.forceRefresh : false;
8154681538
}
8154781539

8154881540
_createClass(ThreeLayerRenderer, [{
@@ -81601,18 +81593,10 @@ var ThreeLayerRenderer = exports.ThreeLayerRenderer = function () {
8160181593
}, {
8160281594
key: "renderFrame",
8160381595
value: function renderFrame(fn) {
81604-
var _render;
81605-
if (this.forceRefresh) {
81606-
_render = function render() {
81607-
fn && typeof fn === "function" && fn();
81608-
return frame(_render);
81609-
};
81610-
} else {
81611-
_render = function _render() {
81612-
fn && typeof fn === "function" && fn();
81613-
};
81614-
}
81615-
return frame(_render);
81596+
var render = function render() {
81597+
fn && typeof fn === "function" && fn();
81598+
};
81599+
return frame(render);
8161681600
}
8161781601
}, {
8161881602
key: "resize",

dist/iclient9-mapboxgl.min.js

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/mapboxgl/overlay/ThreeLayer.js

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -325,9 +325,8 @@ export class ThreeLayer extends mapboxgl.Evented {
325325
me._map = map;
326326
me.renderer.setMap(map);
327327
me.renderer.render();
328-
this._moving = false;
329328
//three mbgl 联动(仅联动相机,不执行重绘操作)
330-
me._map.on('move', this._update.bind(me));
329+
me._map.on('render', this._update.bind(me));
331330
me._map.on('resize', this._resize.bind(me));
332331

333332
return this;
@@ -408,22 +407,17 @@ export class ThreeLayer extends mapboxgl.Evented {
408407
}
409408

410409
_update() {
411-
if (!this._moving) {
412-
this._moving = !!1;
413-
this.renderScene();
414-
this._moving = !!0;
415-
/**
416-
* move事件,地图移动时触发
417-
* @event mapboxgl.supermap.ThreeLayer#move
418-
* @type {Object}
419-
* @property {string} type - move
420-
* @property {Object} target - layer
421-
*/
422-
this.fire('move');
423-
}
410+
/**
411+
* render事件,地图渲染时(地图状态改变时)触发
412+
* @event mapboxgl.supermap.ThreeLayer#render
413+
* @type {Object}
414+
* @property {string} type - render
415+
* @property {Object} target - layer
416+
*/
417+
this.renderScene();
418+
this.fire('render');
424419
return this;
425420
}
426-
427421
}
428422

429423

src/mapboxgl/overlay/threejs/ThreeLayerRenderer.js

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,6 @@ export class ThreeLayerRenderer {
5151
this._layer = layer;
5252
this.renderer = renderer || "gl";
5353
this.options = options;
54-
55-
var layerOpt = this._layer.options;
56-
this.forceRefresh = layerOpt != null
57-
? layerOpt.forceRefresh
58-
: false;
5954
}
6055

6156
setMap(map) {
@@ -104,17 +99,9 @@ export class ThreeLayerRenderer {
10499
}
105100

106101
renderFrame(fn) {
107-
var render;
108-
if (this.forceRefresh) {
109-
render = function () {
110-
fn && typeof fn === "function" && fn();
111-
return frame(render);
112-
}
113-
} else {
114-
render = function () {
115-
fn && typeof fn === "function" && fn();
116-
}
117-
}
102+
var render = function () {
103+
fn && typeof fn === "function" && fn();
104+
};
118105
return frame(render);
119106
}
120107

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy