diff --git a/src/echarts.ts b/src/echarts.ts index 6dbec0df1c..2d63364d93 100644 --- a/src/echarts.ts +++ b/src/echarts.ts @@ -327,6 +327,7 @@ class ECharts extends Eventful { locale?: string | LocaleOption, renderer?: RendererType, devicePixelRatio?: number, + useDirtyRect?: boolean, width?: number, height?: number } @@ -342,18 +343,27 @@ class ECharts extends Eventful { this._dom = dom; + const root = ( + typeof window === 'undefined' ? global : window + ) as any; + let defaultRenderer = 'canvas'; + let defaultUseDirtyRect = false; if (__DEV__) { - defaultRenderer = (( - typeof window === 'undefined' ? global : window - ) as any).__ECHARTS__DEFAULT__RENDERER__ || defaultRenderer; + defaultRenderer = root.__ECHARTS__DEFAULT__RENDERER__ || defaultRenderer; + + const devUseDirtyRect = root.__ECHARTS__DEFAULT__USE_DIRTY_RECT__; + defaultUseDirtyRect = devUseDirtyRect == null + ? defaultUseDirtyRect + : devUseDirtyRect; } const zr = this._zr = zrender.init(dom, { renderer: opts.renderer || defaultRenderer, devicePixelRatio: opts.devicePixelRatio, width: opts.width, - height: opts.height + height: opts.height, + useDirtyRect: opts.useDirtyRect == null ? defaultUseDirtyRect : opts.useDirtyRect }); // Expect 60 fps. diff --git a/test/lib/caseFrame.css b/test/lib/caseFrame.css index 11816b545a..33442f9f29 100644 --- a/test/lib/caseFrame.css +++ b/test/lib/caseFrame.css @@ -35,7 +35,7 @@ } .case-frame .cases-list ul { padding-left: 32px; - margin-top: 130px; + margin-top: 170px; list-style-type: decimal; } .case-frame .info-panel { @@ -54,10 +54,7 @@ text-decoration: underline; } .case-frame .info-panel .renderer-selector { - height: 40px; - line-height: 40px; -} -.case-frame .info-panel .dist-selector { + margin: 10px; } .case-frame .info-panel .list-filter { margin: 10px 0; diff --git a/test/lib/caseFrame.js b/test/lib/caseFrame.js index 10b2b1094d..febc9d556e 100644 --- a/test/lib/caseFrame.js +++ b/test/lib/caseFrame.js @@ -40,8 +40,15 @@ '
', ' ', '
', - ' CANVAS ', - ' SVG ', + '
', + ' CANVAS ', + '
', + '
', + ' CANVAS (dirty rect) ', + '
', + '
', + ' SVG ', + '
', '
', '
', '