揭秘 | 小米最新款12PRO智能动态刷新率技术原理

1. 背景

最新发布的小米手机12pro提到了一个安卓系统上的新技术:智能动态刷新率。这到底是个啥技术?让雷军同学可以大吹特吹。

5c20fd786b5d40611766ce66c34c3d73.png
智能动态刷新海报

要解释上面的技术,不得不提刷新率帧率这两个概念。在平时的生活当中,你可能也会经常听到这两个术语,但千万不要把它们搞混淆,这是两个不同的概念,涉及到不同的技术领域。我相信,对于游戏玩家而言,这两个词更是高频的出现过,如果理解了这两个概念,那么对于游戏玩家购买电脑主机和显示器会有很大的帮助。

2. 刷新率

刷新率是计算机显示器、电视和其他显示设备中的技术术语,如下图所示:

efee7236dd8c5ab7c587f07a7d15dc9e.png
刷新率示意图

其含义是指显示器每秒能够绘制新图像的次数,通常以赫兹(Hz)来测量,如果显示器的刷新率为60Hz,那么它每秒刷新图像60次。刷新率越高,显示器就越能显示屏幕上快速移动的物体,比如动作电影或运动节目。而传统显示设备的刷新率是60Hz,这是一个经过科学验证过的数值,当刷新率为60Hz时人类基本不会感知到屏幕上的图像闪烁。

不同的刷新率具体有什么不同呢,我们可以看下图所示的说明,不同的刷新率代表了每幅图像之间时间间隔不同,例如120Hz刷新率时,理论上每幅图片之间的时间间隔是8.33ms,这显然比30Hz刷新率时每幅图片之间的33.33ms的体验更加。

678c09863da3115119ca9e89806364dd.png
不同刷新率的显示效果

3. 帧率

首先,什么是,什么决定了帧率?是一个单一的静止图像,然后将其与其他静止图像(每一个图像略有不同)组合成一个快速幻灯片,以实现自然运动的错觉。帧率是一秒内显示的图像数量,我们用FPS(Frame per second)来表示帧率。

f0584574f88fb654062a8303e5cb6170.png
帧率示意图

如上图所示,FPS是CPU/GPU与显示设备之间的一个概念,其核心为CPU/GPU。为了生成或渲染一个新的帧,你的CPU和GPU需要一起协同工作,CPU发送指令指定位置和场景中物体的纹理来生成图像,然后你的GPU按照你设定的分辨率将图像分割成像素,并将这些信息发送到显示器上。你的CPU和GPU越强大,它们每秒生成的帧数就越多,而我们看到的显示效果也就越顺爽丝滑

4. 显示撕裂

现在我们知道了刷新率Hz表示显示器每秒钟刷新图像的次数,帧率FPS是指CPU/GPU每秒钟产生或绘制的帧数。

它们在物理空间上是两个独立的概念,显示器的刷新率(Hz)不会影响CPU/GPU输出的帧率(FPS)。

a4bff99f4cf05031988a373bf81e99aa.png
FPS vs Hz

二者需要协同工作,才可以获取到一个较好的显示效果。

当帧率小于了刷新率,我们又不能获得顺爽丝滑的显示效果。当然,在帧率小于刷新率时,我们可以让CPU或者GPU在空出来的时间做额外的事情,比如,提高图片显示的分辨率。

当帧率大于屏幕刷新率时,会造成屏幕显示撕裂的效果,俗称为tearing。我们当然不希望让这样的显示效果呈现在我们的眼前,它已经不仅仅是降低我们感官体验了,而是出现了显示故障。
像下图这样,两帧图像同时出现在了显示器上,造成了显示的错位。

c741df54f8abdcb51c8653e143983d60.png
tearing

为了解决tearing问题,基于CPU绘图的显示设备,应用层代码可以获取到DRM panel的刷新率,然后强制帧刷新率等于屏幕刷新率。而通过GPU进行图像渲染输出的设备,常见的做法是引入vsync机制。目前做的比较好的是NVIDIA G-SYNCAMD FreeSync

d58f94ad951a99c0265889b796a5e65e.png
AMD 和 NVIDIA的vsync技术

前者在显卡上放置了一颗用于vsync通讯的芯片,可以调整显示设备的刷新率以支持显卡的帧率。后者是基于液晶显示器的自适应同步技术,不需要额外的芯片。

现在回头看小米的动态刷新率,他是根据不同的应用场景动态的改变帧率,然后(注意这里:目前仅小米原生APP支持),基于帧率动态的调整刷新率,最终达到不同的显示效果,让用户获得到最佳显示体验的同时又可以降低手机的功耗。

197aa4e3bc83067250297be5093c751b.png
小米调整刷新率的显示效果

END

2efe352a02e5e6f27c417f07449f126f.png 欢迎点击下面,关注我们f0487f7003e4cb0ef294a4a6afebecea.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java怎么编程方程_[编程入门]自定义函数求一元二次方程-题解(Java代码)

令一元二次方程判别式&#xff1a; b2 - 4ac为变量P**当P > 0时&#xff1a;**x1 (-bsqrt(P)) / 2ax1 (-b-sqrt(P)) / 2a**当P 0时&#xff1a;**x1 x2 -b / 2a**当P < 0时&#xff0c;一元二次方程无解当存在共轭复数&#xff1a;**x1 -b/2a sqrt(-P)ix1 -b/2a …

自动部署war包脚本

war 包所在路径为&#xff1a;/home/wars/ROOT.war tomcat 所在路径为&#xff1a; ①&#xff1a;/home/search-3 ②&#xff1a;/home/search-4 部署单个war到一个tomcat中 #!/bin/sh TOMCAT/home/search-3 echo "deploy ROOT.war"#ps 显示进程,grep筛选进程,awk是…

吉他谱——有多少爱可以重来

C C Am Am C C 常常责怪自 己 当初不 应 该&#xff0c;   常常后悔没 有 把你留 谁知道又和 你 相遇在 人 海&#xff0c;   命运如此安 排 总教人 Am Am Dm G C Am 下 来。 为甚 么 明明相 爱&#xff0c; 到最 后 还是要 分开&#xff0c; 是否 无 奈…

如何在Ubuntu 11.10下安装Java

升级到ubuntu 11.10之后&#xff0c;由于库里没有sun-java6-jdk&#xff0c;需要自行安装。因此&#xff0c;到Oracle网站下载了Java 6u27&#xff08;为什么不下java7呢&#xff1f;因为目前支持的软件不多&#xff0c;另外如果真要的话&#xff0c;也可以很方便的切换到Java7…

看看高手做的ARM开发板

放假前&#xff0c;我写了一篇文章&#xff0c;里面有提到我放假的时候会接触一个开发板&#xff0c;这个开发板就是标题提到的这个ARM处理器&#xff0c;这篇文章会对这个处理器和开发板做个简单的介绍。说这个开发板前&#xff0c;先介绍下我的一个朋友zzy。zzy是通过公众号接…

Flow monitoring in Software-Defined Networks

题目&#xff1a;Flow monitoring in Software-Defined Networks: Finding the accuracy/performance tradeoffs 软件定义网络中的流量监控&#xff1a;寻找准确性/性能权衡 发表时间&#xff1a;2018年 来源&#xff1a;Computer Networks (Elsevier) 摘要 在基于OpenFlow的软…

java给腾讯通发消息_通过web 向rtx发送通知消息

请通过调用RTX服务器CGI的方式实现&#xff0c;详细说明如下&#xff1a;发送消息提醒方法&#xff1a;GET/POSTURL:/sendnotify.cgi用法举例(IE地址栏中输入)&#xff1a;http://192.168.17.221:8012/sendnotify.cgi?msghello&receiverwwjs参数表&#xff1a;变量名称 默…

心情-天气

最近雨还满多的&#xff0c;但不是阴雨连绵&#xff0c;中间会时不时有个大晴天。一直觉得下雨的日子就应该是安排在周一到周五&#xff0c;这样的话我就可以安心的聚精会神的上班&#xff0c;因为反正下雨哪里也不想去&#xff0c;还是好好上班比较好&#xff0c;躲在办公室里…

用 Shell 快速写一个嵌入式测试框架

大家好&#xff0c;转发我朋友老吴的一篇文章&#xff0c;我们在做测试框架的时候用的是python&#xff0c;但是一些理论基础和用shell是一样的&#xff0c;在这里&#xff0c;语言并不是关键。希望对大家有帮助。哈喽&#xff0c;我是老吴。作为一个嵌入式底层码农&#xff0c…

不同技术团队的配合问题及DevOps

一、技术团队细分及配合问题 在IT企业里产品从创意到交付给用户&#xff0c;从整体上看是由技术部门负责&#xff0c;但如果深入到技术部门&#xff0c;会发现由不同的技术团队负责不同的部分或者阶段。一般会 分产品团队、开发团队、测试团队以及运维团队&#xff0c;在互联网…

jquery validation验证身份证号、护照、电话号码、email

$.validator.setDefaults({ submitHandler: function(form) { form.submit(); } }); // 字符验证 jQuery.validator.addMethod("stringCheck", function(value, element) { return this.optional(element) || /^[\u0391-\uFFE5\w]$/.test(value); }, "只能包括中…

C++/C中定义与声明的区别

在C/C中&#xff0c;定义与声明是不一样的&#xff0c;主要区别在于是否分配了内存。 定义&#xff1a;编译器创建一个对象&#xff0c;为该对象分配一块内存&#xff0c;并为该内存起一个名字&#xff0c;这个名字就叫变量名。 例如&#xff1a; int a;//未初始化 int b 0;…

ubuntu php.ini 配置,ubuntu下配置PHP+JSON模块(apache) | 学步园

搭配完毕apachephpmysql环境后我们开始来配置PHP加载JSON模块1.下载源文件包&#xff1a;wget http://www.aurore.net/projects/php-json/php-json-ext-1.2.0.tar.bz22.解压tar xvjf php-json-ext-1.2.0.tar.bz23.进入目录cd php-json-ext-1.2.04.编译前要初始化PHP环境:phpiz…

A good book to learn C#2.0 ----C# 2.0 : Practical Guide for Programmers

c#2.0,已经出来很久了,相信已经有不少人或多或少了解了它的一些特性了.而这本<C# 2.0 : Practical Guide for Programmers>(作者&#xff1a;Michel de Champlain, Brian G. Patrick)是一本2005年2月出的turorial类型的好书,通过这本书不仅可以学习c#2.0的新内容,还可以对…

单线程会导致死锁吗?

我之前在我们的项目里面解决了一个死锁的问题&#xff0c;然后我跟一个我的朋友聊了下&#xff0c;他让我深入研究下这个问题。大家也可以考虑想我的这个问题。首先我们再看看什么是死锁&#xff1f;什么是死锁用个通俗的例子讲一讲死锁死锁从文字理论上说明的是两个线程&#…

细节‘出卖’你

细节‘出卖’你 ①喜欢眨眼&#xff1a;这种人心胸狭隘。②习惯盯着别人看&#xff1a;代表警戒心强。③喜欢提高音量说话&#xff1a;多半是自我主义者。④穿着不拘小节&#xff1a;也代表个性随和。⑤一坐下就翘脚&#xff1a;这种人充满企图心有行动力。⑥边说话边摸下巴&am…

makefile / CMake

- makefile syntax ifneq https://www.gnu.org/software/make/manual/html_node/Conditional-Example.html - [CMake] undef a symbol https://cmake.org/pipermail/cmake/2012-June/050708.html 但是我发现用这个和用remove_definiton对我移植OpenCV的时候都没起作用. https:…

Json的优缺点

JSON的定义 一种轻量级的数据交换格式&#xff0c;具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案&#xff08;有点类似于正则表达式 &#xff0c;获得了当今大部分语言的支持&#xff09;&#xff0c;从而可以在不同平台间进行数据交换。JSON…

appcrash事件java,java – SpringBoot应用程序崩溃

请告诉我哪里有问题&#xff1f;我尝试启动我在Spring Boot上开发的第一个应用程序.我已经在SpringMVC上有简单的Web项目,现在我想在BOOT上构建它.这是错误输出&#xff1a;org.springframework.beans.factory.BeanCreationException: Error creating bean with name messageSo…

书摘:35岁之前成功的12条黄金法则

第一章:一个目标 一艘没有航行目标的船&#xff0c;任何方向的风都是逆风1、你为什么是穷人&#xff0c;第一点就是你没有立下成为富人的目标2、你的人生核心目标是什么&#xff1f;杰出人士与平庸之辈的根本差别并不是天赋、机遇&#xff0c;而在于有无目标。3、起跑领先一步…