CN102004620B - 一种图像更新方法及装置 - Google Patents

一种图像更新方法及装置 Download PDF

Info

Publication number
CN102004620B
CN102004620B CN2010105360804A CN201010536080A CN102004620B CN 102004620 B CN102004620 B CN 102004620B CN 2010105360804 A CN2010105360804 A CN 2010105360804A CN 201010536080 A CN201010536080 A CN 201010536080A CN 102004620 B CN102004620 B CN 102004620B
Authority
CN
China
Prior art keywords
vertical synchronizing
synchronizing signal
system time
diff
refresh
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2010105360804A
Other languages
English (en)
Other versions
CN102004620A (zh
Inventor
蔡才冠
刘先材
谷新征
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vtron Technologies Ltd
Original Assignee
Vtron Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vtron Technologies Ltd filed Critical Vtron Technologies Ltd
Priority to CN2010105360804A priority Critical patent/CN102004620B/zh
Publication of CN102004620A publication Critical patent/CN102004620A/zh
Application granted granted Critical
Publication of CN102004620B publication Critical patent/CN102004620B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)

Abstract

本发明公开了一种图像更新方法:当不启用垂直同步时,获取调用更新的***时间t1;获取更新完成后的***时间t2;当开启垂直同步时,获取某一次垂直同步信号到来时更新完成后的***时间T1;根据t1、t2以及T1,计算垂直同步信号到来的***时间T_sync1;根据屏幕刷新率计算两个相邻垂直同步信号的时间差T_diff;以T_sync1为基准,并根据T_diff,预先获得各个垂直同步信号到来的***时间T_syncn;每次垂直同步到来时,把多个窗口的图像数据渲染到缓冲区。本发明还公开了一种图像更新装置,克服了垂直同步更新图像时图像帧率低的问题。

Description

一种图像更新方法及装置
技术领域
本发明涉及图像处理领域,尤其涉及一种图像更新方法及装置。
背景技术
计算机从显卡到显示器的一个简单图像显示的流程:计算机***应用调用接口,显卡把图像数据写入显示缓冲区,而把显示缓冲区中的数据读取传输到显示器,显示器负责把数据显示于屏幕上。
***把图像数据“写入”显卡显示缓冲区,显示器“读取”显示缓冲区的图像数据并显示。这两个步骤在没有任何限制的前提下,有可能发生两个步骤同时执行的情况,在某一时刻,显卡在完成第i帧图像“写入”缓冲区操作后,正在进行第i+1帧图像“写入”缓冲区操作时,显示器同步在执行从缓冲区读取操作,那么显示器读取的图像数据就是第i帧与第i+1帧的组合图像——即一部分是第i帧的图像,而剩下的部分是第i+1帧的图像。看起来就像图像撕裂成两部分一样。这种现象就是图像显示的“图像撕裂”现象。解决图形撕裂的一种通用方法是“垂直同步”。
当应用程序采用垂直同步方法来更新图像时,必须等到垂直同步信号才能往显示缓冲区写入图像数据,而显示安装指定的频率绘制刷新屏幕图像。垂直同步信号的频率与屏幕刷新频率相等,即两个垂直同步信号与两个屏幕绘制刷新间的时间差是相等的。而垂直同步信号与显示器绘制刷新图像间有一定的时间差,由于现代显卡的强劲绘图能力,所以该时间差足够显卡完成图像数据的写入工作,从而避免显卡与显示器两者同时操作显示缓冲区,进而解决了上述的图像更新时“画面撕裂”问题。
但是当屏幕的刷新率一定(假设为60Hz),多窗口同时使用垂直同步方法更新图像,单个窗口的平均帧率为60/n FPS(Frames Per Second)。即随着窗口个数的上升,单个窗口的平均帧率线性下降。当使用垂直同步更新图像时,***往显示缓冲区更新图像数据的帧率是一定的。如图1所示,假设有2个窗口的图像需要更新,由于没有相应的接口函数可以获取垂直同步信号的具体时间,不知道垂直同步信号什么时候到来,更新时只能阻塞等待垂直同步信号的到来,每个垂直同步信号到来时只更新一个窗口的图像数据,显卡的性能没有得到充分地发挥。
发明内容
本发明公开了一种图像更新方法及装置,可以克服垂直同步更新图像时图像帧率低的问题。
一种图像更新方法,其特征在于,包括步骤:
(1)当不启用垂直同步时,获取应用程序调用显示接口更新图像的***时间t1;以及获取所述显示接口更新图像完成后的***时间t2;
(2)当开启垂直同步时,获取某一次垂直同步信号到来时所述显示接口更新图像完成后的***时间T1;
(3)根据所述t1、所述t2以及所述T1,计算所述垂直同步信号到来的***时间T_sync1=T1-T0;
(4)根据屏幕刷新率计算两个相邻垂直同步信号的时间差T_diff;
(5)以所述T_sync1为基准,并根据所述T_diff,预先计算各个垂直同步信号到来的***时间T_syncn;
(6)每次垂直同步信号到来时,把多个窗口的图像数据渲染到缓冲区。
本发明还公开了一种图像更新装置,其特征在于,包括:
获取模块,用于当不启用垂直同步时,获取应用程序调用显示接口更新图像的***时间t1、所述显示接口更新图像完成后的***时间t2以及当开启垂直同步时,获取某一次垂直同步信号到来时所述显示接口更新图像完成后的***时间T1;
计算模块,用于计算两个相邻垂直同步信号的时间差T_diff、根据获取模块中获取的时间和所述T_diff来计算各垂直同步信号到来的***时间T_syncn;
渲染模块,用于当每次垂直同步信号到来时,把多个窗口的图像数据渲染到缓冲区。
本发明中通过获取到不开启垂直同步时,应用程序调用更新时的***时间和更新完成时间,进而可计算出更新一帧固定图像内容所需的时间;再获取到开启垂直同步时的更新完成时间,并计算出两个相邻垂直同步信号时间的时间间隔,因各个垂直同步信号的***时间成等差数列,由此可以计算出个垂直同步信号到来的***时间;当垂直同步信号到来时,把多个窗口的图像数据渲染到缓冲区。因为可以提前知道垂直同步信号到来的***时间,不用被动等待垂直同步信号到来再进行图像数据的渲染,在垂直同步信号到来与显示器刷新图像间的时间差内,把多个窗口的图像数据渲染到缓冲区,提高了图像的帧率。
附图说明
图1是一个垂直同步图像更新流程图;
图2是本发明方法的一个流程图;
图3是不启动垂直同步时的图像更新流程图;
图4是另一个垂直同步图像更新流程图;
图5是本发明的装置示意图。
具体实施方式
参考图2,本发明公开了一种图像更新方法,具体步骤如下:
201、当不启用垂直同步时,获取调用更新时间t1以及更新完成时间t2;
当不启用垂直同步时,获取应用程序调用显示接口更新图像的***时间t1;以及获取显示接口更新图像完成后的***时间t2;
202、当开启垂直同步时,获取某一次垂直同步信号到来时更新完成的时间T1;
当开启垂直同步时,获取某一次垂直同步信号到来时显示接口更新图像完成后的***时间T1。
203、根据t1、t2以及T1,计算垂直同步信号到来的***时间T_sync1;
204、根据屏幕刷新率计算两个相邻垂直同步信号的时间差T_diff;
205、预先计算各个垂直同步信号到来的***时间T_syncn;
以T_sync1为基准,并根据T_diff,预先计算各个垂直同步信号到来的***时间T_syncn。
206、多窗口图像数据渲染。
每次垂直同步信号到来时,把多个窗口的图像数据渲染到缓冲区。
本发明中通过获取到不开启垂直同步时,应用程序调用更新时的***时间和更新完成时间,进而可计算出更新一帧固定图像内容所需的时间;再获取到开启垂直同步时的更新完成时间,并计算出两个相邻垂直同步信号时间的时间间隔,因各个垂直同步信号的***时间成等差数列,由此可以计算出个垂直同步信号到来的***时间;当垂直同步信号到来时,把多个窗口的图像数据渲染到缓冲区。因为可以知道垂直同步信号到来的***时间,不用被动等待垂直同步信号到来再进行图像数据的渲染,在垂直同步信号到来与显示器刷新图像间的时间差内,把多个窗口的图像数据渲染到缓冲区,提高了图像的帧率。
下面介绍本发明方法的一个实施例:
不开启垂直同步时,参考图3,获取应用程序调用显示接口更新图像的***时间t1;因为不开启垂直同步时应用程序调用显示接口更新图像的***时间与显卡实际开始更新的***时间是同一时间,那么获取到该显示接口更新图像完成后的***时间t2后;就可以计算出更新一帧固定图像内容所需的时间T0;T0=t2-t1;
参考图4,开启垂直同步的情况下,获取某一次垂直同步信号到来时该显示接口更新图像完成后的***时间T1;
因为T1由2部分的时间组成:更新一帧固定图像内容所需的时间T0和垂直同步信号到来的时间T_sync1,那么T_sync1=T1-T0;
因为垂直同步信号的频率与屏幕的刷新频率Refresh相等,而Refresh是已知的,那么两个屏幕刷新时间间隔t4=1/Refresh,那么相邻两个垂直同步信号的时间间隔是T_diff=t4=1/Refresh;
因为每两个相邻垂直同步信号的时间间隔是相等的,即为T_diff=t4=1/Refresh;那么各个垂直同步信号到来的***时间之间成公差是T_diff的等差数列;
以该T_sync1时刻到来的垂直同步信号为第一个垂直同步信号,则第二个垂直同步信号到来的***时间为T_sync2=T_sync1+T_diff=(T1-T0)+T_diff=[T1-(t2-t1)]+T_diff;第三个垂直同步信号到来的***时间为T_sync3=T_sync2+T_diff=(T_sync1+T_diff)+T_diff={[T1-(t2-t1)]+T_diff}+T_diff=[T1-(t2-t1)]+2T_diff......第n个垂直同步信号到来的***时间是T_syncn=T_sync1+(n-1)T_diff。
开启垂直同步,每次垂直同步到来时,把多个窗口的图像数据渲染到缓冲区。
本发明中通过获取到不开启垂直同步时,应用程序调用更新时的***时间和更新完成时间,进而可计算出更新一帧固定图像内容所需的时间;再获取到开启垂直同步时的更新完成时间,并计算出两个相邻垂直同步信号时间的时间间隔,因各个垂直同步信号的***时间成等差数列,由此可以计算出个垂直同步信号到来的***时间,***可以提前知道各垂直同步信号到来的时间,进而可以主动把多个窗口的图像数据渲染到缓冲区,提高图像的帧率。
图5是本发明的装置示意图,包括获取模块501、计算模块502和渲染模块503;
其中,获取模块501,用于当不启用垂直同步时,获取应用程序调用显示接口更新图像的***时间t1、显示接口更新图像完成后的***时间t2以及当开启垂直同步时,获取某一次垂直同步信号到来时显示接口更新图像完成后的***时间T1;
计算模块502,用于计算两个相邻垂直同步信号的时间差T_diff、根据获取模块中获取的时间和T_diff来计算各垂直同步信号到来的***时间T_syncn;
渲染模块503,用于每次垂直同步信号到来时,把多个窗口的图像数据渲染到缓冲区。
本发明中通过获取到不开启垂直同步时,应用程序调用更新时的***时间和更新完成时间,进而可计算出更新一帧固定图像内容所需的时间;再获取到开启垂直同步时的更新完成时间,并计算出两个相邻垂直同步信号时间的时间间隔,因各个垂直同步信号的***时间成等差数列,由此可以计算出个垂直同步信号到来的***时间;当垂直同步信号到来时,把多个窗口的图像数据渲染到缓冲区。因为可以知道垂直同步信号到来的***时间,不用被动等待垂直同步信号到来再进行图像数据的渲染,在垂直同步信号与显示器刷新图像间的时间差内,把多个窗口的图像数据渲染到缓冲区,这样在保证不出现图像撕裂的情况下提高了图像的帧率。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

Claims (2)

1.一种图像更新方法,其特征在于,包括步骤:
(1)当不启用垂直同步时,获取应用程序调用显示接口更新图像的***时间t1;以及获取所述显示接口更新图像完成后的***时间t2;
(2)当开启垂直同步时,获取某一次垂直同步信号到来时所述显示接口更新图像完成后的***时间T1;
(3)根据所述t1、所述t2以及所述T1,计算所述垂直同步信号到来的***时间T_sync1,具体过程为:计算更新一帧固定图像内容所需时间T0,T0=t2-t1,T_sync1=T1-T0;
(4)根据屏幕刷新率计算两个相邻垂直同步信号的时间差T_diff,具体过程为:垂直同步信号的频率与屏幕的刷新频率Refresh相等,而Refresh是已知的,那么两个屏幕刷新时间间隔t4=1/Refresh,相邻两个垂直同步信号的时间间隔是T_diff=t4=1/Refresh;
(5)以所述T_sync1为基准,并根据所述T_diff,预先计算各个垂直同步信号到来的***时间T_syncn,具体过程为:用等差数列模型T_syncn=T_sync1+(n-1)T_diff求得各个垂直同步信号到来的***时间T_syncn,其中T_syncn是第n个垂直同步信号到来的***时间;
(6)每次垂直同步信号到来时,把多个窗口的图像数据渲染到缓冲区。
2.一种图像更新装置,其特征在于,包括:
获取模块,用于当不启用垂直同步时,获取应用程序调用显示接口更新图像的***时间t1、所述显示接口更新图像完成后的***时间t2以及当开启垂直同步时,获取某一次垂直同步信号到来时所述显示接口更新图像完成后的***时间T1;
计算模块,用于计算两个相邻垂直同步信号的时间差T_diff、根据获取模块中获取的时间和所述T_diff来计算各垂直同步信号到来的***时间T_syncn,具体过程为:计算更新一帧固定图像内容所需时间T0,T0=t2-t1,所述某一次垂直同步信号到来的***时间T_sync1=T1-T0,垂直同步信号的频率与屏幕的刷新频率Refresh相等,而Refresh是已知的,那么两个屏幕刷新时间间隔t4=1/Refresh,相邻两个垂直同步信号的时间间隔是T_diff=t4=1/Refresh,用等差数列模型T_syncn=T_sync1+(n-1)T_diff预先求得各个垂直同步信号到来的***时间T_syncn,其中T_syncn是第n个垂直同步信号到来的***时间;
渲染模块,用于当每次垂直同步信号到来时,把多个窗口的图像数据渲染到缓冲区。
CN2010105360804A 2010-11-09 2010-11-09 一种图像更新方法及装置 Expired - Fee Related CN102004620B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105360804A CN102004620B (zh) 2010-11-09 2010-11-09 一种图像更新方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105360804A CN102004620B (zh) 2010-11-09 2010-11-09 一种图像更新方法及装置

Publications (2)

Publication Number Publication Date
CN102004620A CN102004620A (zh) 2011-04-06
CN102004620B true CN102004620B (zh) 2012-05-09

Family

ID=43812005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105360804A Expired - Fee Related CN102004620B (zh) 2010-11-09 2010-11-09 一种图像更新方法及装置

Country Status (1)

Country Link
CN (1) CN102004620B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103856809A (zh) * 2012-12-03 2014-06-11 ***通信集团公司 一种多点同屏方法、***及终端设备
CN104503564B (zh) * 2014-12-31 2017-05-03 中科创达软件股份有限公司 一种应用程序画面刷新的控制方法及装置
CN106484348B (zh) * 2016-09-20 2020-09-22 Tcl科技集团股份有限公司 一种基于同步信号的动画绘制方法及***
CN106658064B (zh) * 2016-12-28 2020-02-18 广州华多网络科技有限公司 虚拟礼物展示方法及装置
CN106843859A (zh) * 2016-12-31 2017-06-13 歌尔科技有限公司 一种虚拟现实场景的绘制方法和装置及一种虚拟现实设备
WO2020062052A1 (en) * 2018-09-28 2020-04-02 Qualcomm Incorporated Smart and dynamic janks reduction technology
WO2020062069A1 (en) * 2018-09-28 2020-04-02 Qualcomm Incorporated Frame composition alignment to target frame rate for janks reduction
CN109582196A (zh) * 2018-11-02 2019-04-05 深圳市创梦天地科技有限公司 一种信息显示的方法及装置
CN109992232B (zh) * 2019-04-09 2022-02-01 Oppo广东移动通信有限公司 图像更新方法、装置、终端及存储介质
WO2021000220A1 (en) * 2019-07-01 2021-01-07 Qualcomm Incorporated Methods and apparatus for dynamic jank reduction
CN111193953B (zh) * 2020-01-14 2022-04-15 井冈山电器有限公司 一种多个拼接显示屏视频同步的显示***及其方法
CN113190315B (zh) * 2021-04-29 2022-11-25 安徽华米健康医疗有限公司 一种显示器刷新方法及其装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667402A (zh) * 2008-09-01 2010-03-10 奇美电子股份有限公司 三维液晶显示***及其显示方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3919767B2 (ja) * 1999-01-29 2007-05-30 キヤノン株式会社 画像処理装置
US7176870B2 (en) * 2001-12-27 2007-02-13 Renesas Technology Corp. Display drive control circuit
EP1376995A3 (en) * 2002-06-21 2004-03-17 Samsung Electronics Co., Ltd. Device and method for displaying data in a mobile terminal equipped with a camera
FI114882B (fi) * 2003-04-30 2005-01-14 Nokia Corp Kuvakehysten päivityksen synkronointi

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667402A (zh) * 2008-09-01 2010-03-10 奇美电子股份有限公司 三维液晶显示***及其显示方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JP特开2004-295133A 2004.10.21
JP特开2009-3457A 2009.01.08

Also Published As

Publication number Publication date
CN102004620A (zh) 2011-04-06

Similar Documents

Publication Publication Date Title
CN102004620B (zh) 一种图像更新方法及装置
CN101976183B (zh) 一种多窗口图像同时更新时图像更新的方法及装置
CN101968728B (zh) 一种获取图像更新时垂直同步时间后的处理方法及装置
CN109992232B (zh) 图像更新方法、装置、终端及存储介质
CN110018874B (zh) 垂直同步方法、装置、终端及存储介质
CN102117594B (zh) 用于对齐帧数据的技术
KR100947131B1 (ko) 비디오 프레임 버퍼 플립 큐를 이용한 버퍼들 간의스위칭을 위한 장치 및 방법
CN103886849B (zh) 用于对齐帧数据的方法和设备
US8022894B2 (en) Screen synchronous control apparatus
EP1217602A3 (en) Updating image frames in a display device comprising a frame buffer
US6844879B2 (en) Drawing apparatus
CN106843859A (zh) 一种虚拟现实场景的绘制方法和装置及一种虚拟现实设备
CN102279692B (zh) 拖拽对象时实现预览的方法、客户端
JP2007060388A (ja) 映像処理装置、映像処理方法およびプログラム
US9019235B2 (en) Method of driving touch display and touch display capable of increasing signal-to-noise ratio
CN115831032A (zh) 芯片温漂处理方法及装置
CN101453571A (zh) 一种对比电视图像效果的方法及设备
CN108769815A (zh) 视频处理方法及其装置
CN102207839B (zh) 消除图像水平撕裂的方法及***
CN103838533B (zh) 计算机集群拼接显示***中图形信号的同步方法及同步卡
CN109358830B (zh) 消除ar/vr画面撕裂的双屏显示方法及ar/vr显示设备
CN106601187A (zh) 显示控制装置、控制卡、显示装置及其控制方法
CN202422697U (zh) 一种大屏幕高清led拼接处理装置
CN112637615B (zh) 一种直播场景下智能标签平滑显示的方法及装置
KR20150071373A (ko) 디스플레이 드라이버 및 이를 포함하는 영상 신호 처리 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120509

Termination date: 20141109

EXPY Termination of patent right or utility model