Skip to main content
由於效能限制,圖形轉譯器不一定能在輸出影像的每個部分都提供相同的品質層級。可變速率著色 (VRS) 或稱 粗略像素著色,是一種可讓您在轉譯影像的各處以不同速率配置轉譯效能/功率的機制。 在視覺上,有些情況下可以降低著色速率,而可察覺的輸出品質幾乎沒有或完全沒有降低,進而獲得「免費」的效能。

現今的模型:多重取樣消除鋸齒 (MSAA) 與超取樣

若沒有 VRS,控制著色速率的唯一方法是使用以取樣為基礎執行的 MSAA,也就是 超取樣。 MSAA 是一種機制,與非 MSAA 相比,可減少幾何鋸齒並提升影像的轉譯品質。MSAA 取樣計數可以是 1x、2x、4x、8x 或 16x,它決定每個轉譯目標像素配置的取樣數。配置目標時必須事先知道 MSAA 取樣計數,之後便無法變更。 超取樣會讓像素著色器針對每個取樣叫用一次,品質較高,但與每像素執行相比,效能成本也較高。 應用程式可以在以每像素為基礎的執行或搭配超取樣的 MSAA 之間做選擇,藉此控制著色速率。這兩種選擇無法提供非常精細的控制。在某些情況下,例如位於抬頭顯示器 (HUD) 元素後方的物件、透明效果、模糊 (例如景深和動態模糊),以及 VR 光學元件所造成的光學失真,與影像其餘部分相比,可能會偏好較低的著色速率,但這是不可能的,因為著色品質和成本在整個影像中是固定的。

新模型:VRS

新的 VRS 模型新增了 粗略著色 的新概念,將搭配超取樣的 MSAA 延伸到相反的「粗略像素」方向。也就是說,著色可以用比像素更粗略的頻率執行。換句話說,一組像素可以作為單一單位進行著色。結果接著會廣播到該群組中的所有取樣。 粗略著色 API 可讓應用程式指定屬於一個著色群組的像素數目。粗略像素大小可以在配置轉譯目標之後變更。因此,螢幕的不同部分或不同的繪製階段可以有不同的次取樣速率。 下表說明哪個 MSAA 層級支援哪種粗略像素大小。有些在任何平台上都不受支援,有些則根據功能上限 (AdditionalShadingRatesSupported) 有條件地啟用。請注意,在 XBOX Series X|S 硬體上,AdditionalShadingRatesSupported 功能上限為 false。 coarsePixelSizeSupport 由於目前已知部分平台的硬體規劃,2x MSAA 存在 2 × 4 的功能上限,而非 4 × 2。 就第 1 層和第 2 層所公開的內容,以及此功能目前的規劃而言,沒有任何粗略像素大小與取樣計數的組合需要硬體在每次像素著色器叫用時追蹤超過 16 個取樣。為了方便說明,這些組合在上表中以半色調著色。

另請參閱

可變速率著色概觀 可變速率著色功能設計 可變速率著色 Direct3D 12 API
Last modified on October 6, 2026