Merge pull request #12671 from tschaub/cacheless
Configure cache on the layer instead of the source
This commit is contained in:
@@ -5,7 +5,7 @@ import WebGLHelper from '../../../../../src/ol/webgl/Helper.js';
|
||||
import WebGLTileLayer from '../../../../../src/ol/layer/WebGLTile.js';
|
||||
import {createCanvasContext2D} from '../../../../../src/ol/dom.js';
|
||||
|
||||
describe('ol.layer.Tile', function () {
|
||||
describe('ol/layer/WebGLTile', function () {
|
||||
/** @type {WebGLTileLayer} */
|
||||
let layer;
|
||||
/** @type {Map} */
|
||||
@@ -120,6 +120,17 @@ describe('ol.layer.Tile', function () {
|
||||
});
|
||||
});
|
||||
|
||||
it('tries to expire the source tile cache', (done) => {
|
||||
const source = layer.getSource();
|
||||
const expire = sinon.spy(source, 'expireCache');
|
||||
|
||||
layer.updateStyleVariables({r: 1, g: 2, b: 3});
|
||||
map.once('rendercomplete', () => {
|
||||
expect(expire.called).to.be(true);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('throws on incorrect style configs', function () {
|
||||
function incorrectStyle() {
|
||||
layer.style_ = {
|
||||
|
||||
@@ -54,6 +54,11 @@ describe('ol.renderer.webgl.TileLayer', function () {
|
||||
};
|
||||
});
|
||||
|
||||
it('maintains a cache on the renderer instead of the source', function () {
|
||||
expect(tileLayer.getSource().tileCache.highWaterMark).to.be(0.1);
|
||||
expect(renderer.tileTextureCache_.highWaterMark).to.be(512);
|
||||
});
|
||||
|
||||
it('#prepareFrame()', function () {
|
||||
const source = tileLayer.getSource();
|
||||
tileLayer.setSource(null);
|
||||
@@ -73,7 +78,7 @@ describe('ol.renderer.webgl.TileLayer', function () {
|
||||
expect(rendered).to.be.a(HTMLCanvasElement);
|
||||
expect(frameState.tileQueue.getCount()).to.be(1);
|
||||
expect(Object.keys(frameState.wantedTiles).length).to.be(1);
|
||||
expect(frameState.postRenderFunctions.length).to.be(0); // no tile expired
|
||||
expect(frameState.postRenderFunctions.length).to.be(1); // clear source cache (use renderer cache)
|
||||
expect(renderer.tileTextureCache_.count_).to.be(1);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user