CN104951263B - 避免向显示器发送未改变的区域 - Google Patents
避免向显示器发送未改变的区域 Download PDFInfo
- Publication number
- CN104951263B CN104951263B CN201510085092.2A CN201510085092A CN104951263B CN 104951263 B CN104951263 B CN 104951263B CN 201510085092 A CN201510085092 A CN 201510085092A CN 104951263 B CN104951263 B CN 104951263B
- Authority
- CN
- China
- Prior art keywords
- cryptographic hash
- tile
- cache line
- cache
- processor
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/08—Bandwidth reduction
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Generation (AREA)
Abstract
本申请公开了用于避免向显示器发送未改变的区域的方法、非瞬态计算机可读介质和装置。根据一些实施例,在后排序架构中,判定屏幕显示器的多个部分中的每一部分是否从一帧到下一帧是不变的。帧可被划分为瓦片,瓦片可以是像素的矩形区域。如果瓦片是不变的,则不必将该瓦片发送给显示器。
Description
技术领域
本申请涉及图形处理。
背景技术
图形系统及其图形处理器理想地应该尽可能地减小电力使用。在扩展显示端口规范(eDP)版本1.0/1.5中,授权部分更新屏幕显示器。这意味着如果屏幕的一部分没有从一帧改变为另一帧,则该部分不需要被发送给显示器。其它标准和操作系统(例如在移动设备上)可以具有类似的特征。这些类型的技术减少了用于转移给显示器的带宽,并因此也减少了电力消耗。问题在于不易于检测哪些区域是不变的或者未从一帧改变为下一帧。虽然在某些类型的系统中存在这样做的一些技术,但是在称为后排序的其他类型的系统中,目前没有这种技术。
排序指的是将图元排序到屏幕从而能够提取并利用并行性。图元可以是表示待显示的对象的部分的三角形或四边形。该排序可以在传统的图形管线过程中发生在多处不同的地方。在后排序中,排序发生在将图元光栅化为像素、样本或像素片段之后。
附图说明
结合以下附图描述了一些实施例:
图1是根据一个实施例的扩展显示端口兼容系统的描述;
图2是根据一个实施例的图形管线的描述;
图3是根据一个实施例的颜色缓冲系统的描述;
图4是用于一个实施例的流程图;
图5是用于一个实施例的系统描述;以及
图6是一个实施例的前视图。
具体实施方式
根据一些实施例,在后排序架构中,判定屏幕显示器的多个部分中的每一部分是否从一帧到下一帧是不变的。帧可以被划分成称作瓦片(tile)的部分,所述瓦片在一个实施例中可以被限定在封闭区域中。在一个实施例中瓦片可以是矩形,而在一个特定实施例中其可以包含32×32像素。
对于每个瓦片,存储有哈希值。哈希函数是将任意长度的数据映射为固定长度的数据的算法。哈希值是哈希函数返回的值。在具有32×32像素的瓦片的实施例中,哈希值可以是64位数字。
参考图1,在根据扩展显示端口(eDP)标准版本1.0/1.5(2008/2013)的一个实施例中,物理层接口10包括源显示设备12,例如片上系统(SOC),其与汇集(sink)显示设备或面板14通过接口进行通信。显示设备12包括显示引擎16和源物理层或PHY 18。到汇集显示设备的连接在接口之上,包括:包含四个同步流的主链路24,用于链路和设备管理的边带信道或辅助信道26,以及包括插入状态和中断要求的热插拔检测(HPD)28。在一些实施例中,汇集显示设备或面板14包括汇集PHY 20和面板电子和像素屏幕22。
参考图2,根据一个实施例示出了Direct3D 10管线30。也可以使用除了Direct3D可编程管线之外的管线,例如,举两个例子来说DirectX和OpenGL。该管线被设计用于例如生成用于实时游戏应用的图形。输入汇编器阶段32负责将数据取到管线。顶点着色器阶段34通过执行例如转换、蒙皮(skin)和布光的操作来处理顶点。几何着色器36处理整个图元,并且甚至可以生成在管线中向下游发送的新的图元。流输出阶段38将图元数据在去往光栅化器的路上从管线流送到存储器42。数据可以被流出和/或传递到光栅化器40。流送到存储器的数据可以被当作输入数据再流通回管线,或者从中央处理单元(未示出)读回。
光栅化器阶段负责修剪(clip)图元,并判定哪些样本位于正被渲染的图元内部,以及对于那些样本调用了像素着色器46。在后排序架构中,排序44发生在光栅化之后。像素后端或输出合并阶段50组合各种类型的输出数据(例如像素着色器值、深度和模板信息)以及渲染目标的内容和深度/模板缓冲器以生成最终管线结果。
在图3中,图形处理器60可以包括光栅化管线,其包括光栅化器40、纹理和片段处理单元62、以及深度或Z比较和混合单元72。在一些实施例中,这些单元中的每一个可以整体上或部分地通过软件或硬件实现。
纹理和片段处理单元62耦合到纹理高速缓存68。纹理高速缓存68接着通过纹理解压模块70耦合到存储器分区66。因此,存储在纹理高速缓存68中的纹理信息可以在存储器分区和纹理高速缓存68之间被解压。
深度比较和混合单元72耦合到深度(z)缓冲高速缓存74、颜色(c)缓冲高速缓存88和瓦片表高速缓存74。接着,深度缓冲高速缓存74通过深度缓冲编码器/解码器(编码解码器)76耦合到存储器分区66。类似地,颜色缓冲高速缓存88通过颜色缓冲编码器/解码器(解码编码器)86耦合到存储器分区66。存储器分区66可以耦合到动态随机存取存储器(DRAM)78、80、82和84,其可以是系统存储器的一部分。在一些实施例中,可以使用统一的高速缓存,其包括纹理高速缓存、深度缓冲高速缓存和颜色缓冲高速缓存。
在一些实施例中,统一的编码解码器可以替换单元70、76和86。将在文章--等人的Floating Point Buffer Compression in a Unified Codec Architecture,Graphics Hardware(2008)中进一步详细描述各种配置。
所有的颜色缓冲器访问通常通过颜色缓冲高速缓存,以便节省带宽。例如,对于16×16瓦片,需要多个缓存行来存储这种瓦片中的颜色。可以用不同方式进行累积到哈希值。
在一个实施例中,对应于某个瓦片的高速缓存行的颜色内容可以在全部写入高速缓存行时累积到该瓦片的哈希值。这意味着即使是对象的颜色(其将在稍后被堵塞)也将累积其内容到高速缓存。由于在后排序片段架构(也称作立即渲染器)中没有途径知道何时帧将结束渲染某个瓦片,所以可以这样做。写入到高速缓存行中的值可以累积到属于高速缓存行所属的瓦片的对应的哈希值。
哈希值也需要被存储。对于具有32×32瓦片的1920×1080显示器,例如,1920×1080/(32×32)×64位等于16k字节。由于当前哈希值和先前哈希值都被存储,所以这使得存储器使用加倍到32k字节。这些哈希值可以通过高速缓存被访问并存储在片上存储器中。这相当于非常少的存储器能直接存储在固定量的快速存储器中(例如,SRAM)或通过甚至更小的高速缓存进行访问。利用高速缓存是最现实的选择,这是因为可以并行处理若干渲染目标。
哈希函数可以是密码哈希函数(如SHA-1),或者经由非线性表格查找、或经由校验和函数、或经由其它方法进行。只要它们提供少的冲突,理想地,如果在输入数据中有一位改变,则在结果哈希值中改变多个位。
在一个实施例中,在渲染之后,检查颜色缓冲高速缓存中的当前内容。当帧结束时,高速缓存的内容通常被清除。如果尚未完成,哈希值可以照例为高速缓存中的所有数据进行累积,并随后与来自先前帧的哈希值进行比较。如果哈希值是相同的,则没有必要将高速缓存清除回存储器。避免清除节省了带宽并减小了电力消耗。
另外,还可以以不同方式使用哈希值。假设我们已经结束了对标记为R的渲染目标的渲染,并且已经计算出了该渲染对象的所有哈希值。现在,假设正在渲染下一帧,并且R当前正被渲染。代替清除渲染目标,我们可以保持来自前一帧的内容,并仅仅标记所有瓦片为已清除。现在,当我们渲染在渲染目标中的瓦片时,一些高速缓存行将需要在某点从颜色高速缓存被驱逐。如果针对对应于高速缓存行的瓦片的当前帧的渲染目标的哈希值与先前帧的相同,那么我们能够跳过从高速缓存中驱逐数据,因为其在主存储器中是正确的。因此,对应的高速缓存行能立即用于其它数据。
在帧已经结束渲染之后,算法可以运行通过图像的每个瓦片的哈希值,针对相同瓦片考虑当前哈希值以及先前哈希值。如果它们相同,则不需要将颜色内容发送给显示器。在扩展显示端口兼容系统(或者在具有类似特征的其它系统)中,可以将局部帧更新发送到显示器。哈希值从一帧到下一帧不变的瓦片将不被发送到显示器。
另外,如果表面被多采样,则在颜色被发送到显示器之前存在解析过程(resolvepass)。然而,如果哈希值是相同的,则使用带宽和计算周期的解析过程可以被避免,并且带宽和计算周期还可以在一些实施例中被节省。因此,接着可以节省能量。
根据一些实施例,如图4所示的序列90用于利用选择性发送瓦片到显示器来实现后排列架构,其可以以软件、固件和/或硬件实现。在软件和固件实施例中,可以通过存储于一个或多个非暂态计算机可读介质(例如磁存储设备、光存储设备或半导体存储设备)中的计算机执行指令来实现。在一个实施例中,指令可以存储于存储器42中。
图4所示的序列90开始于如框92所指出的渲染图元。对于图元写入的颜色高速缓存中的每个高速缓存行,将新的数据累积到属于高速缓存行的瓦片的对应的哈希值,如框94所示。任何哈希函数均可用于该目的。菱形96处的检查判定是否是最后的图元。如果是,则如框98所示,检查(run through)高速缓存中所有的高速缓存行并比较其对应的瓦片的哈希值。
如果瓦片的哈希值相同(菱形100),则如框114所示,避免将对应的高速缓存行从缓冲器清除回主存储器。
在另一方面,如果瓦片的哈希值不相同,则如框108所示,清除回主存储器。
在任一情况下,不管哈希值相同与否,对于每个瓦片将当前帧的哈希值与先前帧的对应哈希值进行比较,如框102所示。这对于全部渲染目标、图像或帧缓冲器进行。如果它们相同(菱形104)并且这是多采样抗锯齿(MSAA)实施例,则也可以避免解析过程,如框106所示。然后,如框110所示,不将瓦片发送给显示器。如果它们不相同(菱形104)并且使用了多采样抗锯齿,则在这种情况下如框112所示也使用了其解析过程。然后,如框116所示,对于每个瓦片,将颜色缓冲器发送到显示器。
图5示出了系统700的实施例。在实施例中,系统700可以是媒体系统,但是系统700并不限于该上下文。例如,系统700可以并入到个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合的蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板或智能电视)、移动互联网设备(MID)、消息传送设备、数据通信设备,等等。
在实施例中,系统700包括耦合到显示器720的平台702。平台702可以从内容设备接收内容,所述内容设备例如是内容服务设备730或内容输送设备740或其它类似内容源。导航控制器750包括一个或多个导航特征,其可以用于例如与平台702和/或显示器720交互。这些部件中的每一个将在下文详细描述。
在实施例中,平台702可以包括以下部件的任意组合:芯片组705、处理器710、存储器712、存储设备714、图形子系统715、应用716和/或无线电设备718。芯片组705可以在处理器710、存储器712、存储设备714、图形子系统715、应用716和/或无线电设备718之间提供相互通信。例如,芯片组705可以包括能够提供与存储设备714相互通信的存储适配器(未示出)。
处理器710可以实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核、或任何其它微处理器或中央处理单元(CPU)。在实施例中,处理器710可以包括双核处理器、双核移动处理器,等等。处理器可以与存储器712一起实现图4的序列。
存储器712可以实现为易失性存储器设备,例如但不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或静态RAM(SRAM)。
存储设备714可以实现为非易失性存储设备,例如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附接存储设备、闪速存储器、电池备份SDRAM(同步DRAM),和/或网络可访问存储设备。在实施例中,存储设备714可以包括用于例如在包含多个硬盘驱动器时针对有价值的数字媒体增加存储性能增强保护的技术。
图形子系统715可以执行对例如静像或视频的图像进行处理以供显示。例如,图形子系统715可以是图形处理单元(GPU)或视觉处理单元(VPU)。可以使用模拟或数字接口来通信地耦合图形子系统715和显示器720。例如,接口可以是以下中的任意一种:高清晰度多媒体接口、显示端口、无线HDMI,和/或无线HD兼容技术。图形子系统715可以集成到处理器710或芯片组705中。图形子系统715可以是通信地耦合到芯片组705的独立卡。
本文所描述的图形和/或视频处理技术可以实现于各种硬件架构中。例如,图形和/或视频功能可以集成到芯片组中。可选地,可以使用离散的图形和/或视频处理器。作为另一实施例,图形和/或视频功能可以由包括多核处理器的通用处理器实现。在另一实施例中,所述功能可以实现于消费者电子设备中。
无线电设备718可以包括一个或多个能够利用各种适当的无线通信技术发送和接收信号的无线电设备。这种技术可以包括通过一个或多个无线网络进行通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络、以及卫星网络。在通过这些网络进行通信时,无线电设备718可以按照任何版本的一个或多个可应用的标准进行操作。
在实施例中,显示器720可以包括任何电视机类型的监视器或显示器。显示器720可以包括例如计算机显示屏、触摸屏显示器、视频监视器、电视机式设备、和/或电视机。显示器720可以是数字的和/或模拟的。在实施例中,显示器720可以是全息显示器。另外,显示器720可以是接收视觉投影的透明表面。这种投影可以传达各种形式的信息、图像和/或对象。例如,这种投影可以是针对移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用716的控制下,平台702可以在显示器720上显示用户界面722。
在实施例中,内容服务设备730可以由任何国家、国际和/或独立服务掌管,并因此可经由例如互联网访问平台702。内容服务设备730可以耦合到平台702和/或显示器720。平台702和/或内容服务设备730可以耦合到网络760以与网络760传递(例如,发送和/或接收)媒体信息。网络输送设备740也可以耦合到平台702和/或显示器720。
在实施例中,内容服务设备730可以包括有线电视盒、个人计算机、网络、电话、互联网支持设备或能够输送数字信息和/或内容的应用,以及能够经由网络760或者直接地在内容提供商与平台702和/或显示器720之间单向或双向地通信内容的任何其他类似设备。可以理解的是,可以经由网络760向/从系统700中的任意一个部件以及内容提供商单向和/或双向地通信内容。内容的例子可以包括任何媒体信息,例如包括视频、音乐、医疗和游戏信息,等等。
内容服务设备730接收例如有线电视节目的内容,包括媒体信息、数字信息、和/或其它内容。内容提供商的例子可以包括任何有线或卫星电视或无线电或互联网内容提供商。所提供的例子并不打算限制本发明的实施例。
在实施例中,平台702可以从具有一个或多个导航特征的导航控制器750接收控制信号。控制器750的导航特征可以用于例如与用户界面722交互。在实施例中,导航控制器750可以是定点设备,其可以是允许用户向计算机输入空间(例如,连续的和多维的)数据的计算机硬件部件(尤其是人机交互设备)。例如图形用户界面(GUI)的多种系统以及电视机和监视器允许用户利用身体姿势来控制并提供数据到计算机或电视机。
控制器750的导航特征的移动可以通过显示器上显示的指针、光标、聚焦环或其它视觉指示器的移动而反映在显示器(例如显示器720)上。例如,在软件应用716的控制下,位于导航控制器750上的导航特征可以映射为例如用户界面722上显示的虚拟导航特征。在实施例中,控制器750可能不是独立的部件而是集成到平台702和/或显示器720中。然而,实施例并不限于本文所示或描述的上下文中的元件。
在实施例中,驱动器(未示出)可以包括用于使得用户能够立即打开和关闭平台702的技术,就像例如在激活时于初始启动之后通过触摸按钮来打开和关闭电视机。程序逻辑可以允许平台702在平台被“关闭”时将内容流送到媒体适配器或其它内容服务设备730或内容输送设备740。另外,芯片组705可以包括例如硬件和/或软件支持5.1环绕声音频和/或高清晰度7.1环绕声音频。驱动器可以包括用于集成图形平台的图形驱动器。在实施例中,图形驱动器可以包括外围部件互连(PCI)快速图形卡。
在各个实施例中,在系统700中示出的任意一个或多个部件可以被集成。例如,平台702和内容服务设备730可以集成,或者平台702和内容输送设备740可以集成,或者平台702、内容服务设备730以及内容输送设备740可以集成。在各个实施例中,平台702和显示器720可以是集成单元。例如,显示器720和内容服务设备730可以集成,或者显示器720和内容输送设备740可以集成。这些例子并不意味着限制本发明。
在各个实施例中,系统700可以实现为无线系统、有线系统、或两者的组合。当实现为无线系统时,系统700可以包括适于在无线共享介质上进行通信的部件和接口,例如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑,等等。无线共享介质的例子可以包括无线频谱的一部分,例如RF频谱等。当实现为有线系统时,系统700可以包括适用于通过有线通信介质进行通信的部件和接口,例如输入/输出(I/O)适配器、用于连接I/O适配器与对应的有线通信介质的物理连接器、网络接口卡(NIC)、磁盘控制器、视频控制器、音频控制器,等等。有线通信介质的例子可以包括电线、电缆、金属导线、印刷电路板(PCB)、背板、交换结构、半导体材料、双绞线、同轴电联、光纤,等等。
平台702可以建立一个或多个逻辑或物理信道以传递信息。所述信息可以包括媒体信息和控制信息。媒体信息可以指的是表示用户专用内容的任何数据。内容的例子可以包括,例如,来自语音会议的数据、视频会议、流送视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等。来自语音会议的数据可以例如是话语信息、静默周期、背景噪声、舒适噪声、音调等。控制信息可以指的是表示自动系统专用的命令、指令或控制字的任何数据。例如,控制信息可以用于将媒体信息路由通过系统,或指示节点以预先确定的方式处理媒体信息。然而,实施例并不限于图5中所示或所描述的元件或上下文。
如上所述,系统700可以具体实现为各种物理风格或形状因子。图6示出了在其中实现系统700的小形状因子设备800的实施例。在实施例中,例如,设备800可以实现为具有无线能力的移动计算设备。移动计算设备可以指具有处理系统和移动电源或供应(例如,一个或多个电池)的任何设备。
如上所述,移动计算设备的例子可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板电脑、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合的蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板或智能电视机)、移动互联网设备(MID)、消息传送设备、数据通信设备,等等。
移动计算设备的例子还可以包括被布置为可以由个人穿戴的计算机,例如手腕计算机、手指计算机、环状计算机、眼镜计算机、带夹计算机、臂章计算机、鞋子计算机、衣服计算机,以及其他可穿戴计算机。在实施例中,例如,移动计算设备可以实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。虽然可以通过例子以实现为智能电话的移动计算设备来描述一些实施例,但是可以理解的是,可以利用其它无线移动计算设备来实现其它实施例。实施例并不局限于该上下文。
在一些实施例中,处理器710可以与摄像机722和全球定位系统传感器720进行通信。与处理器710耦合的存储器712可以存储计算机可读指令以在软件和/或固件实施例中实施图4中所示的序列。
如图6所示,设备800可以包括壳体802、显示器804、输入/输出(I/O)设备806以及天线808。设备800还可以包括导航特征812。显示器804可以包括任意适当的显示单元,以用于显示适于移动计算设备的信息。I/O设备806可以包括任意适当的I/O设备,以用于将信息输入到移动计算设备。I/O设备806的例子可以包括字母数字键盘、数字建区、触摸板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别设备和软件,等等。信息还可以通过麦克风输入到设备800。这种信息可以由语音识别设备进行数字化。实施例并不局限于该上下文。
可以利用硬件元件、软件单元或两者的组合来实现各种实施例。硬件元件的例子可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微型芯片、芯片组,等等。软件的例子可以包括软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或其任意组合。判定实施例是利用硬件元件和/或软件单元实现可以根据任意数量的因素而变化,所述因素例如是期望的计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。
以下条款和/或例子属于进一步的实施例:
一个示例性实施例可以是一种方法,包括:利用图形处理器来将帧划分为多个瓦片,确定用于所述多个瓦片中的每个瓦片的哈希值,将每个瓦片的哈希值与先前帧中相同瓦片的哈希值进行比较,以及仅在哈希值不相同时将瓦片发送给显示器。所述方法还可以包括:其中,仅在哈希值不相同时,将瓦片的内容发送给显示器。所述方法还可以包括:仅在哈希值不相同时,对每个瓦片进行多采样抗锯齿解析。所述方法还可以包括:其中,如果哈希值相同,则抑制将颜色高速缓存中对应的高速缓存行清除回主存储器。所述方法还可以包括:抑制清除颜色高速缓存中的对应哈希值与先前帧的哈希值相同的高速缓存行。所述方法还可以包括:将写入高速缓存行的值累积到属于高速缓存行所属的瓦片的对应的哈希值。所述方法还可以包括:实现扩展显示端口部分屏幕更新。所述方法还可以包括使用后排序架构。所述方法还可以包括:利用密码哈希函数来确定哈希值。所述方法还可以包括:利用非线性表格查找或校验和函数来确定哈希值。
在另一实施例中,可以是一种或多种非瞬态计算机可读介质,其存储指令,所述指令可由处理器执行以实施包括以下的序列:将帧划分为多个瓦片,确定所述多个瓦片中的每个瓦片的哈希值,将每个瓦片的哈希值与先前帧中相同瓦片的哈希值进行比较,以及仅在哈希值不相同时将瓦片发送给显示器。所述介质还可以包括:其中,仅在哈希值不相同时,将瓦片的内容发送给显示器。所述介质可以包括:仅在哈希值不相同时,对每个瓦片进行多采样抗锯齿解析。所述介质还可以包括:其中,如果哈希值相同,则抑制将颜色高速缓存中对应的高速缓存行清除回主存储器。所述介质可以包括:抑制清除颜色高速缓存中的对应哈希值与先前帧的哈希值相同的高速缓存行。所述介质还可以包括:将写入高速缓存行的值累积到属于高速缓存行所属的瓦片的对应的哈希值。所述介质可以包括:实现扩展显示端口部分屏幕更新。
另一示例性实施例可以是一种装置,包括:处理器,用于将帧划分为多个瓦片,确定所述多个瓦片中每个瓦片的哈希值,将每个瓦片的哈希值与先前帧中相同瓦片的哈希值进行比较,以及仅在哈希值不相同时将瓦片发送给显示器;以及耦合到所述处理器的存储设备。所述装置可以包括:其中,仅在哈希值不相同时,所述处理器将瓦片的内容发送给显示器。所述装置可以包括:仅在哈希值不相同时,所述处理器对每个瓦片进行多采样抗锯齿解析。所述装置可以包括:如果哈希值相同,则所述处理器抑制将颜色高速缓存中对应的高速缓存行清除回主存储器。所述装置可以包括:所述处理器抑制清除颜色高速缓存中的对应哈希值与先前帧的哈希值相同的高速缓存行。所述装置可以包括:所述处理器将写入高速缓存行的值累积到属于高速缓存行所属的瓦片的对应的哈希值。所述装置可以包括:所述处理器实现扩展显示端口部分屏幕更新。所述装置可以包括:所述处理器具有后排序架构。所述装置可以包括:所述处理器利用密码哈希函数来确定哈希值。所述装置可以包括:所述处理器利用非线性表格查找或校验和函数来确定哈希值。所述装置可以包括:通信地耦合到处理器的显示器。所述装置可以包括:耦合到处理器的电池。所述装置可以包括:固件和用于更新所述固件的模块。
本文所描述的图形处理技术可以以各种硬件架构实现。例如,图形功能可以集成到芯片组中。可替代地,可以使用分立的图形处理器。作为再一个实施例,图形函数可以通过包括多核处理器的通用处理器实现。
贯穿该说明书所提及的“一个实施例”或“实施例”表示结合实施例所描述的特定特征、结构或特性包含于本公开所包括的至少一个实现方式。因此,出现短语“一个实施例”或“在实施例中”不一定指同一实施例。此外,特定特征、结构或特性可以设置成除了所示出的特定实施例外的其他适当的形式,所有这些形式可以包含于本申请的权利要求中。
虽然已经描述了有限数量的实施例,但本领域技术人员将据此领会多种修改和变型。所附权利要求意图覆盖所有这种落入本公开的真实精神和范围内的修改和变型。
Claims (22)
1.一种利用后排序的图形处理方法,包括:
利用图形处理器来将帧划分为多个瓦片;
通过将写入到高速缓存行中的值累积到属于所述高速缓存行所属的瓦片的哈希值来确定所述多个瓦片中每个瓦片的哈希值;
将每个瓦片的哈希值与先前帧中相同瓦片的哈希值进行比较;
如果瓦片的哈希值不相同,则将该瓦片的对应的高速缓存行从高速缓存清除回主存储器;
对于每个瓦片将当前帧的哈希值与先前帧的对应哈希值进行比较;以及
仅在所述哈希值不相同时,对每个瓦片进行多采样抗锯齿解析并将所述每个瓦片的内容发送给显示器。
2.根据权利要求1所述的方法,其中,如果所述哈希值相同,则抑制将颜色高速缓存中对应的高速缓存行清除回主存储器。
3.根据权利要求1所述的方法,包括:抑制清除颜色高速缓存中的对应哈希值与先前帧的哈希值相同的高速缓存行。
4.根据权利要求1所述的方法,包括:利用密码哈希函数来确定哈希值。
5.根据权利要求1所述的方法,包括:利用非线性表格查找或校验和函数来确定哈希值。
6.一种或多种非瞬态计算机可读介质,其存储指令,所述指令能够由处理器执行以实施包括以下的序列:
将帧划分为多个瓦片;
通过将写入到高速缓存行中的值累积到属于所述高速缓存行所属的瓦片的哈希值来确定所述多个瓦片中每个瓦片的哈希值;
将每个瓦片的哈希值与先前帧中相同瓦片的哈希值进行比较;
如果瓦片的哈希值不相同,则将该瓦片的对应的高速缓存行从高速缓存清除回主存储器;
对于每个瓦片将当前帧的哈希值与先前帧的对应哈希值进行比较;以及
仅在所述哈希值不相同时,对每个瓦片进行多采样抗锯齿解析并将所述每个瓦片的内容发送给显示器。
7.根据权利要求6所述的介质,其中,如果所述哈希值相同,则抑制将颜色高速缓存中对应的高速缓存行清除回主存储器。
8.根据权利要求6所述的介质,包括:抑制清除颜色高速缓存中的对应哈希值与先前帧的哈希值相同的高速缓存行。
9.根据权利要求6所述的介质,包括:实现扩展显示端口部分屏幕更新。
10.一种利用后排序的图形处理装置,包括:
处理器,用于将帧划分为多个瓦片,通过将写入到高速缓存行中的值累积到属于所述高速缓存行所属的瓦片的哈希值来确定所述多个瓦片中每个瓦片的哈希值,将每个瓦片的哈希值与先前帧中相同瓦片的哈希值进行比较,如果瓦片的哈希值不相同,则将该瓦片的对应的高速缓存行从高速缓存清除回主存储器,对于每个瓦片将当前帧的哈希值与先前帧的对应哈希值进行比较,以及仅在所述哈希值不相同时,对每个瓦片进行多采样抗锯齿解析并将所述每个瓦片的内容发送给显示器;以及
耦合到所述处理器的存储设备。
11.根据权利要求10所述的装置,如果所述哈希值相同,则所述处理器抑制将颜色高速缓存中对应的高速缓存行清除回主存储器。
12.根据权利要求10所述的装置,所述处理器抑制清除颜色高速缓存中的对应哈希值与先前帧的哈希值相同的高速缓存行。
13.根据权利要求10所述的装置,所述处理器实现扩展显示端口部分屏幕更新。
14.根据权利要求10所述的装置,所述处理器具有后排序架构。
15.根据权利要求10所述的装置,所述处理器利用密码哈希函数来确定哈希值。
16.根据权利要求10所述的装置,所述处理器利用非线性表格查找或校验和函数来确定哈希值。
17.根据权利要求10所述的装置,所述处理器存储来自先前帧的内容,如果针对瓦片的当前帧的渲染目标的哈希值与所述先前帧的哈希值相同,则将所述内容标记为已清除,并避免将数据从高速缓存驱逐到存储器且仅释放对应的高速缓存行。
18.一种利用后排序的图形处理装置,包括:
用于利用图形处理器来将帧划分为多个瓦片的单元;
用于通过将写入到高速缓存行中的值累积到属于所述高速缓存行所属的瓦片的哈希值来确定所述多个瓦片中每个瓦片的哈希值的单元;
用于将每个瓦片的哈希值与先前帧中相同瓦片的哈希值进行比较的单元;
用于如果瓦片的哈希值不相同,则将该瓦片的对应的高速缓存行从高速缓存清除回主存储器的单元;
用于对于每个瓦片将当前帧的哈希值与先前帧的对应哈希值进行比较的单元;以及
用于仅在所述哈希值不相同时,对每个瓦片进行多采样抗锯齿解析并将所述每个瓦片的内容发送给显示器的单元。
19.根据权利要求18所述的装置,其中,如果所述哈希值相同,则抑制将颜色高速缓存中对应的高速缓存行清除回主存储器。
20.根据权利要求18所述的装置,包括:用于抑制清除颜色高速缓存中的对应哈希值与先前帧的哈希值相同的高速缓存行的单元。
21.根据权利要求18所述的装置,包括:用于利用密码哈希函数来确定哈希值的单元。
22.根据权利要求18所述的装置,包括:用于利用非线性表格查找或校验和函数来确定哈希值的单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/227,228 | 2014-03-27 | ||
US14/227,228 US20150278981A1 (en) | 2014-03-27 | 2014-03-27 | Avoiding Sending Unchanged Regions to Display |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104951263A CN104951263A (zh) | 2015-09-30 |
CN104951263B true CN104951263B (zh) | 2019-05-14 |
Family
ID=54066878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510085092.2A Active CN104951263B (zh) | 2014-03-27 | 2015-02-16 | 避免向显示器发送未改变的区域 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150278981A1 (zh) |
CN (1) | CN104951263B (zh) |
DE (1) | DE102015002218B4 (zh) |
TW (1) | TWI582751B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9817627B2 (en) * | 2014-08-04 | 2017-11-14 | At&T Intellectual Property I, L.P. | Method and apparatus for presentation of media content |
KR102245137B1 (ko) * | 2014-09-17 | 2021-04-28 | 삼성전자 주식회사 | 렌더링 데이터의 압축을 해제하는 장치, 방법 및 기록매체 |
GB2531358B (en) * | 2014-10-17 | 2019-03-27 | Advanced Risc Mach Ltd | Method of and apparatus for processing a frame |
GR20140100528A (el) * | 2014-10-20 | 2016-06-01 | Arm Limited | Ενας βασισμενος σε πλακιδια επεξεργαστης γραφικων και μια μεθοδος επεξεργασιας γραφικων σε ενα βασισμενο σε πλακιδια επεξεργαστη |
US10140033B2 (en) * | 2015-06-15 | 2018-11-27 | Xitore, Inc. | Apparatus, system, and method for searching compressed data |
US10621690B2 (en) * | 2015-09-17 | 2020-04-14 | Qualcomm Incorporated | Storing bandwidth-compressed graphics data |
GB2543064B (en) | 2015-10-06 | 2018-08-22 | Displaylink Uk Ltd | Managing display data |
CN106250436A (zh) * | 2016-07-26 | 2016-12-21 | 东软集团股份有限公司 | 管理表单数据的方法及装置 |
US20180285272A1 (en) * | 2017-04-01 | 2018-10-04 | Intel Corporation | Managing image writes |
US20180286006A1 (en) * | 2017-04-03 | 2018-10-04 | Intel Corporation | Tile reuse in imaging |
CN108170393A (zh) * | 2017-12-29 | 2018-06-15 | 佛山市幻云科技有限公司 | 一种基于单片机的显示方法与系统 |
WO2019175971A1 (ja) * | 2018-03-13 | 2019-09-19 | Necディスプレイソリューションズ株式会社 | 映像制御装置及び映像制御方法 |
GB2580179B (en) * | 2018-12-21 | 2021-08-18 | Imagination Tech Ltd | Tile-based scheduling |
US11107393B1 (en) * | 2020-08-31 | 2021-08-31 | National Yunlin University Of Science And Technology | LED panel controlling method and LED panel controlling system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826056A (zh) * | 2009-02-20 | 2010-09-08 | Arm有限公司 | 数据处理设备和方法 |
CN102033728A (zh) * | 2009-09-25 | 2011-04-27 | Arm有限公司 | 图形处理系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007535262A (ja) * | 2004-04-27 | 2007-11-29 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 圧縮情報信号に透かしを入れる方法 |
TW200833112A (en) * | 2007-01-26 | 2008-08-01 | Nat Univ Dong Hwa | Image watermarking adding and extracting method having image tampering recovery function |
US8330763B2 (en) * | 2007-11-28 | 2012-12-11 | Siemens Aktiengesellschaft | Apparatus and method for volume rendering on multiple graphics processing units (GPUs) |
CN101217655A (zh) * | 2008-01-04 | 2008-07-09 | 广东威创视讯科技股份有限公司 | 一种数据压缩处理方法 |
GB0916924D0 (en) | 2009-09-25 | 2009-11-11 | Advanced Risc Mach Ltd | Graphics processing systems |
CN101901126B (zh) * | 2010-07-12 | 2012-01-04 | 东北大学 | 组合式大屏幕流媒体播放的计算机控制方法 |
CN101923455B (zh) * | 2010-09-01 | 2012-02-08 | 武汉大学 | 一种yuv格式的数字图像显示和分析方法 |
US8723889B2 (en) | 2011-01-25 | 2014-05-13 | Freescale Semiconductor, Inc. | Method and apparatus for processing temporal and spatial overlapping updates for an electronic display |
KR101861772B1 (ko) | 2012-02-07 | 2018-05-28 | 삼성전자주식회사 | 시스템온칩, 이의 동작 방법, 및 상기 시스템온칩을 포함하는 모바일 장치 |
US20140152891A1 (en) | 2012-12-05 | 2014-06-05 | Silicon Image, Inc. | Method and Apparatus for Reducing Digital Video Image Data |
CN103065606A (zh) * | 2012-12-20 | 2013-04-24 | 苏州佳世达电通有限公司 | 显示画面的特定区域的遮挡方法及遮挡系统 |
-
2014
- 2014-03-27 US US14/227,228 patent/US20150278981A1/en not_active Abandoned
-
2015
- 2015-02-05 TW TW104103898A patent/TWI582751B/zh active
- 2015-02-16 CN CN201510085092.2A patent/CN104951263B/zh active Active
- 2015-02-20 DE DE102015002218.0A patent/DE102015002218B4/de active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826056A (zh) * | 2009-02-20 | 2010-09-08 | Arm有限公司 | 数据处理设备和方法 |
CN102033728A (zh) * | 2009-09-25 | 2011-04-27 | Arm有限公司 | 图形处理系统 |
Also Published As
Publication number | Publication date |
---|---|
DE102015002218A1 (de) | 2015-10-01 |
TWI582751B (zh) | 2017-05-11 |
CN104951263A (zh) | 2015-09-30 |
DE102015002218B4 (de) | 2021-07-08 |
TW201537555A (zh) | 2015-10-01 |
US20150278981A1 (en) | 2015-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104951263B (zh) | 避免向显示器发送未改变的区域 | |
US9906816B2 (en) | Facilitating environment-based lossy compression of data for efficient rendering of contents at computing devices | |
US10284816B2 (en) | Facilitating true three-dimensional virtual representation of real objects using dynamic three-dimensional shapes | |
US11398194B2 (en) | Facilitating chromatic adaptation of display contents at computing devices based on chromatic monitoring of environmental light | |
CN103546158B (zh) | 用于图形处理的方法、系统和装置 | |
WO2018057109A1 (en) | Cache and compression interoperability in a graphics processor pipeline | |
CN104704469B (zh) | 动态地重新平衡图形处理器资源 | |
CN104756150B (zh) | 深度缓冲 | |
US9990691B2 (en) | Ray compression for efficient processing of graphics data at computing devices | |
CN110069421A (zh) | 通过统一存储器架构的存储器共享 | |
CN110555895A (zh) | 在中排序架构中利用帧间相干性 | |
US10338953B2 (en) | Facilitating execution-aware hybrid preemption for execution of tasks in computing environments | |
US10885603B2 (en) | Alpha blending and display update bandwidth saving during render and display operations | |
CN104050634B (zh) | 丢弃过滤器抽头的纹理地址模式 | |
CN104035540B (zh) | 在图形渲染期间降低功耗 | |
US10282804B2 (en) | Facilitating configuration of computing engines based on runtime workload measurements at computing devices | |
US20160364829A1 (en) | Facilitating efficient graphics command generation and execution for improved graphics performance at computing devices | |
US10593095B2 (en) | Facilitating increased precision in mip-mapped stitched textures for graphics computing devices | |
US20170154403A1 (en) | Triple buffered constant buffers for efficient processing of graphics data at computing devices | |
WO2017048357A1 (en) | Facilitating quantization and compression of three-dimensional graphics data using screen space metrics at computing devices | |
WO2017099882A1 (en) | Accelerated touch processing at computing devices | |
US11088907B2 (en) | System characterization and configuration distribution for facilitating improved performance at computing devices | |
US10026142B2 (en) | Supporting multi-level nesting of command buffers in graphics command streams at computing devices | |
CN104113757A (zh) | 颜色缓冲压缩 | |
US20170371662A1 (en) | Extension of register files for local processing of data in computing environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |