一种获取图像更新时垂直同步时间后的处理方法及装置制造方法及图纸

技术编号:4106749 阅读:156 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种获取图像更新时垂直同步时间后的处理方法:当不启用垂直同步时,获取调用更新的系统时间t1;获取更新完成后的系统时间t2;当开启垂直同步时,获取某一次垂直同步信号到来时更新完成后的系统时间T1;根据t1、t2以及T1,计算垂直同步信号到来的系统时间T_sync1;根据屏幕刷新率计算两个相邻垂直同步信号的时间差T_diff;以T_sync1为基准,并根据T_diff,预先获得各个垂直同步信号到来的系统时间T_syncn;开启垂直同步时,获取每次调用更新的系统时间kn;根据kn以及T_syncn,预先获得每次更新时,调用更新的系统时间与垂直同步信号到来的系统时间之间的时间差Mn;每次更新时,在Mn内,系统运行其他应用程序。

【技术实现步骤摘要】

本专利技术涉及图像处理领域,尤其涉及一种获取图像更新时垂直同步时间后的处理 方法及装置。
技术介绍
计算机从显卡到显示器的一个简单图像显示的流程计算机系统应用调用接口, 显卡把图像数据写入显示缓冲区,而把显示缓冲区中的数据读取传输到显示器,显示器负 责把数据显示于屏幕上。系统把图像数据“写入”显卡显示缓冲区,显示器“读取”显示缓冲区的图像数据并 显示。这两个步骤在没有任何限制的前提下,有可能发生两个步骤同时执行的情况,在某一 时刻,显卡在完成第i帧图像“写入”缓冲区操作后,正在进行第i+1帧图像“写入”缓冲区 操作时,显示器同步在执行从缓冲区读取操作,那么显示器读取的图像数据就是第i帧与 第i+1帧的组合图像——即一部分是第i帧的图像,而剩下的部分是第i+1帧的图像。看 起来就像图像撕裂成两部分一样。这种现象就是图像显示的“图像撕裂”现象。解决图形 撕裂的一种通用方法是“垂直同步”。当应用程序采用垂直同步方法来更新图像时,必须等到垂直同步信号才能往显示 缓冲区写入图像数据,而显示安装指定的频率绘制刷新屏幕图像。垂直同步信号的频率与 屏幕刷新频率相等,即两个垂直同步信号与两个屏幕绘制刷新间的时间差是相等的。而垂 直同步信号与显示器绘制刷新图像间有一定的时间差,由于现代显卡的强劲绘图能力,所 以该时间差足够显卡完成图像数据的写入工作,从而避免显卡与显示器两者同时操作显示 缓冲区,进而解决了上述的图像更新时“画面撕裂”问题。垂直同步技术是解决“画面撕裂”问题的有效手段,但由于没有相应的接口函数可 以获取垂直同步信号的具体时间,如图1所示,图中粗虚线表示垂直同步信号到来,即显卡 实际写缓冲区更新图像的时间;细虚线表示应用程序调用显示接口更新图像的时间。从上 图可以看出,应用程序“调用更新”与显卡“实际更新”是有时间差的,而且在该时间差内, 应用程序更新图像时只能被动阻塞等待,造成了系统资源的浪费。
技术实现思路
本专利技术公开了一种获取图像更新时垂直同步时间后的处理方法及装置,可以主动 获取各垂直同步信号到来的系统时间,提高系统的利用率。—种获取图像更新时垂直同步时间后的处理方法,其特征在于,包括步骤(1)当不启用垂直同步时,获取应用程序调用显示接口更新图像的系统时间tl ; 以及获取所述显示接口更新图像完成后的系统时间t2 ;(2)当开启垂直同步时,获取某一次垂直同步信号到来时所述显示接口更新图像 完成后的系统时间Tl ;(3)根据所述tl、所述t2以及所述Tl,计算所述垂直同步信号到来的系统时间T_syncl ; (4)根据屏幕刷新率计算两个相邻垂直同步信号的时间差T_diff ;(5)以所述T_synCl为基准,并根据所述T_diff,预先计算各个垂直同步信号到来 的系统时间T_syncn ;(6)开启垂直同步时,获取每次应用程序调用显示接口更新图像的系统时间kn ; 根据所述kn以及所述T_syncn,预先计算每次更新时应用程序调用显示接口更新图像的系 统时间与垂直同步信号到来的系统时间之间的时间差Mn ;(7)每次更新时,在所述Mn内,系统运行其他应用程序。本专利技术还公开了一种获取图像更新时垂直同步时间后的处理装置,其特征在于, 包括获取模块,用于当不启用垂直同步时,获取应用程序调用显示接口更新图像的系 统时间tl、所述显示接口更新图像完成后的系统时间t2以及当开启垂直同步时,获取某 一次垂直同步信号到来时所述显示接口更新图像完成后的系统时间Tl以及开启垂直同步 时,获取每次应用程序调用显示接口更新图像的系统时间kn ;计算模块,用于计算两个相邻垂直同步信号的时间差T_diff、根据获取模块中获 取的时间和所述T_diff来计算各垂直同步信号到来的系统时间T_syncn以及根据所述kn 和所述T_syncn,预先计算每次更新时应用程序调用显示接口更新图像的系统时间与垂直 同步信号到来的系统时间之间的时间差Mn ;运行模块,用于在所述Mn内,运行其他应用程序。本专利技术中通过获取到不开启垂直同步时,应用程序调用更新时的系统时间和更新 完成时间,进而可计算出更新一帧固定图像内容所需的时间;再获取到开启垂直同步时的 更新完成时间,并计算出两个相邻垂直同步信号时间的时间间隔,因各个垂直同步信号的 系统时间成等差数列,由此可以计算出个垂直同步信号到来的系统时间;每次更新时,系统 可以提前知道垂直同步信号到来的时间,进而根据调用更新的时间来计算调用更新与实际 更新的时间差,利用这个时间差去运行其他应用程序,提高系统利用率。附图说明图1是一个垂直同步图像更新流程图;图2是本专利技术方法的一个流程图;图3是不启动垂直同步时的图像更新流程图;图4是另一个垂直同步图像更新流程图;图5是本专利技术的装置示意图。具体实施例方式参考图2,本专利技术公开了一种获取图像更新时垂直同步时间后的处理方法,具体步 骤如下201、当不启用垂直同步时,获取调用更新时间tl以及更新完成时间t2 ;当不启用垂直同步时,获取应用程序调用显示接口更新图像的系统时间tl ;以及 获取显示接口更新图像完成后的系统时间t2 ;202、当开启垂直同步时,获取某一次垂直同步信号到来时更新完成的时间Tl ;当开启垂直同步时,获取某一次垂直同步信号到来时更新完成的时间Tl ;当开启 垂直同步时,获取某一次垂直同步信号到来时显示接口更新图像完成后的系统时间Tl ;203、根据tl、t2以及Tl,计算垂直同步信号到来的系统时间T_synCl ;204、根据屏幕刷新率计算两个相邻垂直同步信号的时间差T_diff ; 205、预先计算各个垂直同步信号到来的系统时间T_synCn ;以T_synCl为基准,并根据T_diff,预先计算各个垂直同步信号到来的系统时间 T—syncn ;206、预先计算每次更新时应用程序调用显示接口更新图像的系统时间与垂直同 步信号到来的系统时间之间的时间差Mn ;开启垂直同步时,获取每次应用程序调用显示接口更新图像的系统时间kn ;根据 kn以及T_syncn,预先计算每次更新时应用程序调用显示接口更新图像的系统时间与垂直 同步信号到来的系统时间之间的时间差Mn ;207、运行其他应用程序。每次更新时,在所述Mn内,系统运行其他应用程序。本专利技术中通过获取到不开启垂直同步时,应用程序调用更新时的系统时间和更新 完成时间,进而可计算出更新一帧固定图像内容所需的时间;再获取到开启垂直同步时的 更新完成时间,并计算出两个相邻垂直同步信号时间的时间间隔,因各个垂直同步信号的 系统时间成等差数列,由此可以计算出个垂直同步信号到来的系统时间,系统可以提前知 道各垂直同步信号到来的时间,进而根据调用更新的时间来计算调用更新与实际更新的时 间差,利用这个时间差去运行其他进程,提高系统利用率。下面介绍本专利技术方法的一个实施例不开启垂直同步时,参考图3,获取应用程序调用显示接口更新图像的系统时间 tl ;因为不开启垂直同步时应用程序调用显示接口更新图像的系统时间与显卡实际开始更 新的系统时间是同一时间,那么获取到该显示接口更新图像完成后的系统时间t2后;就可 以计算出更新一帧固定图像内容所需的时间TO ;TO = t2-tl ;参考图4,开启垂直同步的情况下,获取某一次垂直同本文档来自技高网
...

【技术保护点】
一种获取图像更新时垂直同步时间后的处理方法,其特征在于,包括步骤:(1)当不启用垂直同步时,获取应用程序调用显示接口更新图像的系统时间t1;以及获取所述显示接口更新图像完成后的系统时间t2;(2)当开启垂直同步时,获取某一次垂直同步信号到来时所述显示接口更新图像完成后的系统时间T1;(3)根据所述t1、所述t2以及所述T1,计算所述垂直同步信号到来的系统时间T_sync1;(4)根据屏幕刷新率计算两个相邻垂直同步信号的时间差T_diff;(5)以所述T_sync1为基准,并根据所述T_diff,预先计算各个垂直同步信号到来的系统时间T_syncn;(6)开启垂直同步时,获取每次应用程序调用显示接口更新图像的系统时间kn;根据所述kn以及所述T_syncn,预先计算每次更新时应用程序调用显示接口更新图像的系统时间与垂直同步信号到来的系统时间之间的时间差Mn;(7)每次更新时,在所述Mn内,系统运行其他应用程序。

【技术特征摘要】
一种获取图像更新时垂直同步时间后的处理方法,其特征在于,包括步骤(1)当不启用垂直同步时,获取应用程序调用显示接口更新图像的系统时间t1;以及获取所述显示接口更新图像完成后的系统时间t2;(2)当开启垂直同步时,获取某一次垂直同步信号到来时所述显示接口更新图像完成后的系统时间T1;(3)根据所述t1、所述t2以及所述T1,计算所述垂直同步信号到来的系统时间T_sync1;(4)根据屏幕刷新率计算两个相邻垂直同步信号的时间差T_diff;(5)以所述T_sync1为基准,并根据所述T_diff,预先计算各个垂直同步信号到来的系统时间T_syncn;(6)开启垂直同步时,获取每次应用程序调用显示接口更新图像的系统时间kn;根据所述kn以及所述T_syncn,预先计算每次更新时应用程序调用显示接口更新图像的系统时间与垂直同步信号到来的系统时间之间的时间差Mn;(7)每次更新时,在所述Mn内,系统运行其他应用程序。2.根据权利要求1所述的获取到垂直同步信...

【专利技术属性】
技术研发人员:蔡才冠
申请(专利权)人:广东威创视讯科技股份有限公司
类型:发明
国别省市:81[中国|广州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1