“屏幕 RAM”的传说

移动开发
最近,我从推特上看到了小米提出的新概念——屏幕 RAM。对此概念有些疑惑。于是,根据各种论坛的线索,我大致归纳了“屏幕RAM”的几个特点:

 

这是一种缓存机制,使得 GPU 只需要运算 delta 值。在没有此机制的屏幕上绘图要求 GPU 不断的工作,产生图形

这种机制可以得到性能的提升,原因是 GPU 不需要 concentrace on 不断的渲染相同的图像

这种机制可以节约电量

这种机制主要应用在高端手机上

这种机制的成本是 80 元人民币,约合 $15

暂且抛开这种机制在一边,我们先看一看 LCD 的显示原理。

不管是 TTF 还是较早的 STN 屏幕,其都是由一个一个的亚像素(彩色显示器)/栅格(灰度显示器)组成的。给液晶分子加上一个电压,液晶分子将改变其光透射特性,这就激发颜色的改变(对于彩色显示器),或者透光度的改变(对于黑白显示器)。外加电场消失时,透光度恢复。不管是什么技术,它们的基本原理大抵如此。

 

 

如果有一些嵌入式开发经验,可能将 LCD 看作一组寄存器的概念更能接受————实际上,我们无法对 LCD 直接进行操作,我们操作的对象是 LCD 控制器,控制器控制各个像素/栅格的状态,这也是为了节省宝贵的 IO 端口。可以将 LCD 作为一组寄存器操作的 LCD 面板叫做 “智能 LCD 面板“。这种面板自带的控制器中含有 FrameBuffer (帧缓存) 甚至渲染引擎。我们在嵌入式开发中常用的 1602 屏幕就自带了显示引擎、字库以及帧缓存。而有一些其他的屏幕,例如 S3C2440 开发板中常用的某些 LCD 屏幕就没有自己的帧缓存、显示引擎,这种屏幕叫做”哑面板“。哑面板需要外置的 LCD 控制器,而智能面板不需要额外的 LCD 控制器。

帧缓存这个名词听起来有一点点绕口,其实它更通俗的名字叫做”显存“。显示引擎预先渲染一些内容,并将其保存在显存中,如果显存太小,则显示控制器将不断的运行,有可能导致的是因为运算能力较差造成延迟和掉帧的现象。另一方面,带有 LCD 控制器的面板可以接受高级指令,也不需要外界(这里的系统定义为 LCD)的额外控制就可以保持显示内容。显然,这种 LCD 因为内置了显示引擎而造成成本的增加。然而,哑面板虽然成本低,但需要外界不断的刷新内容而保持屏幕的正常显示,这无疑将增加外界的计算压力。

这里,我们也许会觉得,这与上面提出的机制的特点相当吻合。确实如此吗?不尽然。

现代计算机中的一个重要组成部分叫做显示适配器,俗称显卡。手机等嵌入式设备也不例外,但是由于其空间受限制,一般更倾向于 SoC 设计(片上系统,俗称“手机主芯片”,主流是 ARM 体系)。内置 LCD 控制器的智能 LCD 似乎很适合,但是我们知道,2008年之后的手机市场已经开始了性能竞赛——例如我现在使用的 iPhone 4S 的主频是 800MHz——作为对比,2009 年我购买的 HTC Dream 的主频是 384MHz,2007 年我购买的 Motorola Rokr E6 则是 313MHz 的主频。

与此同时,图形处理器,作为片内的一部分,它的进步也是随着中央处理器的进步而进步的。LCD 控制器的内置”显卡“毫无疑问相比于英伟达等专业厂商的显卡是很弱的。尽管哑面板没有帧缓存,要求不断的刷新屏幕,并使用了更多的总线带宽(显示器的带宽总是很大的),但是——无论如何,这些工作都是需要做的,不管是液晶面板做了,还是面板外进行的。

小米手机的 GPU,是 Adreno 220。查阅了此款 GPU 的资料,得知这是 SoC 内置 SRAM FrameBuffer 的解决方案。当然了,苹果的 A5 处理器一样是这种架构的 SoC ,也内置了 FrameBuffer。另一方面,根据魅族公布的资料,魅族 MX 的 GPU 也是 SoC 实现的 Cortex-A9 + Mali-400MP GPU。这款片上同样集成了一定数量的内存作为帧缓存使用,根据 ARM 的介绍,其***支持的帧缓存大小为单帧 4096×4096。

即使说到这里,可能还是有一些读者不理解他们有什么太大的差距,在这里,我再说明一下它们之间的联系:

为了让液晶面板现实出文字和图像,必须配合一块特殊的控制器;

控制器的位置可以放在多个地方;

对于很多智能手机而言,在 SoC 和显示面板上都具有控制器。

由于填充 Framebuffer 的过程必须由内置的 GPU 完成,则显示器将显示来自 Framebuffer 的内容。既然两种手机都显示来自 Framebuffer 的内容,那么不管他们选择什么样的液晶面板,都会达到一样的效果,那就是帧缓存在液晶屏幕之外。

作为初步结论,我认为,”屏幕 RAM”应该是指的液晶面板内的帧缓存。在当前的运行模式下,其存在的意义不大,在硬件抽象层之上,操作系统是不需要关心这种实现的。尽管哑面板有着种种缺点,但因为目前的设计,实际上智能面板的“智能部分”已经由更加智能的智能手机片内的 GPU 所完成。因此,单独提出这个概念并没有太多技术上的说服力。”屏幕 RAM”就成为了一个营销概念。

【编辑推荐】

  1. 小米MIUI的10个亮点及5处不足
  2. 小米手机质量遭质疑 部分用户期望过高
  3. 雷军称感到“憋屈” 小米或向电商平台发展
责任编辑:冰凝儿 来源: 爱范儿
相关推荐

2012-03-30 10:03:27

HTML 5

2011-04-28 09:36:22

海量数据存储

2012-03-16 09:57:29

开源

2012-03-16 09:23:50

开源IDC

2022-02-22 12:51:39

存储过程JavaSQL

2012-03-30 09:45:07

WEBHTML5

2012-04-04 12:57:37

HTML5

2018-03-13 07:17:39

网络限速运营商网络

2019-10-30 15:27:01

机器人人工智能系统

2013-03-26 13:02:58

UI设计易用用户体验

2020-05-18 14:15:04

华为

2009-12-22 14:22:39

Fedora Core

2018-08-15 10:15:55

RAM存储器SSD

2022-01-15 23:08:03

手机屏幕曲面屏

2021-06-01 08:22:53

软件断点单片机

2015-05-20 10:02:02

程序员全栈工程师

2013-07-16 10:03:45

移动市场移动观察新机型

2017-03-02 12:18:22

5G运作基础

2015-03-17 10:36:36

程序员

2010-11-04 10:19:31

Chrome OS
点赞
收藏

51CTO技术栈公众号