可视化绘图的性能优化
这是听了2022 See Conf后做的记录,供后续参考。
蚂蚁:沧东
draw call性能优化1、剔除:包围盒与视口求交
1.1 通过场景图(父子关系)减少求交次数
1.2 空间索引,STLT算法;将靠得比较近的图形,合并为一个图形,减少求交次数
2、脏矩形渲染
类似react的diff算法,找出真正变化的内容,比如高亮
Canvas2D API: clearRect3、合批绘制
//Canvas2D
ctx.arc() * 8000//webgl
gl.drawElementsInstanced() * 14、GPU并行计算
比如页面平移
// CPU
for (0:8000)
xxx.transform…// GPU 并行(Shader)
vec4 position = u_ProjectionMatrix * u_ViewModelMatrix;