Merge pull request #1330 from twpayne/fail-if-major-performance-caveat

Don't use WebGL if there as a major performance caveat
This commit is contained in:
Tom Payne
2013-12-04 04:58:46 -08:00
2 changed files with 19 additions and 12 deletions

View File

@@ -88,6 +88,7 @@ ol.renderer.webgl.Map = function(container, map) {
this.gl_ = ol.webgl.getContext(this.canvas_, { this.gl_ = ol.webgl.getContext(this.canvas_, {
antialias: true, antialias: true,
depth: false, depth: false,
failIfMajorPerformanceCaveat: true,
preserveDrawingBuffer: false, preserveDrawingBuffer: false,
stencil: false stencil: false
}); });

View File

@@ -52,15 +52,21 @@ ol.webgl.getContext = function(canvas, opt_attributes) {
* @const * @const
* @type {boolean} * @type {boolean}
*/ */
ol.webgl.SUPPORTED = (function() { ol.webgl.SUPPORTED = (
if (!('WebGLRenderingContext' in goog.global)) { /**
return false; * @return {boolean} WebGL supported.
} */
try { function() {
var canvas = /** @type {HTMLCanvasElement} */ if (!('WebGLRenderingContext' in goog.global)) {
(goog.dom.createElement(goog.dom.TagName.CANVAS)); return false;
return !goog.isNull(ol.webgl.getContext(canvas)); }
} catch (e) { try {
return false; var canvas = /** @type {HTMLCanvasElement} */
} (goog.dom.createElement(goog.dom.TagName.CANVAS));
})(); return !goog.isNull(ol.webgl.getContext(canvas, {
failIfMajorPerformanceCaveat: true
}));
} catch (e) {
return false;
}
})();