GPUBuffer: getMappedRange() method
Khả dụng hạn chế
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
Phương thức getMappedRange() của giao diện GPUBuffer trả về ArrayBuffer chứa nội dung được ánh xạ của GPUBuffer trong phạm vi được chỉ định.
Điều này chỉ có thể xảy ra sau khi GPUBuffer được ánh xạ thành công bằng GPUBuffer.mapAsync() (có thể kiểm tra qua GPUBuffer.mapState). Khi GPUBuffer đang được ánh xạ, nó không thể được sử dụng trong bất kỳ lệnh GPU nào.
Khi bạn hoàn thành việc làm với các giá trị GPUBuffer, hãy gọi GPUBuffer.unmap() để hủy ánh xạ nó, làm cho nó có thể truy cập bởi GPU lại. TypeError được ném ra nếu có cố gắng tách ArrayBuffer theo bất kỳ cách nào khác ngoài qua GPUBuffer.unmap(), chẳng hạn như bằng cách gọi transfer().
Cú pháp
getMappedRange()
getMappedRange(offset)
getMappedRange(offset, size)
Tham số
offsetOptional-
Số đại diện cho độ lệch, tính bằng byte, từ đầu phạm vi được ánh xạ của
GPUBufferđến đầu phạm vi sẽ được trả về trongArrayBuffer. Nếuoffsetbị bỏ qua, mặc định là 0. sizeOptional-
Số đại diện cho kích thước, tính bằng byte, của
ArrayBuffercần trả về. Nếusizebị bỏ qua, phạm vi mở rộng đến cuối phạm vi được ánh xạ củaGPUBuffer.
Giá trị trả về
Xác thực
Các tiêu chí sau phải được đáp ứng khi gọi getMappedRange(), nếu không OperationError DOMException sẽ được ném ra:
offsetlà bội số của 8.- Tổng phạm vi cần ánh xạ (
sizenếu được chỉ định, hoặc độ dài phạm vi được ánh xạ -offsetnếu không) là bội số của 4. - Tổng phạm vi nằm trong phạm vi được ánh xạ và không chồng chéo với các phạm vi
ArrayBufferđược chỉ định bởi bất kỳ lệnh gọigetMappedRange()đang hoạt động nào khác.
Ví dụ
Xem trang GPUBuffer chính để biết ví dụ.
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| WebGPU> # dom-gpubuffer-getmappedrange> |