echarts数据渲染性能优化_性能优化之渲染

CPU通过图形API向GPU发送渲染指令,再通过硬件驱动程序发送给GPU设备,指令会放在命令缓冲区的队列中。这些指令由GPU逐一处理,知道命令缓冲区为空。只要GPU能能在下一帧开始之前跟上指令的速度和复杂度,帧率就保持不变。如果跟不上,或者CPU花费太多时间生成指令,帧速率开始下降。

GPU前端

前端是指CPU在渲染过程中处理顶点数据的部分。

从CPU接收网格数据并发出drawCall -> 收集顶点数据,对数据进行1:1修改和输出 -> 获得图元列表(三角形) -> 光栅化器获取图元,确定哪些像素需要绘制,创建片元

顶点着色器用来确定想要的输入数据和数据处理方式,并向光栅化器输出一组信息用来生成片元。

曲面细分由几何着色器(曲面细分着色器)处理,和顶点着色器不同的是,可以一对多的输出顶点,可以通过编程的方式生成其他图形

GPU后端

片元着色器往往承担更加复杂的工作,例如深度测试Alpha测试着色纹理采样光照阴影以及一些可行的后期处理方式。之后这些数据绘制到帧缓冲区,一旦当前帧渲染任务完成,图像就发送到显示设备。

在后端有两个指标往往是瓶颈的根源:填充率和内存带宽。

  1. 填充率

填充率是指GPU绘制片元的速度。如果一个片元未通过任意测试,就被丢弃。这可以大大提升性能,可以直接跳过昂贵的绘制步骤,开始处理下一个片元。每次在目标像素绘制都将消耗一个填充量

你可能感兴趣的:(echarts数据渲染性能优化)