Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
强哥很慌张
Echarts
提交
8a171800
E
Echarts
项目概览
强哥很慌张
/
Echarts
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
Echarts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
8a171800
编写于
10月 16, 2020
作者:
Y
Yi Shen
提交者:
GitHub
10月 16, 2020
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #13170 from apache/dirty-rect
feat(dirty-rect): Using dirty rectangles to render charts
上级
60664f97
d5c8ce9b
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
47 addition
and
13 deletion
+47
-13
src/echarts.ts
src/echarts.ts
+14
-4
test/lib/caseFrame.css
test/lib/caseFrame.css
+2
-5
test/lib/caseFrame.js
test/lib/caseFrame.js
+28
-4
test/lib/config.js
test/lib/config.js
+3
-0
未找到文件。
src/echarts.ts
浏览文件 @
8a171800
...
...
@@ -333,6 +333,7 @@ class ECharts extends Eventful {
locale
?:
string
|
LocaleOption
,
renderer
?:
RendererType
,
devicePixelRatio
?:
number
,
useDirtyRect
?:
boolean
,
width
?:
number
,
height
?:
number
}
...
...
@@ -348,18 +349,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.
...
...
test/lib/caseFrame.css
浏览文件 @
8a171800
...
...
@@ -35,7 +35,7 @@
}
.case-frame
.cases-list
ul
{
padding-left
:
32px
;
margin-top
:
1
3
0px
;
margin-top
:
1
7
0px
;
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
;
...
...
test/lib/caseFrame.js
浏览文件 @
8a171800
...
...
@@ -40,8 +40,15 @@
'
<div class="info-panel">
'
,
'
<input class="current" />
'
,
'
<div class="renderer-selector">
'
,
'
<input type="radio" value="canvas" name="renderer" /> CANVAS
'
,
'
<input type="radio" value="svg" name="renderer" /> SVG
'
,
'
<div class="render-selector-item">
'
,
'
<input type="radio" value="canvas" name="renderer" /> CANVAS
'
,
'
</div>
'
,
'
<div class="render-selector-item">
'
,
'
<input type="radio" value="dirty-rect" name="renderer" /> CANVAS (dirty rect)
'
,
'
</div>
'
,
'
<div class="render-selector-item">
'
,
'
<input type="radio" value="svg" name="renderer" /> SVG
'
,
'
</div>
'
,
'
</div>
'
,
'
<div class="list-filter"></div>
'
,
'
<select class="dist-selector">
'
,
...
...
@@ -107,13 +114,23 @@
});
rendererSelector
.
off
(
'
click
'
).
on
(
'
click
'
,
function
(
e
)
{
setState
(
'
renderer
'
,
e
.
target
.
value
);
if
(
e
.
target
.
value
===
'
dirty-rect
'
)
{
setState
(
'
renderer
'
,
'
canvas
'
);
setState
(
'
useDirtyRect
'
,
true
);
}
else
{
setState
(
'
renderer
'
,
e
.
target
.
value
);
setState
(
'
useDirtyRect
'
,
false
);
}
});
var
renderer
=
getState
(
'
renderer
'
);
var
useDirtyRect
=
getState
(
'
useDirtyRect
'
);
rendererSelector
.
each
(
function
(
index
,
el
)
{
el
.
checked
=
el
.
value
===
renderer
;
el
.
checked
=
el
.
value
===
'
dirty-rect
'
?
useDirtyRect
:
el
.
value
===
renderer
;
});
}
...
...
@@ -190,6 +207,11 @@
var
matchResult
=
(
pageURL
||
''
).
match
(
/
[
?&
]
__RENDERER__=
(
canvas|svg
)(
&|$
)
/
);
return
matchResult
&&
matchResult
[
1
]
||
'
canvas
'
;
},
// true, false
useDirtyRect
:
function
(
pageURL
)
{
var
matchResult
=
(
pageURL
||
''
).
match
(
/
[
?&
]
__USE_DIRTY_RECT__=
(
true|false
)(
&|$
)
/
);
return
matchResult
&&
matchResult
[
1
]
===
'
true
'
;
},
// 'dist', 'webpack', 'webpackold'
dist
:
function
(
pageURL
)
{
var
matchResult
=
(
pageURL
||
''
).
match
(
/
[
?&
]
__ECDIST__=
(
webpack-req-ec|webpack-req-eclibec|webpackold-req-ec|webpackold-req-eclibec
)(
&|$
)
/
);
...
...
@@ -223,6 +245,7 @@
function
setState
(
prop
,
value
)
{
var
curr
=
{
renderer
:
getState
(
'
renderer
'
),
useDirtyRect
:
getState
(
'
useDirtyRect
'
),
dist
:
getState
(
'
dist
'
),
pagePath
:
getState
(
'
pagePath
'
),
listFilterName
:
getState
(
'
listFilterName
'
)
...
...
@@ -237,6 +260,7 @@
function
makePageURL
(
curr
)
{
return
curr
.
pagePath
+
'
?
'
+
[
'
__RENDERER__=
'
+
curr
.
renderer
,
'
__USE_DIRTY_RECT__=
'
+
curr
.
useDirtyRect
,
'
__ECDIST__=
'
+
curr
.
dist
,
'
__FILTER__=
'
+
curr
.
listFilterName
].
join
(
'
&
'
);
...
...
test/lib/config.js
浏览文件 @
8a171800
...
...
@@ -35,6 +35,9 @@
if
(
params
.
__RENDERER__
)
{
window
.
__ECHARTS__DEFAULT__RENDERER__
=
params
.
__RENDERER__
;
}
if
(
params
.
__USE_DIRTY_RECT__
)
{
window
.
__ECHARTS__DEFAULT__USE_DIRTY_RECT__
=
params
.
__USE_DIRTY_RECT__
===
'
true
'
;
}
// Set echarts source code.
var
ecDistPath
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录