草稿:保留模式

保留模式圖形 API 的示意圖
立即模式圖形 API 的示意圖

計算機圖形學中的保留模式是指一種主流的圖形庫API設計模式

保留模式下,客戶端不會直接引發實際渲染,而是更新由圖形庫負責管理的的抽象內部模型(通常是對象列表)。這使得圖形庫能夠在實際渲染時以及處理相關對象時進行優化,同時也減輕了客戶端維護相關場景對象的負擔。 [1]

圖形庫優化渲染的一些技術包括:

  • 管理雙緩衝[2] [3]
  • 處理隱藏表面(如背面剔除[4]、遮擋剔除(深度緩衝[5]
  • 僅傳輸發生變化的數據

另一種設計模式是立即模式,即客戶端對圖形庫的調用會直接引發渲染。從歷史上看,保留模式一直是GUI庫中的主導風格。


使用保留模式的渲染系統有Windows Presentation Foundation 、macOS 上的SceneKit [1] [6]、 和PHIGS 。


擴展閱讀

參考

  1. ^ 1.0 1.1 Quinn Radich. Retained Mode Versus Immediate Mode. Win32 apps. Microsoft. May 30, 2018 [21 December 2019]. 
  2. ^ OpenGL double buffering. [7 May 2020]. 
  3. ^ DirectX double buffering. [7 May 2020]. 
  4. ^ OpenGL face culling. [7 May 2020]. 
  5. ^ DirectX occlusion culling. [7 May 2020]. 
  6. ^ Weiher, Marcel. iOS and macOS Performance Tuning: Cocoa, Cocoa Touch, Objective-C, and Swift. Addison-Wesley Professional. Feb 24, 2017 [22 December 2019]. ISBN 9780133085532. SceneKit and SpriteKit on the other hand are retained-mode APIs