GPUCommandEncoder: finish() 方法
注意:此功能在 Web Workers 中可用。
finish() 方法是 GPUCommandEncoder 介面的一部分,它會完成在此 GPUCommandEncoder 上編碼的命令序列的記錄,並返回一個相應的 GPUCommandBuffer。
語法
js
finish()
finish(descriptor)
引數
descriptor可選-
一個可能包含以下屬性的物件:
label可選-
一個字串,為返回的
GPUCommandBuffer提供一個標籤,用於標識它,例如在GPUError訊息或控制檯警告中。
返回值
一個 GPUCommandBuffer 物件例項。
驗證
呼叫 finish() 時必須滿足以下條件,否則將生成 GPUValidationError,並且 GPUCommandEncoder 會失效。
- 沒有活動的除錯組(即,透過
pushDebugGroup()啟動的)。 GPUCommandEncoder處於開啟狀態 — 這意味著:- 沒有活動的子
GPUComputePassEncoder或GPURenderPassEncoder未結束(透過呼叫end())。 GPUCommandEncoder尚未呼叫過finish()方法(在這種情況下,不能再使用它來編碼任何命令)。
- 沒有活動的子
示例
js
// …
const commandBuffer = commandEncoder.finish();
device.queue.submit([commandBuffer]);
// …
規範
| 規範 |
|---|
| WebGPU # dom-gpucommandencoder-finish |
瀏覽器相容性
載入中…