如何计算LVGL的耗时?

请教个问题。我800 * 480,rgb565的屏,MCU频率200M。那么我创建这一页的数据的时间是否是这样算的:800 * 480 * 2 * 8/200000000/1000 = 30ms。而如果再加上每条语句都要2-3条甚至更多的指令,实际时间 >>30 * 3ms?

这种计算方法并不准确,可以粗略计算一下:
1.数据量:800 * 400 * 2=640000 byte = 320000 word
2. 每个word只需要1条指令,也就是320000条指令
3.假设每条指令只耗时一个时钟周期,那耗时就是:320000 / 200000000 = 0.0016 秒 = 1.6 ms

问题:
这种算法是cpu操作显示数据,
rgb屏一般都是dma搬运的,屏本身的时钟一般都是十几M,
我也不会算,我只会算这个lcd液晶屏呢时钟,
根据帧率,分辨率,行场参数算出来的液晶屏时钟


回复:
这里讨论的是lvgl层生成一页的速度


问题:
你的液晶屏设置多少时钟?


回复:
跟液晶屏频率没关系


问题:
刷显示接口不是用的dma吗?


回复1:
一个是刷新率一个是帧率,不是一个东西。
你好好看看上面我说的以及老师计算的数据是哪里的数据
其实老师计算的数据已经很能说明问题了,800*480分辨率的屏,200M的MCU光生成数据就要100多ms

回复2:
对的 一个是刷新率 例如60、65、70、75
另一个是播放帧率 例如24、30、60、90、120
两者根本就不是同一样东东

RGB液晶屏是DMA模式的 它是实时数据的
刷新率一般固定30或60,帧率就要看CPU的处理速度了,所以渲染大的控件帧率就比较低


问题:
我没明白准备数据的时间是什么意思

回复:
RGB接口的屏不带数据缓冲的,要自己建立timing去实时往上面刷数据,一停下来就没画面了,有数据缓冲的屏你停止发数据还是会保留最后的画面的


问题:
是从flash到ram的时间吗?

回复:
也可能是ram到ram


问题:
自己用sdram做的缓冲,算不算缓冲?

回复:
sdram数据是保持的,不刷也在


问题:
请教一下,我带缓冲的RGB屏,开机的时候有残影页面,但是却不是关机时最后的那个页面,而是一个固定的页面。

回复:
初始化寄存器,然后清屏,然后开启背光