芯方式

请问gdi_lcd_set_rotate & gdi_layer_set_rotate 的差异?

0
阅读(1985)

[DESCRIPTION]
As the title.
[SOLUTION]半导体
一、先理解下面这几个概念。
There are two kinds of rotate in gdi, Layer Rotate & LCD Rotate. You could think of "layer" as a
"photo", and think of "LCD" as a "Photo Frame".
"Layer rotate" —— means "rotate the photo then put it into the photo frame".
"LCD rotate" —— means "rotate the photo frame, then put photo into the photo frame"
二、gdi_layer_set_rotate与gdi_lcd_set_rotate的区别,两者在实现效果以及运行效率方面会有什么样的区别?
gdi_layer_set_rotate —— 使用BB内部的LCD Controller来实现Rotate的功能,因为做了Rotate,则读Memory就不连
续了,当然速度会变慢。
gdi_lcd_set_rotate —— 使用LCM Driver IC里设置Scan Direction的方式来实现Rotate的功能(目前已经没有支持
LCM Rotate的功能了)。
但MMI还是可以使用gdi_lcd_set_rotate,但同时要配合gdi_lcd_set_rotate_by_layer(KAL_TRUE)来使用
,gdi_lcd_set_rotate_by_layer的作用即是使用Layer Rotate来模拟出LCD Rotate的效果。
三、Ex,比如有两个Layer,那么都需要Rotate 90度,则可以:
1. gdi_layer_set_rotate(Layer1, 90);
gdi_layer_set_rotate(Layer2, 90);
或者
2. gdi_lcd_set_rotate_by_layer(KAL_TRUE);
gdi_lcd_set_rotate(270);