TW200821978A - Transparent multi-buffering in multi-GPU graphics subsystem - Google Patents

Transparent multi-buffering in multi-GPU graphics subsystem Download PDF

Info

Publication number
TW200821978A
TW200821978A TW095138470A TW95138470A TW200821978A TW 200821978 A TW200821978 A TW 200821978A TW 095138470 A TW095138470 A TW 095138470A TW 95138470 A TW95138470 A TW 95138470A TW 200821978 A TW200821978 A TW 200821978A
Authority
TW
Taiwan
Prior art keywords
buffer
internal
time slot
graphics processing
buffers
Prior art date
Application number
TW095138470A
Other languages
English (en)
Other versions
TWI329845B (en
Inventor
Howe Zhang
Shan Zhao
Original Assignee
Via Tech 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 Tech Inc filed Critical Via Tech Inc
Publication of TW200821978A publication Critical patent/TW200821978A/zh
Application granted granted Critical
Publication of TWI329845B publication Critical patent/TWI329845B/zh

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Image Input (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

200821978 九、發明說明: 【發明所屬之技術領域】 本申請案請求依2005年10月18曰申請的美國 專利申請案第60/727,668號「用於多重圖形處理單元 (GPU)解決方案的智慧型中央處理器(CPU)同步技術」之 權利。 本發明係關於電腦圖形處理,更特定言之,係關於在 電腦系統中操作多重圖形處理單元圖形子系統之多重緩 衝。 【先前技術】 在許多具有高等圖形處理功能的電腦系統中,圖形處 理子系統包括雙缓衝模組。雙缓衝模組具有兩個記憶體區 段,即前缓衝器和後緩衝器。前緩衝器儲存完全轉譯 (rending)的影像並將此影像提供給顯示驅動器。後緩衝器 儲存正在由圖形處理單元轉譯的影像。一旦完成後緩衝器 的轉譯,並且前缓衝器影像處於完全顯示狀態時,即可翻 轉(flip)前、後缓衝器。因此,之前的前緩衝器變成了後緩 衝器,並且可以儲存受到轉譯的新影像,而之前的後緩衝 器提供其所儲存、用於顯示的新轉譯影像。前、後缓衝器 繼續以此方式翻轉,並且翻轉的速度與顯示器重新整理的 速度相同(例如,50 Hz、60 Hz、75 Hz或90 Hz)。另外, 為防止發生影像分裂,缓衝器翻轉必須與轉譯速度同步。 當電腦系統採用多重圖形處理單元(GPU)時,圖形處理 單元及其缓衝器之間的協調需要使用另一種技術或處理, 5 200821978 圖圖案合而為7)固;將來自兩倾 1 里單元進行翻轉W單元m= 進行位元區塊傳送。 、Lie匯々IL排連接 雙緩衝器(一個用於顯千 形處理單元系統有用::、有二個;於轉譯)只對單圖 B士,咋址 田有多重圖形處理單元進行鞞嗜 而所轉相影像會超出兩個緩衝器的處理能力,因 而圖形處理U㈣& 此力口 圖形子系統的性能。了中止“或閒置,於是降低了 形處】Ϊ元:單元電腦系統最佳狀態是任何圖 圖置㈣,以充分發揮多重 ⑽處理早兀所能提供的處 改進且用於增強電腦系統之华體處理二:Γ經過 【發明内容】 心處理U的方法和系統。 的方問題’本發明提供了一種用於執行多重緩衝 像,以便.即透過f重缓衝器於内部處理所轉譯的影 用程式不會發生任何|(GPU)的閒仏間,同時外部應 後緩第一圖形處理單元在外部 而顯示第-影像;::衝;後緩衝器 ;前緩衝器變為後緩衝器,從她角度看, 蝴衡器是雙緩衝實施方案。第二影像藉由』= 6 200821978 處理單元轉譯到内部緩衝器,並且㈣ 後缓衝器和内部緩衝器。以 、…歹㈣多動外部 方式取代外部後缓衡π ^ 邛緩衝器以轉換的 仍為雙缓衝器,而從驅 』角度來看,其 根據以下結人附2 二則有更多的緩衝器。 分瞭解本發明的;定具體實 點。 構讀方法’以及其额外的目的和優 【實施方式】 /弟1圖說明具有習知雙緩衝之二個 系統100,苴内和人7 ^ 子系、、充的电腦 ⑽。主圖形處理草:央處理單元(CPU)17〇與主記憶體 ;衝_”。然後,將影像翻轉至顯示 卢、不::面140直接從緩衝器擷取資料用於顯示。一從圖形 二理120將影像轉譯到緩衝器C 160與緩衝器D 165 將影像交替傳送到 形處理單元將交替情況下,主與從圖 #澤〜像,即如果主圖形處理單元轉譯 則從圖形處理單元轉譯圖框㈣,然後主圖 理早:再轉譯圖框[1+2],依此類推。 抑第2圖為說明第!圖雙缓衝器圖形子系統中之圖 理早70的缺點時序圖。主圖形處理單元在時槽綱中將圖 框[Μ轉譯到緩衝器A之後,驅動器在時槽2H)中將圖框 ,轉至丽緩衝器中。同時,在時槽230巾,將從圖形 处理早7C在時槽22〇中轉譯的圖框[211+1]以位元區塊傳送 200821978 的方式傳送到主圖形處理單㈣緩衝器B中。⑽ =緩:器B翻轉成為前缓衝器,以 [2叫。主圖形處理單元只能在崎_ _ 能在時槽260將後續的圖框[2n+2]轉譯到緩衝哭a中。由 於翻轉時槽將緩衝器B完全變成前緩衝器之前,緩衝 盗A。仍然是前緩衝器,其影像處於顯示狀態,因此主圖形 處理單S不能將任何影像轉譯到前緩衝器中。因此,時槽 250—必須跟在時槽24〇之後。時間實例⑺與t2之間的時严: =隔為主圖形處理單元的閒置時間。而從_處理單元在 時槽270中將圖框[2η+3]轉譯到緩衝器D中。 第3圖是根據本發明之—具體實施例的三緩衝器雙 理單兀圖形子系統的時序圖。於時槽細,主圖形 处理單元將圖框[2n]轉譯到緩衝器A。在t0至t2時,主圖 =處理單元在時槽33(),將圖框[2n+2]轉譯到緩衝器c。同 8才在㈣時’主圖形處理單元於時槽305翻轉缓衝器a中 士圖忙[2n]’於0讀320翻轉缓衝器B中的圖框[2n+1]及於 ^槽335翻轉緩衝器C中的圖框[2奸2]。在t3時,在時槽 中將圖框[2n+4]轉譯到緩衝器B。而在時槽35〇翻轉缓 =A中的_2n+3],之後在時槽地翻轉缓衝器b中 =框Un+4]。同樣的,在從圖形處理單元於時槽31〇翻 =衝器E中的圖框[2n+1],於時槽34〇翻轉緩衝器d中 勺圖框[2n+3]及於時槽37〇翻轉緩衝器ρ中的圖框[μ]。 4 t〇_tl時,在時槽315中將圖框[2n+l]以BLT方式傳送到 &衝器B。而在時槽345將圖框[2n+3]卩町方式傳送到 8 200821978 緩衝器A,之後在時槽 到緩衝器c。由於,h士 乂 BLT方式傳送 …需要等待任何 之後H在時柄f作因此日讀33G緊接在時槽 B仍必f #待時槽/⑼中將圖框[2,轉譯到緩衝器 前述雙緩衝器$ 中之圖框[2n+2]翻轉完成’原因如 此,三緩衝器圖形子缓衝器進行新的轉譯。因 置時間。 “、、先只旎部份消除圖形處理單元的閒 雙圖形處j單元圖:康本為明之另-具體實施例的四緩衝器 單元在時样405」 在至°時,主圖形處理 ,將 C+4= ,t 420 « 槽425翻轉緩衡哭β + T WiSllUnl,於時 衝器c中=二 轉譯到緩衝哭D ]。饮者,在日讀极中將圖框[2n+3] 加仆同样:/而在時槽440翻轉緩衝器A ,的圖框 轉譯到^^圖形處理單元於時槽彻將圖框[一] η及於畔二L。於時槽455,將圖框[2n+3]轉譯到緩衡哭 475將圖框[=^ 將圖框[2 T方式傳达到D,之後在時槽480 元在時槽405二BW方式傳送到B °其中’主圖形處理單 榦#圖框[2n+2]與在時槽41 〇轉譯圖框[2料 200821978 之間的閒置時間也大幅減少。事實上,如果時槽4 2 〇和4) 中的翻轉時間短到足以與時槽4〇5中的轉譯比擬,貝f 425 視為消除閒置時間。 、^ ^ 現在,清楚的,藉由將更多緩衝器添加到雙圖形處理 單元圖形子系、統中’可以減少甚幻肖除圖形處理單元^ 置時間。但如果讓驅動器以如第2圖至第4圖所示的正二 方式處理多重緩衝器多重圖形處理單元圖形子系統 吊 動器邏輯會相對比較複雜。因此,如第5圖及第6 _ = 根據本發㈣—具體實施例採用在翻轉結束時移動緩= 的驅動器邏輯,以㈣料重緩衝料部應用程式而= 易於被了解的。 〇疋 參考第5圖,緩衝器b[0]5〇〇與緩衝器b[i]5i 形子系統的兩個原始雙緩衝器,並且翻轉只在這兩個緩= 為之間執行。緩衝器B[2]5205、缓衝器B[3]53〇,至缓衝器 B[NJ54()是額外的N_2個緩衝器。翻轉結束時,緩衝器 B[l]為510由缓衝器B[2]52〇取代,更〆般的說,緩衝器 B[i]由緩衝态B[i+1]取代,其中2 i < nj,並且最後一 個緩=器B[N-1]540由緩衡器可1]51〇取代。 月ί)述的取代係要取代表示緩衝器的資料結構的内容。 如同應用程式及作業系統(〇s)使用指向缓衝器結構的指 標來參考缓衝器,因此藉由取代缓衝器結構内容,驅動器 以一緩衝器取代另1_器,而應用程式和OS仍認為其 為原來的緩衝器。因此,取代之後,緩衝哭B⑴為原來的 緩衝器B[2],缓衝器B[I]為原來的緩衝器B[I+1],並且緩 10 200821978 衝B[N-1]為原來的緩衝器b[2]。並且在翻轉之後,缓衝 器B[0]為原來的緩衝器B[l],而緩衝器Β[η為原來的緩衝 為Β[0]。以此方式,即使在雙缓衝器圖形子系統中似乎只 有原來的緩衝器Β[0]500及緩衝器β[1]510可用於轉譯和 顯不’但緩衝器Β[2]520至緩衝器β[Ν-1]540也可以用於 轉譯和顯示,其對應用程式和0S而言是易於被了解的。 參考弟6圖’所示流程圖用於結合Microsoft Windows DdFlip函數的操作說明根據本發明之一具體實施例的流 程。在步驟610中,檢查翻轉以查看這是否為第一次翻轉, 然後在初始化步驟620中,(更包含第6圖内之步驟622-配置N-2個緩衝器b[2:N-1],步驟624-在内文中配置資料 成員,步驟626-對於所有緩衝器,將個原始緩衝器結構儲 仔方;緩衝器結構的痛外資料成員中,步驟將緩衝器 Β[〇:Ν-1]儲存於第一資料成員中和步驟629_將主要表面位 址儲存於第二資料成員中),驅動器配置額外的N-2個緩衝 為B[2:H],當執行這兩個步驟時,在内文(context)中 配置兩個資料成員(data member),第一個成員用於儲存指 向緩衝器B[2:N-1]的指標,而第二個成員用於儲存主要表 面位址(primary surface address)。此處,内文是使用裝置時 的情況,並且内文結構包含處理器特定的暫存器資料。系 統使用内文結構來執行各種内部操作,並且主要表面是〇s 用作桌面顯示器的緩衝器。而且,驅動器將會在緩衝器結 構中配置額外的成員,以儲存所有缓衝器(包括外部前、 後緩衝器與内部緩衝器的原始缓衝器内容。 11 200821978 初始化步驟620之後,驅動器在步驟63〇中執行翻轉。 然後,步驟640•以B[2]取代B[1]、步驟65〇_以坷许丨]取代 Β[ι] ’ 2<=ι<Ν-1至步驟66〇_以B⑴取代珂沁丨]係要在 與B[2:N-1]之間移動緩衝器結構内容。 如第7圖所示,根據本發明的另一具體實施例,本發 月的夕重缓衝也可以在上述具有兩個緩衝器陣列的圖形子 系統中實施。圖形處理單元群組A 71〇具有多重圖形處理 單元,即圖形處理單元一A[〇:J]712 _ 718,其將影像轉譯到 缓衝器陣列A 720 [ΐ:πΜ] 724 _ 728,然後在每次翻轉至缓 衝器Α[0] 722之後,按照與上面所述一樣的方式移動缓衝 結構内容。將該操作鏡射到圖形處理單元群組Β 73()之 GPU—B[0:k]732 - 738 與緩衝器陣列 β 740 之 B[l:n-l] 742 - 748。翻轉奋在未切換的緩衝器Α[〇] 與緩衝器 之間進行,之後再顯示於顯示界面75〇上,因此應用程式 將圖形子系統僅視為習知技術的雙缓衝圖形子系統。 在繪圖程式結束時,驅動器需要執行兩個毁損函數 (destroy functlon),例如 DdDestr〇ySurf和 D3dDestroyContext ’ 兩者都是 Microsoft Windows 函數, 分別如第8A圖和第8B圖所示。為了完成隱藏内部多重缓 衝的任務,進一步將驅動器邏輯也添加到這些函數上。 弟8A圖疋執行DdDestroySurface函數的流程圖,其 中’新增了步驟810A-從緩衝器結構的額外成員恢復緩衝 器結構,以從第6圖的初始化步驟020期間儲存於第一資 料成員中的資料恢復表面結構。並在步驟82〇A中,毁損 12 200821978 緩衝器。 第8B圖是執行D3dDestroyContext函數的流程圖,其 中,新增了三個步驟810B、820B與825B。步驟810B係 要翻轉至第二資料成員中所儲存的原始主要表面位址。步 驟820B係要透過在第6圖的初始化步驟620期間儲存於 第一資料成員中的指標獲得緩衝器B[2:N-1]。步驟825B係 要透過每個緩衝器結構的額外資料成員恢復緩衝器結構。 在步驟830B中,將緩衝器B[2:N-1]毁損。在毁損函數插入 這些步驟以恢復被毁損的原始資訊,驅動器(driver)可以正 確毀損(destory)所有緩衝器並恢復原始的主要表面 (priamry surface ) 〇 本發明提供了許多不同的具體實施例或範例,用於實 施本發明的不同特徵。說明組件與方法的特定範例是為了 幫助闡明本揭露内容。當然,這些只是範例,無意限制申 請專利範圍所述的本揭露内容的範圍。 【圖式簡單說明】 第1圖為具有兩個採用雙緩衝之圖形子系統之習知電腦系 統之一部分的方塊圖。 第2圖為習知雙缓衝電腦系統中之圖形處理單元操作的 時序圖。 第3圖為根據本發明的一具體實施例說明消除部分圖形處 理單元閒置時間的三缓衝器系統的時序圖。 第4圖為根據本發明的另一具體實施例說明進一步減少 圖形處理單元閒置時間的四緩衝器系統的時序圖。 13 200821978 第5圖為根據本發明的一具體實施例說明透明多緩衝系統 中的緩衝器内容移動的方塊圖。 第6圖為根據本發明的一具體實施例說明DDFlip函數中的 緩衝器内容移動實施方案的流程圖。 第7圖為根據本發明的一具體實施例說明應用更廣泛的透 明多緩衝系統之組件的方塊圖。 第8A圖及第8B圖為根據本發明的一具體實施例說明在 Windows作業系統環境中完成透明缓衝所需採取的 步驟的流程圖。 【主要元件符號說明】 100 電腦糸統 110 主圖形處理單元 120 從圖形處理單元 130 缓衝器A 135 缓衝器B 140 顯示介面 160 缓衝器C 165 緩衝器D 170 中央處理器 180 主記憶體 200 時槽 210 時槽 220 時槽 230 時槽 14 200821978 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 時槽 200821978 440 時槽 450 時槽 455 時槽 460 時槽 470 時槽 475 時槽 480 時槽 500 缓衝器 510 缓衝器 520 緩衝器 530 缓衝器 540 緩衝器 710 圖形處理單元群組A 712-718 圖形處理單元 720 緩衝器陣列A 730 圖形處理單元群組B 732-738 圖形處理單元 722-728 缓衝器 740 缓衝器陣列B 742-748 緩衝器 750 顯示介面 步驟610 第一次翻轉 步驟620 初始4匕 步驟622 配置N-2個缓衝器B[2:N-1] 步驟624 在内文中配置資料成員 16 200821978
步驟626 步驟628 步驟629 步驟630 步驟640 步驟650 步驟660 步驟810A 步驟820A 步驟810B 步驟820B 步驟825B 步驟830B 對於所有緩衝器,將整個原始緩衝器結 構儲存於緩衝器結構的額外資料成員中 將缓衝器B[0:N-1]儲存於第一資料成員 中 將主要表面位址儲存於第二資料成員中 翻轉 以B[2]取代B[l] 以 B[i+1]取代 B[i],2<=i<N-l 以 B[l]取代 B[N-1] 從缓衝器結構的額外成員恢復緩衝器結 構 毁損緩衝器 翻轉至第二資料成員中所儲存的主要表 面位址 以第一資料成員獲得缓衝器B[2:N-1] 從缓衝器結構的額外資料成員恢復缓衝 器結構 將缓衝器B[2:N-1]毁損 17

Claims (1)

  1. 200821978 十、申請專利範圍: 1. 一種在具有多個圖形處理單元的電腦系統中進行多重缓 衝以藉由在兩個緩衝器之間翻轉而轉譯及顯示影像之方 法,該方法包括: 藉由一第一圖形處理單元將一第一影像轉譯到一後 缓衝器; 藉由翻轉至該後缓衝器而顯示該第一影像,然後, 該前緩衝器變成一後緩衝器,而該後緩衝器變成一前緩 衝器; 以一預定的序列移動目前的後缓衝器及内部缓衝 為, 藉由一第二圖形處理單元將一第二影像轉譯到目前 的該後緩衝器,其已由一内部缓衝器取代; 藉由翻轉至目前的該後緩衝器而顯示該第二影像, 然後,交換該前缓衝器及該後緩衝器;以及 再次以該預定的序列移動目前的該後緩衝器及該内 部緩衝器。 2. 如申請專利範圍第1項之方法,其中,該移動缓衝器進 一步包括: 在該緩衝器結構的一額外資料成員中儲存一整個原 始緩衝器結構; 將原始的内部緩衝器結構内容儲存於一第一配置的 資料成貝中,以及 將一原始的主要表面位址儲存於一第二配置的資料 18 200821978 成員中。 3·如申請專利範圍第2項之方法, 中配置至少兩個資料 在包括在-内文 置—額外的資料成員。、母個緩衝器結構中配 4.如申請專利範圍第2項之方法,其進-步包括: 以儲存在該緩衝器結構 來恢復緩衝器結構; "额外- 貝料成貝中的資訊 翻轉至該第二資料成員中 址;以及 只储存的該主要表面位 …T第一資料成員恢復原始的緩衝器結構内容。 5·如申請專利範圍第1項之方法,其進-步包括谷 配置一或多個内部緩衝器,· =換該前緩衝器及該後緩衝器;以及 動缓衝器結構内容。 J -芝間移 6· 一種電腦系統,其包括: 兩個或多_形處理單元,其用於轉譯影像· 兩個或多個翻轉緩衝器,其藉由在兩個 之間翻轉而交替提佴用 緩衝态 及 θ奴仏用於頦不所轉譯之影像的資料;以 〜-或多_部緩衝器,其用於取代該I … 知更多可轉譯的緩衝器。 以後 ,.如申請專利範圍第6項之系統,其進—步包括· 每個缓衝器結構中的一額外資料 "、用於儲存 19 200821978 一整個原始的緩衝器結構; 衝器‘標配3資料成員,其用於錯存指向該内部緩 表面配置的⑽成M,其用於儲存—原始的主要 8. 如申請專利範圍 一〜」乾圍弟6項之系統,其進_步包括: 外㈣/!^件’其用於以儲存在該緩衝ϋ結構之該額 外爾貝中的資訊來恢復緩衝器結構; 4 —翻轉構件,其用於 存的該主要表面位址;以及 4 —以成貝中所儲 —獲得構件,其透過儲存於 指標來獲得該内部緩衝器。 $ “核貝中的該 9. 如申請專利範圍第6項 1〇緩衝器關聯以獲得更多可轉譯的緩衝中器將一或夕個内部 衝在具有多個圖形處理單元及至少兩個翻轉緩 形子系統中支援透明多重緩— 緩衝^一内部緩衝器,其配置用於提供更多可轉譯的 缓I。圖$驅動$ ’其用於移動該其—緩衝器和該内部 後衝為;以及 儲個緩衝器結構中的至少—額外資料成員,其用於 個2始賴衡器結構内容,以及由該驅動器配置的兩 貝;成貝’翻於儲存該_子系統的初始資訊,以 20 200821978 =在隨後相程式結束時料毀損,其卜成員用於 = 子指向内部缓衝器的指標,另一成員用於錯存原始的 王要表面位址。 Hi專利範圍第ig項之系統,其中,有至少-内部 緩衝ΐ—緩衝器―起移動,以提供更多可轉譯的 該繪圖程式在 12‘如申請專利範圍第10項之系統,其中 一 Windows作業系統中運作。 21
TW095138470A 2005-10-18 2006-10-18 Transparent multi-buffering in multi-gpu graphics subsystem TWI329845B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US72766805P 2005-10-18 2005-10-18

Publications (2)

Publication Number Publication Date
TW200821978A true TW200821978A (en) 2008-05-16
TWI329845B TWI329845B (en) 2010-09-01

Family

ID=38214146

Family Applications (4)

Application Number Title Priority Date Filing Date
TW095138039A TWI322354B (en) 2005-10-18 2006-10-16 Method and system for deferred command issuing in a computer system
TW095138470A TWI329845B (en) 2005-10-18 2006-10-18 Transparent multi-buffering in multi-gpu graphics subsystem
TW095138378A TWI354240B (en) 2005-10-18 2006-10-18 Method and system for synchronizing parallel engin
TW095138471A TWI328779B (en) 2005-10-18 2006-10-18 Event memory assisted synchronization in multi-gpu graphics subsystem

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW095138039A TWI322354B (en) 2005-10-18 2006-10-16 Method and system for deferred command issuing in a computer system

Family Applications After (2)

Application Number Title Priority Date Filing Date
TW095138378A TWI354240B (en) 2005-10-18 2006-10-18 Method and system for synchronizing parallel engin
TW095138471A TWI328779B (en) 2005-10-18 2006-10-18 Event memory assisted synchronization in multi-gpu graphics subsystem

Country Status (3)

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

Families Citing this family (37)

* 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
US9256915B2 (en) * 2012-01-27 2016-02-09 Qualcomm Incorporated Graphics processing unit buffer management
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
US9235925B2 (en) 2012-05-31 2016-01-12 Microsoft Technology Licensing, Llc Virtual surface rendering
US9230517B2 (en) 2012-05-31 2016-01-05 Microsoft Technology Licensing, Llc Virtual surface gutters
US9177533B2 (en) 2012-05-31 2015-11-03 Microsoft Technology Licensing, Llc Virtual surface compaction
US9286122B2 (en) 2012-05-31 2016-03-15 Microsoft Technology Licensing, Llc Display techniques using virtual surface allocation
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
US9916634B2 (en) * 2015-06-12 2018-03-13 Intel Corporation Facilitating efficient graphics command generation and execution for improved graphics performance at computing devices
JP6580380B2 (ja) * 2015-06-12 2019-09-25 オリンパス株式会社 画像処理装置および画像処理方法
CN106600521A (zh) * 2016-11-30 2017-04-26 宇龙计算机通信科技(深圳)有限公司 一种图像处理方法及终端设备
WO2018119602A1 (zh) * 2016-12-26 2018-07-05 深圳前海达闼云端智能科技有限公司 一种渲染方法及装置
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

Also Published As

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

Similar Documents

Publication Publication Date Title
TW200821978A (en) Transparent multi-buffering in multi-GPU graphics subsystem
TWI243987B (en) An apparatus and method for facilitating memory data access with generic read/write patterns
US20030179208A1 (en) Dynamically adjusting a number of rendering passes in a graphics system
WO2024149222A1 (zh) 一种数据处理的方法及装置、介质、设备、三维扫描仪
US20090058886A1 (en) Image Processing Apparatus, Image Processing Method, and Computer Program Storage Medium
JPH03196188A (ja) 情報処理装置の表示方式
KR20130043322A (ko) 디스플레이 컨트롤러 및 이를 포함하는 디스플레이 장치
CN101876952A (zh) 一种主机端传输层与应用层软硬交互系统及方法
TW200830061A (en) Exposure data generating apparatus
JPH0282329A (ja) データ転送方法
JP2005235199A (ja) Cpuとfifoとの間のバーストモードデータ転送のための方法及び装置
US11862289B2 (en) Sum address memory decoded dual-read select register file
CN115908678B (zh) 骨骼模型渲染方法、装置、电子设备及存储介质
JP2001249644A (ja) 液晶表示装置
JP2719355B2 (ja) 画像メモリ装置
JP3255429B2 (ja) メモリ・インタフェース回路
JP2996601B2 (ja) エラスティックストア回路とタイムスイッチ回路の共有回路
JP4482996B2 (ja) データ記憶装置とその方法および画像処理装置
JPH10255029A (ja) 画像データの転送装置
JP2009145957A (ja) ステートマシン及びこれを用いた半導体集積回路
JP2698606B2 (ja) 圧縮伸長処理装置
JPH07122899B2 (ja) 高速回転回路
JP2012043514A (ja) 半導体回路装置及び誤り検出回路
JPH09160824A (ja) 読み出し専用記憶装置
TW200842794A (en) Display device and related driving method using a low capacity row buffer memory