TWI329845B - Transparent multi-buffering in multi-gpu graphics subsystem - Google Patents

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

Info

Publication number
TWI329845B
TWI329845B TW095138470A TW95138470A TWI329845B TW I329845 B TWI329845 B TW I329845B TW 095138470 A TW095138470 A TW 095138470A TW 95138470 A TW95138470 A TW 95138470A TW I329845 B TWI329845 B TW I329845B
Authority
TW
Taiwan
Prior art keywords
buffer
internal
graphics processing
buffers
time slot
Prior art date
Application number
TW095138470A
Other languages
English (en)
Other versions
TW200821978A (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)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Multi Processors (AREA)
  • Image Input (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Information Transfer Systems (AREA)

Description

1329845 九、發明說明: 【發明所屬之技術領域】 . 本申請案請求依2005年10月18日申請的美國 專利申請案第60/727,668號「用於多重圖形處理單元 (GPU)解決方案的智慧型中央處理器(CPU)同步技術」之 權利。 ^ 本發明係關於電腦圖形處理,更特定言之,係關於在 電腦系統中操作多重圖形處理單元圖形子系統之多重緩 ®衝。 【先前技術】 在許多具有高等圖形處理功能的電腦系統中,圖形處 理子系統包括雙緩衝模組。雙緩衝模組具有兩個記憶體區 段,即前緩衝器和後緩衝器。前緩衝器儲存完全轉譯 (rending)的影像並將此影像提供給顯示驅動器。後緩衝器 儲存正在由圖形處理單元轉譯的影像。一旦完成後緩衝器 -φ 的轉譯,並且前緩衝器影像處於完全顯示狀態時,即可翻 ' 轉(flip)前、後緩衝器。因此,之前的前緩衝器變成了後缓 衝器,並且可以儲存受到轉譯的新影像,而之前的後緩衝 器提供其所儲存、用於顯示的新轉譯影像。前、後緩衝器 繼續以此方式翻轉,並且翻轉的速度與顯示器重新整理的 速度相同(例如,50 Hz、60 Hz、75 Hz或90 Hz)。另外, 為防止發生影像分裂,緩衝器翻轉必須與轉譯速度同步。 當電腦系統採用多重圖形處理單元(GPU)時,圖形處理 單元及其緩衝器之間的協調需要使用另一種技術或處理, 1329845 稱為位元區塊傳送(BLT),即將來自兩個緩衝器的兩個點陣 圖圖案合而為一。第1圖顯示兩個圖形處理單元系統包含 一主圖形處理單元與一從圖形處理單元,其中,主圖形處 理單元進行翻轉,而從圖形處理單元透過PCIe匯流排連接 進行位元區塊傳送。 雙緩衝器(一個用於顯示,另一個用於轉譯)只對單圖 形處理單元系統有用。當有多重圖形處理單元進行轉譯 時,顯然所轉譯的影像會超出兩個缓衝器的處理能力,因 而圖形處理單元將被迫不時中止轉譯或閒置,於是降低了 圖形子系統的性能。 因此,多重圖形處理單元電腦系統最佳狀態是任何圖 形處理單元都沒有產生所謂的閒置時間,以充分發揮多重 圖形處理單元所能提供的處理能力。所需要的是一種經過 改進且用於增強電腦系統之集體處理能力的方法和系統。 【發明内容】 鑒於上述問題,本發明提供了一種用於執行多重缓衝 的方法及系統,即透過多重缓衝器於内部處理所轉譯的影 像,以便減少圖形處理單元(GPU)的閒置時間,同時外部應 用程式不會發生任何差異。 在本發明的一個實施例中,第一圖形處理單元在外部 後缓衝器中轉譯第一影像之後,藉由翻轉此外部後缓衝器 而顯示第一影像。然後,後緩衝器變為前緩衝器,而原來 的前緩衝器變為後緩衝器,從應用的角度看,外部後緩衝 器和前緩衝器是雙緩衝實施方案。第二影像藉由第二圖形 6 1329845 處理單元轉譯到内部緩衝器,並且以預定的序列移動外部 後緩衝器和内部緩衝器。以此方式,内部緩衝器以轉換的 . 方式取代外部後緩衝器和前緩衝器。從應用角度來看,其 仍為雙緩衝器,而從驅動器的角度看,則有更多的緩衝器。 根據以下結合附圖所陳述的特定具體實施例,將能充 : 分瞭解本發明的構造及操作方法,以及其額外的目的和優 點。 【實施方式】 * 第1圖說明具有習知雙緩衝之二個圖形子系統的電腦 系統100,其内包含了中央處理單元(CPU) 170與主記憶體 180。主圖形處理單元110將影像轉譯到缓衝器A130與 緩衝器B 135中。然後,將影像翻轉至顯示介面140,此 顯示介面140直接從緩衝器擷取資料用於顯示。一從圖形 處理單元120將影像轉譯到緩衝器C 160與緩衝器D 165 中。然後,以位元區塊傳送(BLT)的方式將影像交替傳送到 φ 缓衝器A 130與缓衝器B 135。於正常情況下,主與從圖 形處理單元將交替轉譯影像,即如果主圖形處理單元轉譯 圖框[i],則從圖形處理單元轉譯圖框[i+Ι],然後主圖形處 理單元再轉譯圖框[i+2],依此類推。 第2圖為說明第1圖雙緩衝器圖形子系統中之圖形處 理單元的缺點時序圖。主圖形處理單元在時槽200中將圖 框[2n]轉譯到缓衝器A之後,驅動器在時槽210中將圖框 [2n]翻轉至前緩衝器中。同時,在時槽230中,將從圖形 處理單元在時槽220中轉譯的圖框[2n+l]以位元區塊傳送 7 1329845 方傳达到主圖形處理早元的緩衝器B中。然後,在時 =謂中將緩衝器B翻轉成為前緩衝器,以顯示圖框 t+i]。主圖形處理單元只能在翻轉時槽24〇完成之後才 能在時槽260將後續的圖框[2n+2]轉譯到緩衝器a中。由 =翻轉時槽24G將緩衝器B完全變成前緩衝器之前,緩衝 ^仍然是前緩衝ϋ ’其影像處於顯示狀態,因此主圖形 處理單元不能將任何影像轉譯到前緩衝器中。因此,時槽 =〇必須跟在時槽之後。時間實例t〇與之間的時尸二 ,為主圖形處理單^的閒置時間。而從圖形處理單元在 時槽270中將圖框[2n+3]轉譯到緩衝器β中。 =3圖是根據本發明之—具體實施例的三緩衝器雙 理=理早_形子系統的時序圖。於時槽細,主圖形 =早謂隨[2n]轉譯到緩衝^。在⑴至 =單3元,時槽33°’將卿, =二圖形處理單元於時槽地翻轉緩衝器A中 時二槽Μ""翻轉緩衝器B中的圖框[2州]及於 360曰中^ 器C中的圖框Μ]。在t3時,在時槽 衝益Α中的圖框[2η+31, 的/ 槽365翻轉緩衝器时 理單元於時槽310翻 轉緩衝益:E中的_2n+1],於時糟34〇翻轉緩衝哭D中 =圖框[2n+取於時槽37〇翻轉緩衝器ρ中的圖框二]。 時而在在時f 315中將圖框[2n+1]以BLT方式傳送到 在—槽345將圖框[2㈣]uBLT方式傳送到 8 緩衝器A,之後在 到緩衝器C。二=將圖框[2n+5]緣T方式傳送 器〇不需要料 % θ 33G中將圖框[2n+2]轉譯到緩衝 300之後Λ待任何翻轉操作,因此時槽330緊接在時: t後。然而,在時槽36〇中 Μ必需等待時样335中之]轉譯到緩衝器 前针、. 圖框[2η+2]翻轉完成,原因如 ^緩衝好系統那樣未向前緩衝器進行新的轉譯。因 牲三緩衝器圖形子系統只能部份消除圖形處理單元 夏時間。 第4圖說明根據本發明之另—具體實施例的四緩衝器 _ t/處理單元圖形子系統。於時槽4〇〇 ’主圖形處理單 。。等圖框[2n]轉譯到缓衝器A。在t〇至t2時,主圖形處理 在時槽4〇5,將圖框[2n+2]轉譯到緩衝器c,及於時槽 形〇,將圖。框[2n+4]轉譯到緩衝器A;同時在抝至12時,主圖 捭处理單元於時槽420翻轉緩衝器A中的圖框[2n],於時 翻轉緩衝器B中的圖框[2n+1]及於時槽43〇翻轉緩 轉器C中的圖框[2n+2]。接著,在時槽435中將圖框[2n+3] 譯到緩衝器D。而在時槽44〇翻轉緩衝器A中的圖框 n+4]。同樣的,在從圖形處理單元於時槽450將圖框[2n+l] 睪到緩衝器F。於時槽455,將圖框[2n+3]轉譯到緩衝器 及於時槽460,將圖框[2n+5]轉譯到緩衝器F。在t〇時, 時槽470將圖框[2η+ι]以BLT方式傳送到b。而在時槽 75將圖框[2n+3]以BLT方式傳送到d,之後在時槽480 將圖框[2n+5]以BLT方式傳送到B。其中,主圖形處理單 %在時槽405轉譯圖框[2n+2]與在時槽410轉譯圖框[2n+4] 1329845 之間的閒置時間也大幅減少。事實上,如杲時 中的翻轉時間短到足以與時槽4〇5中 25 視為消除閒置時間。 孑比擬,則可以 現在’清楚的,藉切〇緩衝器 單元圖形子系統中,可以減少甚至消除圖形=巧處理 置時間。但如果讓驅動器以如第2圖至第 早疋的閒 方式處理多重緩衝器多重圖形處理單元圖科=的正常 動器邏輯會相對比較複雜1此,如第5圖、'、’則驅 根據本發明的-具體實施例採用在翻轉結 = 斤示’ 的驅動器邏輯’以使内部多重缓衝對外部應用二= 易於被了解的。 八而吕疋 參考第5圖,緩衝器B[〇]5〇〇與緩衝器叩 形子系統的兩個原始雙緩衝器,並且翻 ‘·,、θ 器之間執行。緩衝HB[取〇,缓衝器刚緩衝 料仙是額外的Ν_2個緩衝器。翻轉結束時,= Β[1]Ι^ 51〇由緩衝器卿2G取代,更—般的說 : BW由緩衝器B[i+1]取代,其中2<=Μ<Νι,並且:衝益 個緩衝器B[N-1]540由緩衝器別丨”川取代。’最後 前述的取代係要取代表示緩衝器的資料結 程式,系華)使用指向緩衝器結構二 私來參考緩衝益,因此藉由取代緩衝器結構内容,驅動:。 以-緩衝器取代另一緩衝器’而應用程式和〇s仍認為: 為原來的緩衝ϋ。13此,取代之後,緩衝器B⑴為原來= 缓衝器B[2],緩衝器B[I]為原來的緩衝器B[I+1],並且領 1329845
衝器B[N-1]為原來的緩衝器B[2]。並且在翻轉之後,緩衝 益B[〇]為原來的緩衝器BU],而緩衝器B.[l]為原來的緩衝 器B[〇]。以此方式,即使在雙缓衝器圖形子系統中似乎只 有原來的緩衝器B[0]500及緩衝器B[1]51〇可用於轉譯和 顯不’但緩衝器B[2]52〇至緩衝器B[N-1]540也可以用於 轉譯和顯示,其對應用程式和〇s而言是易於被了解的。 ’考第6圖’所示流程圖用於結合Microsoft "windows dFlip函數的操作說明根據本發明之一具體實施例的流 程。在步驟610中,檢查翻轉以查看這是否為第一次翻轉, 然後在初始化步驟620中,(更包含第6圖内之步驟622_ 配置n-2個緩衝器Βρπ—η,步驟624•在内文中配置資料 成員,步驟626_對於所有緩衝器,將個原始緩衝器結構儲 存於緩衝器結構的額外資料成員中,步驟㈣·將缓衝器 Β[〇:Ν-1]儲存於第一資料成員中和步驟__將主要表面位 j儲存於第二資料成員中),驅動器配置額外的個緩衝 Β[2·Ν-1] ’當執行這兩個步驟時,在内文(⑺ntext).中 配置兩個資料成員(data member) ’第一個成員用於儲存指 向緩衝器Β[2:Ν·1]的指標’而第二個成員用於儲存主要表 面位址(primary surface add丽)。此處,内文是使用裝 的情況’並且内文結構包含處理器特定的暫存器資料。车 統使用内文結構來執行各種内部操作,並且主 ’、 用作桌面顯示器的緩衝器。而且,、疋〇s 槿中舯罢1^ 驅動态將會在緩衝器結 成員,以儲存所有緩衝器(包括外部前、 後緩衝$與内部緩衝器啦Ν·1])的原始緩衝器内容。 11 1329845 初始化步驟620之後,驅動器在步驟630中執行翻轉。 然後,步驟640-以B[2]取代B[l]、步驟650-以B[i+1]取代 B[i],2<=i<N-l 至步驟 660-以 B[l]取代 B[N-1]係要在 Bp] 與β[2:Ν-1]之間移動緩衝器結構内容。 如第7圖所示,根據本發明的另一具體實施例,本發 明的多重緩衝也可以在上述具有兩個緩衝器陣列的圖形子 系統中實施。圖形處理單元群組A 710具有多重圖形處理 單元’即圖形處理單元一A[0:j]712 - 718,其將影像轉譯到 緩衝态陣列A 720 [1 :m-l] 724 - 728,然後在每次翻轉至緩 衝益A[0] 722之後,按照與上面所述一樣的方式移動緩衝 、、·°構内谷。將該·ί呆作鏡射到圖形處理單元群组B 7 3 0之 GPU—B[0:k]732 - 738 與緩衝器陣列 Β 740 之 742 - 748。翻轉係在未切換的緩衝器A[〇] 722與缓衝器b[〇]742 之間進行’之後再顯示於顯示界面750上,因此應用程式 將圖形子系統僅視為習知技術的雙緩衝圖形子系統。 在繪圖程式結束時’驅動器需要執行兩個毁損函數 (destroy function),例如 DdDestroySurface 和 D3dDestroyContext ’ 兩者都是 Microsoft Windows 函數, 分別如第8A圖和第8B圖所示。為了完成隱藏内部多重緩 衝的任務,進一步將驅動器邏輯也添加到這些函數上。 第8A圖是執行DdDestroySurface函數的流程圖,其 中,新增了步驟810A-從緩衝器結構的額外成員恢復緩衝 器結構,以從第6圖的初始化步驟620期間儲存於第一資 料成員中的資料恢復表面結構。並在步驟820A中,毀損 12 1329845 缓衝器。 第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 1329845 第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 1329845
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 時槽 1329845 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 初始化 步驟622 配置N-2個缓衝器B[2:N-1] 步驟624 在内文中配置資料成員 16 1329845 步驟626 對於所有緩衝器,將整個原始緩衝器結 構儲存於緩衝器結構的額外資料成員中 步驟628 將緩衝器B[0:N-1]儲存於第一資料成員 中 步驟629 將主要表面位址儲存於第二資料成員中 步驟630 翻轉 步驟640 以B[2]取代B[l] 步驟650 以 B[i+1]取代 B[i],2<=i<N-l 步驟660 以 B[l]取代 B[N-1] 步驟810A 從缓衝器結構的額外成員恢復緩衝器結 構 步驟820A 毁損缓衝器 步驟810B 翻轉至第二資料成員中所儲存的主要表 面位址 步驟820B 以第一資料成員獲得缓衝器B[2:N-1] 步驟825B 從緩衝器結構的額外資料成員恢復緩衝 器結構 步驟830B 將緩衝器B[2:N-1]毀損 17

Claims (1)

  1. w ru w ru 修正本 案號095聰70卯年5月25曰 ,^ 竹年日修正木 十、申請專利範圍 -—-- 】·種在具有多個圖形處理單- . :衝:藉由在兩個緩衝器之間翻:而統中進行多重 去,該方法包括: 符向轉譯及顯示影像之方 藉由一第一圖形處理單元 衝器,該第-緩衝器為一後緩衝器;—影像轉譯到-第〜緩 。藉由將一第二緩衝器翻轉至該後 =器變成-前緩衝器,而顯示該第—影^使得該第-緩 I成該後緩衝器; 〜象,且該第二緩衝器 以-預定的序列移動該後緩衝 :-第三緩衝器為該内部緩衝 内=衝器,其 ί二緩衝器成為該後緩衝器,該第器變成該 盗, 衡益成為該内部緩衝 器 藉由-第二圖形處理單元將 ; 弟—衫像轉譯到該後緩衝 交換該前緩衝器及該後緩衝器 :緩衝器,該第-緩衝器變成該後緩衝;第::衝器變成該 至该後緩衝器而顯示該第二影像;以及11 "中,藉由翻轉 再次以該預定的序列移動該後 使f取代該第-緩衝器成為該後;;;緩衝器, ^如申請專利範圍第丨項之方法,^;^:。 在母個緩衝器之—频衝器結構的—額 2括: 存一整個原始緩衝器 結構;、,、1卜資料成員中儲 將原始的内部緩衝器結構内 成員中;以及 π第一配置的資料 將-原始的主要表面位址儲存於 中。 配置的資料成員 18 “配專利ϊ圍第2項之方法,其進-步包括在-内 額外的資料固貝枓成員’並且在該·緩衝.器結構中配置- H申7專㈣圍第2項之方法,其進-步包括: 復該緩衝1結構; 抑外料成S巾的資訊來恢 址 :及至該第二配置之資料成員中所儲存的該主要表面位 容從該第-配置之資料成員恢復原始的該緩衝器結構之内 =申=利範圍第1項之方法,其進-步包括: 或多個内部緩衝器;以及 m =人翻轉之後在該後緩衝器與該内部緩衝5|之間移動相 應=器與該内部緩衝器之一緩衝器結=移動相 6‘如申請專利範圍坌0 τε 器取代目前的該項之方法’其中,將該内部緩衝 n m 益係將相應該内部緩衝器之該緩衝 ;構取:相應目前的該後緩衝器之該緩衝器結構。 7.—種電腦系統,其包括: 兩個或多個圖形處理置_ -前緩衝器盘-後缓徐:用於轉譯影像; 衝器之間翻轉而;,藉由在該前緩衝器與該後緩 單元所轉譯之影像的資料示該兩個或多個圖形處理 多可轉或譯==緩衝器’其用於取代該後緩衝器以獲得更 動,該内部緩衝器係以一預定的序列移 内部緩衝器,且每:衝器,且該後緩衝器變成該 邊荨圖形處理單元係各自將影像轉譯至 19 1^29845 該後緩衝器,並透過該後緩衝 行顯示。 與“㈣ϋ間之翻轉,進 1·如申請專利範圍第7項之系統,其進 ·· ㈣母個緩衝器結構中的一額外資料成員,1用於儲存琴 個原始的緩衝H結構; ㈣存-整 的指其_存指向該内部緩衝器 位址㈣料成員’其用於儲存一原始的主要表面 9.如申請專利範圍第7項之系統,其進—步包括: 構之^ 复 = 件,其。用於以儲存在每個緩衝器之-緩衝器結 >料成員中的資訊來恢復該緩衝器結構; -翻轉構件’其用於翻轉至 儲存的該主要表面位址;以及 之貝抖成貝中所 ^一/^構件,其透過儲存於該第"'配置之㈣成員中的 該扎私來獲得該内部緩衝器。 10·如申請專利範圍第7項之系統,其中,將一或多個 内部緩衝器關聯以獲得更多可轉譯的緩衝器。 衝取:::專利範圍第7項之系統,其中,將該内部緩 代目刖的該後緩衝器係將相應該内部緩衝器之該緩 态、’構取代相應目前的該後緩衝器之該緩衝器結構。 —種用於在具有多個圖形處理單元及至少兩個翻轉 統f益的電腦圖形子系統中支援透明多重緩衝之系統,該系 。。至少-内部緩衝m置餘提供更多可轉譯的緩衝 〇〇 , —圖形驅動器,其用於移動該其一緩衝器和該内部緩衝 20 1329845 器以>轉譯該多個圖形處理單元所轉譯之影像;以及 每個緩衝器結構中的至少—額外資料成,員其用於 衝器結構内容,以及由該驅動器配置的兩個資料成子 ΙϋΓΓ該圖形子系統的初始f訊,以用於在隨後繪 予以毀損,其中—成員用於儲存指向内部緩衝 益的私私,另一成員用於儲存原始的主要表面位址。
    13.如申請專利範圍第12項之系統,其中,有至少一 =衝器與該其—緩衝器—起移動,以提供更多可轉譯的緩 14 ·如申請專利範圍帛i 2項之系統其中,該繪圖程式 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 TW200821978A (en) 2008-05-16
TWI329845B true 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) US7903120B2 (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
US20110063304A1 (en) * 2009-09-16 2011-03-17 Nvidia Corporation Co-processing synchronizing 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
US9177533B2 (en) 2012-05-31 2015-11-03 Microsoft Technology Licensing, Llc Virtual surface compaction
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
US9230517B2 (en) 2012-05-31 2016-01-05 Microsoft Technology Licensing, Llc Virtual surface gutters
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 宇龙计算机通信科技(深圳)有限公司 一种图像处理方法及终端设备
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

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI329845B (en) Transparent multi-buffering in multi-gpu graphics subsystem
US7663635B2 (en) Multiple video processor unit (VPU) memory mapping
US8766988B2 (en) Providing pipeline state through constant buffers
US8004531B2 (en) Multiple graphics processor systems and methods
TWI326830B (en) Packet processing systems and methods
WO2019127941A1 (zh) 手写输入内容的显示方法、电子设备及计算机存储介质
US9244648B2 (en) Multi-processor video processing system and video image synchronous transmission and display method therein
US11164496B2 (en) Interrupt-free multiple buffering methods and systems
JP2011509445A5 (zh)
US7817166B2 (en) Stereo windowing system with translucent window support
US20030179208A1 (en) Dynamically adjusting a number of rendering passes in a graphics system
US20190043156A1 (en) Display buffering methods and systems
CN107682730B (zh) 图层叠加处理方法、图层叠加处理装置和视频处理器
JP2007241738A (ja) 画面合成装置
US8937623B2 (en) Page flipping with backend scaling at high resolutions
WO2010037684A1 (en) Method and computer program for operation of a multi-buffer graphics memory refresh, multi-buffer graphics memory arrangement and communication apparatus
US20080088617A1 (en) Electronic display device
JP2004258212A (ja) 画面表示装置
KR20040066415A (ko) 프로세서 버스 연결 장치 및 방법
JP2002264442A (ja) 画像処理装置
US8547993B1 (en) Asynchronous interface for communicating between clock domains
JP2004110501A (ja) 表示制御装置
JPS60103454A (ja) 命令先読み制御装置
WO2020140145A1 (en) Interrupt-free multiple buffering methods and systems
JP3255429B2 (ja) メモリ・インタフェース回路