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 ',
+ '
',
'
',
'
',
'