CN100568277C - 在多重图形处理单元图形子系统中进行多重缓冲 - Google Patents

在多重图形处理单元图形子系统中进行多重缓冲 Download PDF

Info

Publication number
CN100568277C
CN100568277C CNB2006101355923A CN200610135592A CN100568277C CN 100568277 C CN100568277 C CN 100568277C CN B2006101355923 A CNB2006101355923 A CN B2006101355923A CN 200610135592 A CN200610135592 A CN 200610135592A CN 100568277 C CN100568277 C CN 100568277C
Authority
CN
China
Prior art keywords
buffer
image
translated
processing unit
posterior bumper
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
Application number
CNB2006101355923A
Other languages
English (en)
Other versions
CN1991906A (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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN1991906A publication Critical patent/CN1991906A/zh
Application granted granted Critical
Publication of CN100568277C publication Critical patent/CN100568277C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver

Abstract

本发明公开了一种用于在多重图形处理单元图形子系统中实施多重缓冲的方法及系统。多重缓冲的目的是减少GPU的空闲时间。在一实施例中,第一GPU在后缓冲器中转译第一图像之后,通过翻转至后缓冲器而显示第一图像。然后,交换前、后缓冲器,接着,以预定的序列移动后缓冲器与内部缓冲器。通过第二GPU将第二图像转译到目前的后缓冲器。再通过翻转至目前的后缓冲器而显示第二图像。然后,再次交换前、后缓冲器,并再次移动后缓冲器与内部缓冲器。

Description

在多重图形处理单元图形子系统中进行多重缓冲
技术领域
本发明涉及计算机图形处理,更具体地说,涉及关于在计算机系统中操作多重GPU图形子系统的多重缓冲。
背景技术
在许多具有高等图形处理功能的计算机系统中,图形处理子系统包括双缓冲模组。双缓冲模组具有两个存储器区段,即前缓冲器和后缓冲器。前缓冲器储存完全转译(rending)的图像并将此图像提供给显示驱动器。后缓冲器储存正在由图形处理单元转译的图像。一旦完成后缓冲器的转译,并且前缓冲器图像处于完全显示状态时,即可翻转(flip)前、后缓冲器。因此,之前的前缓冲器变成了后缓冲器,并且可以储存受到转译的新图像,而之前的后缓冲器提供其所储存、用于显示的新转译图像。前、后缓冲器继续以此方式翻转,并且翻转的速度与显示器重新整理的速度相同(例如,50Hz、60Hz、75Hz或90Hz)。另外,为防止发生图像分裂,缓冲器翻转必须与转译速度同步。
当计算机系统采用多重图形处理单元(GPU)时,GPU及其缓冲器之间的协调需要使用另一种技术或处理,称为位块传送(BLT),即将来自两个缓冲器的两个点阵图图案合而为一。第一图显示两个GPU系统包含一主GPU与一从GPU,其中,主GPU进行翻转,而从GPU通过PCIe总线连接进行BLT。
双缓冲器(一个用于显示,另一个用于转译)只对单GPU系统有用。当有多重GPU进行转译时,显然所转译的图像会超出两个缓冲器的处理能力,因而GPU将被迫不时中止转译或空闲,于是降低了图形子系统的性能。
因此,多重GPU计算机系统最佳状态是任何GPU都没有产生所谓的空闲时间,以充分发挥多重GPU所能提供的处理能力。所需要的是一种经过改进且用于增强计算机系统的集体处理能力的方法和系统。
发明内容
鉴于上述问题,本发明提供了一种用于执行多重缓冲的方法及系统,即通过多重缓冲器于内部处理所转译的图像,以便减少图形处理单元(GPU)的空闲时间,同时外部应用程序不会发生任何差异。
在本发明的一个实施例中,第一GPU在外部后缓冲器中转译第一图像之后,通过翻转此外部后缓冲器而显示第一图像。然后,后缓冲器变为前缓冲器,而原来的前缓冲器变为后缓冲器,从应用的角度看,外部后缓冲器和前缓冲器是双缓冲实施方案。其中于翻转显示第一图像的同时,第一GPU将一第三图像转译到内部缓冲器;第二图像通过第二GPU转译到内部缓冲器,并且以预定的序列移动外部后缓冲器和内部缓冲器,而后于翻转显示第二图像的同时,第二GPU将一第四图像转译到内部缓冲器。以此方式,内部缓冲器以转换的方式取代外部后缓冲器和前缓冲器。从应用角度来看,其仍为双缓冲器,而从驱动器的角度看,则有更多的缓冲器。
根据以下结合附图所陈述的特定具体实施例,将能充分了解本发明的构造及操作方法,以及其额外的目的和优点。
附图说明
图1为具有两个采用双缓冲之图形子系统的现有计算机系统的一部分的方块图。
图2为现有双缓冲计算机系统中的GPU操作的时序图。
图3为根据本发明的一具体实施例说明消除部分GPU空闲时间的三缓冲器系统的时序图。
图4为根据本发明的另一具体实施例说明进一步减少GPU空闲时间的四缓冲器系统的时序图。
图5为根据本发明的一具体实施例说明透明多缓冲系统中的缓冲器内容移动的方块图。
图6为根据本发明的一具体实施例说明DDFlip函数中的缓冲器内容移动实施方案的流程图。
图7为根据本发明的一具体实施例说明应用更广泛的透明多缓冲系统的组件的方块图。
图8A及图8B为根据本发明的一具体实施例说明在Windows操作系统环境中完成透明缓冲所需采取的步骤的流程图。
主要元件符号说明
100        计算机系统
110        主GPU
120        从GPU
130        缓冲器A
135        缓冲器B
140        显示接口
160        缓冲器C
165        缓冲器D
170        CPU
180        主存储
165        缓冲器D
200        时隙
210        时隙
220        时隙
230        时隙
240        时隙
250        时隙
260        时隙
270        时隙
300        时隙
305        时隙
310        时隙
315        时隙
320        时隙
330        时隙
335        时隙
340        时隙
345        时隙
350        时隙
360        时隙
365        时隙
370        时隙
375        时隙
400        时隙
405        时隙
410        时隙
420        时隙
425        时隙
430        时隙
435        时隙
440        时隙
450        时隙
455        时隙
460        时隙
470        时隙
475        时隙
480        时隙
500        缓冲器
510        缓冲器
520        缓冲器
530        缓冲器
540        缓冲器
712-718    GPU
732-738    GPU
722-728    缓冲器
742-748    缓冲器
750        显示接口
步骤610    是否为第一次翻转
步骤620    初始化
步骤622    配置N-2个缓冲器B[2:N-1]
步骤624    在上下文中配置数据成员
步骤626    对于所有缓冲器,将各原始缓冲器结构
           储存于缓冲器结构的额外数据成员中
步骤628    将缓冲器B[0:N-1]储存于第一数据成员
           中
步骤629    将主要表面地址储存于第二数据成员中
步骤630    翻转
步骤640    以B[2]取代B[1]
步骤650    以B[i+1]取代B[i],2<=i<N-1
步骤660    以B[1]取代B[N-1]
步骤810A   从缓冲器结构的额外成员恢复缓冲器结
           构
步骤820A   毁损缓冲器
步骤810B   翻转至第二数据成员中所储存的主要表
           面地址
步骤820B   以第一数据成员获得缓冲器B[2:N-1]
步骤825B   从缓冲器结构的额外成员恢复缓冲器结
           构
步骤830B   将缓冲器B[2:N-1]毁损
具体实施方式
图1说明具有现有双缓冲的二个图形子系统110和120的计算机系统100。主GPU 110将图像转译到缓冲器A 130与缓冲器B135中。然后,将图像翻转至显示接口140,此显示接口140直接从缓冲器检索数据用于显示。从GPU 120将图像转译到缓冲器C 160与缓冲器D 165中。然后,以位块传送(BLT)的方式将图像交替传送到缓冲器A 130与缓冲器B 135。于正常情况下,主与从GPU将交替转译图像,即如果主GPU转译帧[i],则从GPU转译帧[i+1],然后主GPU再转译帧[i+2],依此类推。
图2为说明第一图双缓冲器图形子系统中的GPU的缺点时序图。主GPU在时隙200中将帧[2n]转译到缓冲器A之后,驱动器在时隙210中将帧[2n]翻转至前缓冲器中。同时,在时隙230中,将从GPU在时隙220中转译的帧[2n+1]以位块传送的方式传送到主GPU的缓冲器B中。然后,在时隙240中将缓冲器B翻转成为前缓冲器,以显示帧[2n+1]。主GPU只能在翻转时隙240完成之后才能在时隙260将后续的帧[2n+2]转译到缓冲器A中。由于翻转时隙240将缓冲器B完全变成前缓冲器之前,缓冲器A仍然是前缓冲器,其图像处于显示状态,因此主GPU不能将任何图像转译到前缓冲器中。因此,时隙250必须跟在时隙240之后。时间实例t0与t2之间的时间间隔为主GPU的空闲时间。而从GPU在时隙270中将帧[2n+3]转译到缓冲器D中。
图3是根据本发明之一具体实施例的三缓冲器双GPU图形子系统的时序图。在时隙300,主GPU将帧[2n]转译到缓冲器A。在t0至t2时,主GPU在时隙330,将帧[2n+2]转译到缓冲器C。同时在t0-t3时,主GPU在时隙305翻转缓冲器A中的帧[2n],在时隙320翻转缓冲器B中的帧[2n+1]及在时隙335翻转缓冲器C中的帧[2n+2]。在t3时,在时隙360中将帧[2n+4]转译到缓冲器B。而在时隙350翻转缓冲器A中的帧[2n+3],之后在时隙365翻转缓冲器B中的帧[2n+4]。同样的,在从GPU在时隙310翻转缓冲器E中的帧[2n+1],在时隙340翻转缓冲器D中的帧[2n+3]及在时隙370翻转缓冲器F中的帧[2n+5]。在t0-t1时,在时隙315中将帧[2n+1]以BLT方式传送到缓冲器B。而在时隙345将帧[2n+3]以BLT方式传送到缓冲器A,之后在时隙375将帧[2n+5]以BLT方式传送到缓冲器C。由于,在时隙330中将帧[2n+2]转译到缓冲器C不需要等待任何翻转操作,因此时隙330紧接在时隙300之后。然而,在时隙360中将帧[2n+4]转译到缓冲器B仍必需等待时隙335中的帧[2n+2]翻转完成,原因如前述双缓冲器子系统那样未向前缓冲器进行新的转译。因此,三缓冲器图形子系统只能部份消除GPU的空闲时间。
图4说明根据本发明的另一具体实施例的四缓冲器双GPU图形子系统。在时隙400,主GPU将帧[2n]转译到缓冲器A。在t0至t2时,主GPU在时隙405,将帧[2n+2]转译到缓冲器C,及在时隙410,将帧[2n+4]转译到缓冲器A;同时在t0至t2时,主GPU在时隙420翻转缓冲器A中的帧[2n],在时隙425翻转缓冲器B中的帧[2n+1]及在时隙430翻转缓冲器C中的帧[2n+2]。接着,在时隙435中将帧[2n+3]转译到缓冲器D。而在时隙440翻转缓冲器A中的帧[2n+4]。同样的,在从GPU在时隙450将帧[2n+1]转译到缓冲器F。在时隙455,将帧[2n+3]转译到缓冲器H及在时隙460,将帧[2n+5]转译到缓冲器F。在t0时,在时隙470将帧[2n+1]以BLT方式传送到B。而在时隙475将帧[2n+3]以BLT方式传送到D,之后在时隙480将帧[2n+5]以BLT方式传送到B。其中,主GPU在时隙405转译帧[2n+2]与在时隙410转译帧[2n+4]之间的空闲时间也大幅减少。事实上,如果时隙420和425中的翻转时间短到足以与时隙405中的转译比拟,则可以视为消除空闲时间。
现在,清楚的,通过将更多缓冲器添加到双GPU图形子系统中,可以减少甚至消除GPU的空闲时间。但如果让驱动器以如图2至图4所示的正常方式处理多重缓冲器多重GPU图形子系统,则驱动器逻辑会相对比较复杂。因此,如图5及图6所示,根据本发明的一具体实施例采用在翻转结束时移动缓冲器的驱动器逻辑,以使内部多重缓冲对外部应用程序而言是易于被了解的。
参考图5,B[0]500与B[1]510为图形子系统的两个原始双缓冲器,并且翻转只在这两个缓冲器之间执行。B[2]520,B[3]530,至B[N-1]540是额外的N-2个缓冲器。翻转结束时,B[1]510由B[2]520取代,更一般的说,B[i]由B[i+1]取代,其中2<=i<N-1,并且最后一个缓冲器B[N-1]540由B[1]510取代。
前述的取代要取代表示缓冲器的数据结构的内容。如同应用程序及操作系统(OS)使用指向缓冲器结构的指标来参考缓冲器,因此通过取代缓冲器结构内容,驱动器以一缓冲器取代另一缓冲器,而应用程序和OS仍认为其为原来的缓冲器。因此,取代之后,B[1]为原来的B[2],B[I]为原来的B[I+1],并且B[N-1]为原来的B[2]。并且在翻转之后,B[0]为原来的B[1],而B[1]为原来的B[0]。以此方式,即使在双缓冲器图形子系统中似乎只有原来的双缓冲器B[0]500及B[1]510可用于转译和显示,但内部缓冲器B[2]520至B[N-1]540也可以用于转译和显示,其对应用程序和OS而言是易于被了解的。
参考图6,所示流程图用于结合Microsoft Windows DdFlip函数的操作说明根据本发明的一具体实施例的流程。在步骤610中,检查翻转以查看这是否为第一次翻转,然后在初始化步骤620中,(更包含图6内之步骤622,步骤624,步骤626,步骤628和步骤629),驱动器配置额外的N-2个缓冲器B[2:N-1],当执行这两个步骤时,在上下文(context)中配置两个数据成员(data member),第一个成员用于储存指向缓冲器B[2:N-1]的指标,而第二个成员用于储存主要表面地址(primary surface address)。此处,上下文是使用装置时的情况,并且上下文结构包含处理器特定的暂存器数据。系统使用上下文结构来执行各种内部操作,并且主要表面是OS用作桌面显示器的缓冲器。而且,驱动器将会在缓冲器结构中配置额外的成员,以储存所有缓冲器(包括外部前、后缓冲器与内部缓冲器B[2:N-1])的原始缓冲器内容。
初始化步骤620之后,驱动器在步骤630中执行翻转。然后,步骤640、650至660要在B[1]与B[2:N-1]之间移动缓冲器结构内容。
如图7所示,根据本发明的另一具体实施例,本发明的多重缓冲也可以在上述具有两个缓冲器阵列的图形子系统中实施。GPU群组A 710具有多重GPU,即GPU_A[0:j]712-718,其将图像转译到缓冲器阵列A[1:m-1]724-728,然后在每次翻转至缓冲器A[0]722之后,按照与上面所述一样的方式移动缓冲结构内容。将该操作映射到GPU群组B 730的GPU_B[0:k]732-738与缓冲器阵列B 740的B[1:n-1]742-748。翻转在未切换的A[0]722与B[0]742之间进行,之后再显示于显示界面750上,因此应用程序将图形子系统仅视为现有技术的双缓冲图形子系统。
在绘图程序结束时,驱动器需要执行两个毁损函数(destroyfunction),例如DdDestroySurface和D3dDestroyContext,两者都是Microsoft Windows函数,分别如图8A和图8B所示。为了完成隐藏内部多重缓冲的任务,进一步将驱动器逻辑也添加到这些函数上。
图8A是执行DdDestroy Surface函数的流程图,其中,新增了步骤810A,以从图6的初始化步骤620期间储存于第一数据成员中的数据恢复表面结构。并在步骤820B中,毁损缓冲器。
图8B是执行D3dDestroyContext函数的流程图,其中,新增了三个步骤810B、820B与825B。步骤810B要翻转至第二数据成员中所储存的原始主要表面地址。步骤820B要通过在图6的初始化步骤620期间储存于第一数据成员中的指标获得缓冲器B[2:N-1]。步骤825B要通过每个缓冲器结构的额外数据成员恢复缓冲器结构。在步骤830B中,将缓冲器B[2:N-1]毁损。在毁损函数插入这些步骤以恢复被毁损的原始信息,驱动器(driver)可以正确毁损(destory)所有缓冲器并恢复原始的主要表面(priamry surface)。
虽然已经描述并显示了本发明的实施方式,但是本领域技术人员应该理解在脱离范围由权利要求限定的本发明的原理与精神的前提下,可以对这些实施方式进行各种修改。

Claims (10)

1.一种在具有多个图形处理单元的计算机系统中进行多重缓冲以通过在两个缓冲器之间翻转而转译并且显示图像的方法,该方法包括:
通过一第一图形处理单元将一第一图像转译到一后缓冲器;
通过翻转至该后缓冲器而显示该第一图像,然后,该前缓冲器变成一后缓冲器,而该后缓冲器变成一前缓冲器;
以一预定的序列移动目前的后缓冲器及内部缓冲器;
其中于翻转显示该第一图像的同时,该第一图形处理单元将一第三图像转译到内部缓冲器;
通过一第二图形处理单元将一第二图像转译到目前的该后缓冲器,其已由一内部缓冲器取代;
通过翻转至目前的该后缓冲器而显示该第二图像,然后,交换该前缓冲器及该后缓冲器;以及
再次以该预定的序列移动目前的该后缓冲器及该内部缓冲器;
其中于翻转显示该第二图像的同时,该第二图形处理单元将一第四图像转译到内部缓冲器。
2.如权利要求1所述的方法,其中,该移动缓冲器进一步包括:
在该缓冲器结构的一额外数据成员中储存一整个原始缓冲器结构;
将内部缓冲器的指标储存于一第一配置的数据成员中;以及
将一原始的主要表面地址储存于一第二配置的数据成员中。
3.如权利要求2所述的方法,其进一步包括如下步骤之一:
在一上下文中配置至少两个数据成员,并且在每个缓冲器结构中配置一额外的数据成员;
以储存在该缓冲器结构的该额外数据成员中的信息来恢复缓冲器结构,翻转至该第二配置的数据成员中所储存的该主要表面地址,从该第一配置的数据成员中的该指标来获得该内部缓冲器。
4.如权利要求1所述的方法,其进一步包括:
配置一或多个内部缓冲器;
交换该前缓冲器及该后缓冲器;以及
每次翻转之后在该后缓冲器与该内部缓冲器之间移动缓冲器结构内容。
5.一种在具有多个图形处理单元的计算机系统中进行多重缓冲的系统,其包括:
两个或多个图形处理单元,其用于转译图像;
两个或多个翻转缓冲器,其通过在两个翻转缓冲器之间翻转而交替提供用于显示所转译之图像的数据;
一或多个内部缓冲器,其用于取代该后缓冲器以获得更多可转译的缓冲器,
其中,于该两个或多个翻转缓冲器翻转显示所转译之图像的同时,该两个或多个图形处理单元转译后续的图像。
6.如权利要求5所述的系统,其进一步包括如下之一:
每个缓冲器结构中的一额外数据成员,其用于储存一整个原始的缓冲器结构,一第一配置的数据成员,其用于储存指向该内部缓冲器的指标,以及一第二配置的数据成员,其用于储存一原始的主要表面地址;
一恢复部件,其用于以储存在该缓冲器结构的该额外数据成员中的信息来恢复缓冲器结构,翻转部件,其用于翻转至该第二配置的数据成员中所储存的该主要表面地址,以及一获得部件,其通过储存于该第一配置的数据成员中的该指标来获得该内部缓冲器。
7.如权利要求5所述的系统,其中,具有一或多个互相关联的内部缓冲器,以获得更多可转译的缓冲器。
8.一种用于在具有多个图形处理单元及至少两个翻转缓冲器的计算机图形子系统中支持透明多重缓冲的系统,该系统包括:
至少一内部缓冲器,其配置用于提供更多可转译的缓冲器;
一图形驱动器,其用于移动该其一缓冲器和该内部缓冲器;以及
每个缓冲器结构中的至少一额外数据成员,其用于储存原始的缓冲器结构内容,以及由该驱动器配置的两个数据成员,其用于储存该图形子系统的初始信息,以用于在随后绘图程序结束时予以毁损,其中一成员用于储存指向内部缓冲器的指标,另一成员用于储存原始的主要表面地址,
其中,于该翻转缓冲器翻转显示所转译之图像的同时,该多个图形处理单元转译后续的图像。
9.如权利要求8所述的系统,其中,有至少一内部缓冲器与该其一缓冲器一起移动,以提供更多可转译的缓冲器。
10.如权利要求8所述的系统,其中,该绘图程序在一Windows操作系统中运行。
CNB2006101355923A 2005-10-18 2006-10-18 在多重图形处理单元图形子系统中进行多重缓冲 Active CN100568277C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US72766805P 2005-10-18 2005-10-18
US60/727,668 2005-10-18

Publications (2)

Publication Number Publication Date
CN1991906A CN1991906A (zh) 2007-07-04
CN100568277C true CN100568277C (zh) 2009-12-09

Family

ID=38214146

Family Applications (4)

Application Number Title Priority Date Filing Date
CNB2006101359411A Active CN100489820C (zh) 2005-10-18 2006-10-17 在计算机系统中延迟命令发出的方法和系统
CNB2006101355923A Active CN100568277C (zh) 2005-10-18 2006-10-18 在多重图形处理单元图形子系统中进行多重缓冲
CNB2006101355957A Active CN100495435C (zh) 2005-10-18 2006-10-18 图像处理单元的并行引擎的同步方法及系统
CN2006101355904A Active CN1991903B (zh) 2005-10-18 2006-10-18 图形处理事件同步的方法及系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB2006101359411A Active CN100489820C (zh) 2005-10-18 2006-10-17 在计算机系统中延迟命令发出的方法和系统

Family Applications After (2)

Application Number Title Priority Date Filing Date
CNB2006101355957A Active CN100495435C (zh) 2005-10-18 2006-10-18 图像处理单元的并行引擎的同步方法及系统
CN2006101355904A Active CN1991903B (zh) 2005-10-18 2006-10-18 图形处理事件同步的方法及系统

Country Status (3)

Country Link
US (4) US20070088856A1 (zh)
CN (4) CN100489820C (zh)
TW (4) TWI322354B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104081449A (zh) * 2012-01-27 2014-10-01 高通股份有限公司 用于图形并行处理单元的缓冲器管理

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8056093B1 (en) * 2006-12-07 2011-11-08 Nvidia Corporation Asynchronous kernel processing for a graphics processing system
US8390631B2 (en) * 2008-06-11 2013-03-05 Microsoft Corporation Synchronizing queued data access between multiple GPU rendering contexts
US8368701B2 (en) * 2008-11-06 2013-02-05 Via Technologies, Inc. Metaprocessor for GPU control and synchronization in a multiprocessor environment
US8531471B2 (en) * 2008-11-13 2013-09-10 Intel Corporation Shared virtual memory
US9075559B2 (en) 2009-02-27 2015-07-07 Nvidia Corporation Multiple graphics processing unit system and method
US9135675B2 (en) 2009-06-15 2015-09-15 Nvidia Corporation Multiple graphics processing unit display synchronization system and method
CN101930719A (zh) * 2009-06-18 2010-12-29 辉达公司 自动切换显示器场景模式的方法及系统
JP2011048579A (ja) * 2009-08-26 2011-03-10 Univ Of Tokyo 画像処理装置及び画像処理方法
US8803897B2 (en) * 2009-09-03 2014-08-12 Advanced Micro Devices, Inc. Internal, processing-unit memory for general-purpose use
US8305380B2 (en) * 2009-09-09 2012-11-06 Advanced Micro Devices, Inc. Managing resources to facilitate altering the number of active processors
US20110063309A1 (en) * 2009-09-16 2011-03-17 Nvidia Corporation User interface for co-processing techniques on heterogeneous graphics processing units
US20110084982A1 (en) * 2009-10-12 2011-04-14 Sony Corporation Apparatus and Method for Displaying Image Data With Memory Reduction
US8514235B2 (en) * 2010-04-21 2013-08-20 Via Technologies, Inc. System and method for managing the computation of graphics shading operations
CN102497591B (zh) * 2011-11-11 2015-02-18 青岛海信移动通信技术股份有限公司 一种终端以及该终端与电视进行无线传屏的方法
US8692832B2 (en) * 2012-01-23 2014-04-08 Microsoft Corporation Para-virtualized asymmetric GPU processors
US9384711B2 (en) 2012-02-15 2016-07-05 Microsoft Technology Licensing, Llc Speculative render ahead and caching in multiple passes
KR101308102B1 (ko) * 2012-02-24 2013-09-12 (주)유브릿지 휴대 단말 및 그 제어 방법
US8847970B2 (en) 2012-04-18 2014-09-30 2236008 Ontario Inc. Updating graphical content based on dirty display buffers
US9230517B2 (en) 2012-05-31 2016-01-05 Microsoft Technology Licensing, Llc Virtual surface gutters
US9235925B2 (en) 2012-05-31 2016-01-12 Microsoft Technology Licensing, Llc Virtual surface rendering
US9286122B2 (en) 2012-05-31 2016-03-15 Microsoft Technology Licensing, Llc Display techniques using virtual surface allocation
US9177533B2 (en) 2012-05-31 2015-11-03 Microsoft Technology Licensing, Llc Virtual surface compaction
CN102750665B (zh) * 2012-06-01 2014-09-24 上海鼎为电子科技(集团)有限公司 一种图形处理方法、图形处理装置及移动终端
US9307007B2 (en) 2013-06-14 2016-04-05 Microsoft Technology Licensing, Llc Content pre-render and pre-fetch techniques
US9507961B2 (en) * 2013-07-01 2016-11-29 Qualcomm Incorporated System and method for providing secure access control to a graphics processing unit
TWI507981B (zh) * 2013-07-05 2015-11-11 Phison Electronics Corp 指令執行方法、連接器與記憶體儲存裝置
US9818379B2 (en) 2013-08-08 2017-11-14 Nvidia Corporation Pixel data transmission over multiple pixel interfaces
JP6580380B2 (ja) * 2015-06-12 2019-09-25 オリンパス株式会社 画像処理装置および画像処理方法
US9916634B2 (en) 2015-06-12 2018-03-13 Intel Corporation Facilitating efficient graphics command generation and execution for improved graphics performance at computing devices
CN106600521A (zh) * 2016-11-30 2017-04-26 宇龙计算机通信科技(深圳)有限公司 一种图像处理方法及终端设备
CN107223264B (zh) * 2016-12-26 2022-07-08 达闼机器人股份有限公司 一种渲染方法及装置
KR101969219B1 (ko) * 2017-04-27 2019-04-15 재단법인대구경북과학기술원 빈발 패턴 마이닝 방법 및 장치
KR102098253B1 (ko) * 2018-02-13 2020-04-07 재단법인대구경북과학기술원 분산 시스템 기반 큰 규모 빈발 패턴 마이닝 시스템 및 방법
CN109300426A (zh) * 2018-03-30 2019-02-01 温州长江汽车电子有限公司 一种基于mcu的双tft屏显示系统及其显示方法
CN109743453B (zh) * 2018-12-29 2021-01-05 出门问问信息科技有限公司 一种分屏显示方法及装置
CN112231018B (zh) * 2020-12-15 2021-03-16 北京壁仞科技开发有限公司 用于卸载数据的方法、计算设备和计算机可读存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2542392B2 (ja) * 1987-07-31 1996-10-09 シャープ株式会社 文字描画装置
US4949280A (en) * 1988-05-10 1990-08-14 Battelle Memorial Institute Parallel processor-based raster graphics system architecture
US5519825A (en) * 1993-11-16 1996-05-21 Sun Microsystems, Inc. Method and apparatus for NTSC display of full range animation
US5878216A (en) * 1995-05-01 1999-03-02 Intergraph Corporation System and method for controlling a slave processor
US5657478A (en) * 1995-08-22 1997-08-12 Rendition, Inc. Method and apparatus for batchable frame switch and synchronization operations
US5668958A (en) * 1995-09-12 1997-09-16 International Business Machines Corporation Heterogeneous filing system with common API and reconciled file management rules
US5801717A (en) * 1996-04-25 1998-09-01 Microsoft Corporation Method and system in display device interface for managing surface memory
US5933155A (en) * 1996-11-06 1999-08-03 Silicon Graphics, Inc. System and method for buffering multiple frames while controlling latency
US6157395A (en) * 1997-05-19 2000-12-05 Hewlett-Packard Company Synchronization of frame buffer swapping in multi-pipeline computer graphics display systems
US6078339A (en) * 1998-02-10 2000-06-20 Intel Corporation Mutual exclusion of drawing engine execution on a graphics device
US6079013A (en) * 1998-04-30 2000-06-20 International Business Machines Corporation Multiprocessor serialization with early release of processors
US6515662B1 (en) * 1998-07-16 2003-02-04 Canon Kabushiki Kaisha Computer apparatus for providing stereoscopic views from monographic images and method
US6243107B1 (en) 1998-08-10 2001-06-05 3D Labs Inc., Ltd. Optimization of a graphics processor system when rendering images
US6724390B1 (en) * 1999-12-29 2004-04-20 Intel Corporation Allocating memory
US6747654B1 (en) * 2000-04-20 2004-06-08 Ati International Srl Multiple device frame synchronization method and apparatus
US6828975B2 (en) * 2001-03-01 2004-12-07 Microsoft Corporation Method and system for managing graphics objects in a graphics display system
US20020126122A1 (en) * 2001-03-12 2002-09-12 Yet Kwo-Woei Apparatus and method for minimizing the idle time of a computer graphic system using hardware controlled flipping
US6683614B2 (en) * 2001-12-21 2004-01-27 Hewlett-Packard Development Company, L.P. System and method for automatically configuring graphics pipelines by tracking a region of interest in a computer graphical display system
US6919896B2 (en) * 2002-03-11 2005-07-19 Sony Computer Entertainment Inc. System and method of optimizing graphics processing
US7015915B1 (en) * 2003-08-12 2006-03-21 Nvidia Corporation Programming multiple chips from a command buffer
US7075541B2 (en) * 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
US7388581B1 (en) * 2003-08-28 2008-06-17 Nvidia Corporation Asynchronous conditional graphics rendering
US7610061B2 (en) * 2003-09-20 2009-10-27 Samsung Electronics Co., Ltd. Communication device and method having a common platform
US7095416B1 (en) * 2003-09-22 2006-08-22 Microsoft Corporation Facilitating performance analysis for processing
US7545380B1 (en) * 2004-12-16 2009-06-09 Nvidia Corporation Sequencing of displayed images for alternate frame rendering in a multi-processor graphics system
US7522167B1 (en) * 2004-12-16 2009-04-21 Nvidia Corporation Coherence of displayed images for split-frame rendering in multi-processor graphics system
US7383412B1 (en) * 2005-02-28 2008-06-03 Nvidia Corporation On-demand memory synchronization for peripheral systems with multiple parallel processors
US7290074B2 (en) * 2005-04-06 2007-10-30 Kabushiki Kaisha Toshiba Back-off timing mechanism

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104081449A (zh) * 2012-01-27 2014-10-01 高通股份有限公司 用于图形并行处理单元的缓冲器管理

Also Published As

Publication number Publication date
US7889202B2 (en) 2011-02-15
TWI322354B (en) 2010-03-21
TWI329845B (en) 2010-09-01
TW200708971A (en) 2007-03-01
US7812849B2 (en) 2010-10-12
CN1991903B (zh) 2010-05-12
CN1991906A (zh) 2007-07-04
TWI354240B (en) 2011-12-11
CN101025717A (zh) 2007-08-29
US20070088856A1 (en) 2007-04-19
TW200737035A (en) 2007-10-01
US20070091097A1 (en) 2007-04-26
US7903120B2 (en) 2011-03-08
US20070091098A1 (en) 2007-04-26
CN100489820C (zh) 2009-05-20
TWI328779B (en) 2010-08-11
US20070091099A1 (en) 2007-04-26
CN1991904A (zh) 2007-07-04
CN1991903A (zh) 2007-07-04
CN100495435C (zh) 2009-06-03
TW200821979A (en) 2008-05-16
TW200821978A (en) 2008-05-16

Similar Documents

Publication Publication Date Title
CN100568277C (zh) 在多重图形处理单元图形子系统中进行多重缓冲
US8810480B2 (en) Methods and apparatuses for controlling display devices
CN101236524A (zh) 混合硬盘驱动器、计算机系统、闪存直接存储器存取电路
CN104995608A (zh) 保存及存储系统存储器管理单元上下文的方法、设备及程序产品
JP2007535006A (ja) システムメモリへのgpuのレンダリング
CN1113365C (zh) 实现数据的读修改写操作的方法和电路以及半导体存储器
US20070041050A1 (en) Memory management method and system
JP4728393B2 (ja) フレーム・バッファに格納されたイメージ・データを処理する方法及び装置
WO2003044652A2 (en) High-speed first-in-first-out buffer
CN105843576A (zh) 一种拼接墙窗口切换方法及装置
US10268606B2 (en) Method, device and system for switching access modes for data storage device
WO2010037684A1 (en) Method and computer program for operation of a multi-buffer graphics memory refresh, multi-buffer graphics memory arrangement and communication apparatus
JP2009239899A (ja) 画像処理回路及びそれを含む電子機器
JP4111192B2 (ja) メモリコントローラ、表示コントローラ及びメモリ制御方法
US20040153587A1 (en) Apparatus and method for connecting processor to bus
CN104156907A (zh) 一种基于fpga的红外预处理存储系统及存储方法
US9195259B1 (en) Method and apparatus for clock-gating registers
US10037169B2 (en) Image processing semiconductor device and image processing device
CN114449183B (zh) 影像处理芯片与影像处理方法
JP2007065948A (ja) バッファメモリ装置及びデータ転送システム
JPS6372556A (ja) 拡大印字方式
CN112162939B (zh) 进阶主机控制器及其控制方法
CN103019989B (zh) 处理系统、处理方法及集成电路
US8473696B2 (en) Adaptive buffer device and method thereof
JPH076093A (ja) 記憶制御装置

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