区块链技术博客
www.b2bchain.cn

WebGPU 规范篇 02 对象初始化求职学习资料

本文介绍了WebGPU 规范篇 02 对象初始化求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

系列博客目录传送门:https://xiaozhuanlan.com/topic/9587342601

  • 1 navigator.gpu
  • 2 GPU
    • requestAdapter 方法
    • 2.1 适配器的选择
  • 3 GPUAdapter


参考自 https://www.w3.org/TR/webgpu/#initialization

1 navigator.gpu

GPU 对象能在浏览器环境(Window环境)获取,也可以在非共享全局 Worker 中获取,其接口定义如下:

interface mixin NavigatorGPU {   [SameObject, SecureContext] readonly attribute GPU gpu; }; Navigator includes NavigatorGPU; WorkerNavigator includes NavigatorGPU;

可以通过访问 navigator.gpu 来访问 GPU 对象。

2 GPU

对应 https://www.w3.org/TR/webgpu/#gpu-interface

GPU 是 WebGPU 的入口,可以通过 navigator.gpu 访问它。

[Exposed=(Window, DedicatedWorker), SecureContext] interface GPU {   Promise<GPUAdapter?> requestAdapter(optional GPURequestAdapterOptions options = {}); };

requestAdapter 方法

接收参数为 GPURequestAdapterOptions 类型的对象,不可空(即不能为 {}),但可选。

GPURequestAdapterOptions 类型见 2.1 小节。

它返回一个 resolve 值为 null 或 GPUAdapter 对象的 Promise。

调用这个方法是有讲究的,如果系统发生一些有关显卡的更改,例如拔出了显卡,驱动更新等,适配器将会标记为过时的,在进行请求设备之前,最好再调用一次这个方法。

例子:请求一个 GPUAdapter

const adapter = await navigator.gpu.requestAdapter(/* ... */); const features = adapter.features; // ...

2.1 适配器的选择

对应 https://www.w3.org/TR/webgpu/#adapter-selection

本小节主要介绍 GPURequestAdapterOptions 接口。

在调用 navigator.gpu.requestAdapter 方法时,可以传入一个非空的对象来让浏览器选择一个合适的适配器。

dictionary GPURequestAdapterOptions {   GPUPowerPreference powerPreference;   boolean forceFallbackAdapter = false; };
enum GPUPowerPreference {   "low-power",   "high-performance" };

GPURequestAdapterOptions 接口有俩成员:

  • powerPreference,GPUPowerPreference 类型
  • forceFallbackAdapter,Boolean 类型,默认为 false

powerPreference,指示浏览器引擎选择哪个适配器,主要针对的是多显卡的操作系统(例如,一张核芯显卡加一张独立显卡)。它只能是这三个值:undefined(即什么都不传递)、"low-power""high-performance"

forceFallbackAdapter,指示是否强制启用回退适配器,回退适配器的定义见 https://www.w3.org/TR/webgpu/#fallback-adapter;一般不用管这个选项。

3 GPUAdapter

GPUAdapter 封装了一个适配器对象,有两个属性用于描述它的功能和限制。

想获取一个适配器对象,只需调用 navigator.gpu.requestAdapter() 方法并 await 它的 resolve 值即可,参考 方法:requestAdapter。

[Exposed=(Window, DedicatedWorker), SecureContext] interface GPUAdapter {   readonly attribute DOMString name;   [SameObject] readonly attribute GPUSupportedFeatures features;   [SameObject] readonly attribute GPUSupportedLimits limits;   readonly attribute boolean isFallbackAdapter;    Promise<GPUDevice> requestDevice(optional GPUDeviceDescriptor descriptor = {}); };

系列博客目录传送门:https://xiaozhuanlan.com/topic/9587342601

  • 1 navigator.gpu
  • 2 GPU
    • requestAdapter 方法
    • 2.1 适配器的选择
  • 3 GPUAdapter


参考自 https://www.w3.org/TR/webgpu/#initialization

1 navigator.gpu

GPU 对象能在浏览器环境(Window环境)获取,也可以在非共享全局 Worker 中获取,其接口定义如下:

interface mixin NavigatorGPU {   [SameObject, SecureContext] readonly attribute GPU gpu; }; Navigator includes NavigatorGPU; WorkerNavigator includes NavigatorGPU;

可以通过访问 navigator.gpu 来访问 GPU 对象。

2 GPU

对应 https://www.w3.org/TR/webgpu/#gpu-interface

GPU 是 WebGPU 的入口,可以通过 navigator.gpu 访问它。

[Exposed=(Window, DedicatedWorker), SecureContext] interface GPU {   Promise<GPUAdapter?> requestAdapter(optional GPURequestAdapterOptions options = {}); };

requestAdapter 方法

接收参数为 GPURequestAdapterOptions 类型的对象,不可空(即不能为 {}),但可选。

GPURequestAdapterOptions 类型见 2.1 小节。

它返回一个 resolve 值为 null 或 GPUAdapter 对象的 Promise。

调用这个方法是有讲究的,如果系统发生一些有关显卡的更改,例如拔出了显卡,驱动更新等,适配器将会标记为过时的,在进行请求设备之前,最好再调用一次这个方法。

例子:请求一个 GPUAdapter

const adapter = await navigator.gpu.requestAdapter(/* ... */); const features = adapter.features; // ...

2.1 适配器的选择

对应 https://www.w3.org/TR/webgpu/#adapter-selection

本小节主要介绍 GPURequestAdapterOptions 接口。

在调用 navigator.gpu.requestAdapter 方法时,可以传入一个非空的对象来让浏览器选择一个合适的适配器。

dictionary GPURequestAdapterOptions {   GPUPowerPreference powerPreference;   boolean forceFallbackAdapter = false; };
enum GPUPowerPreference {   "low-power",   "high-performance" };

GPURequestAdapterOptions 接口有俩成员:

  • powerPreference,GPUPowerPreference 类型
  • forceFallbackAdapter,Boolean 类型,默认为 false

powerPreference,指示浏览器引擎选择哪个适配器,主要针对的是多显卡的操作系统(例如,一张核芯显卡加一张独立显卡)。它只能是这三个值:undefined(即什么都不传递)、"low-power""high-performance"

forceFallbackAdapter,指示是否强制启用回退适配器,回退适配器的定义见 https://www.w3.org/TR/webgpu/#fallback-adapter;一般不用管这个选项。

3 GPUAdapter

GPUAdapter 封装了一个适配器对象,有两个属性用于描述它的功能和限制。

想获取一个适配器对象,只需调用 navigator.gpu.requestAdapter() 方法并 await 它的 resolve 值即可,参考 方法:requestAdapter。

[Exposed=(Window, DedicatedWorker), SecureContext] interface GPUAdapter {   readonly attribute DOMString name;   [SameObject] readonly attribute GPUSupportedFeatures features;   [SameObject] readonly attribute GPUSupportedLimits limits;   readonly attribute boolean isFallbackAdapter;    Promise<GPUDevice> requestDevice(optional GPUDeviceDescriptor descriptor = {}); };

系列博客目录传送门:https://xiaozhuanlan.com/topic/9587342601

  • 1 navigator.gpu
  • 2 GPU
    • requestAdapter 方法
    • 2.1 适配器的选择
  • 3 GPUAdapter


参考自 https://www.w3.org/TR/webgpu/#initialization

1 navigator.gpu

GPU 对象能在浏览器环境(Window环境)获取,也可以在非共享全局 Worker 中获取,其接口定义如下:

interface mixin NavigatorGPU {   [SameObject, SecureContext] readonly attribute GPU gpu; }; Navigator includes NavigatorGPU; WorkerNavigator includes NavigatorGPU;

可以通过访问 navigator.gpu 来访问 GPU 对象。

2 GPU

对应 https://www.w3.org/TR/webgpu/#gpu-interface

GPU 是 WebGPU 的入口,可以通过 navigator.gpu 访问它。

[Exposed=(Window, DedicatedWorker), SecureContext] interface GPU {   Promise<GPUAdapter?> requestAdapter(optional GPURequestAdapterOptions options = {}); };

requestAdapter 方法

接收参数为 GPURequestAdapterOptions 类型的对象,不可空(即不能为 {}),但可选。

GPURequestAdapterOptions 类型见 2.1 小节。

它返回一个 resolve 值为 null 或 GPUAdapter 对象的 Promise。

调用这个方法是有讲究的,如果系统发生一些有关显卡的更改,例如拔出了显卡,驱动更新等,适配器将会标记为过时的,在进行请求设备之前,最好再调用一次这个方法。

例子:请求一个 GPUAdapter

const adapter = await navigator.gpu.requestAdapter(/* ... */); const features = adapter.features; // ...

2.1 适配器的选择

对应 https://www.w3.org/TR/webgpu/#adapter-selection

本小节主要介绍 GPURequestAdapterOptions 接口。

在调用 navigator.gpu.requestAdapter 方法时,可以传入一个非空的对象来让浏览器选择一个合适的适配器。

dictionary GPURequestAdapterOptions {   GPUPowerPreference powerPreference;   boolean forceFallbackAdapter = false; };
enum GPUPowerPreference {   "low-power",   "high-performance" };

GPURequestAdapterOptions 接口有俩成员:

  • powerPreference,GPUPowerPreference 类型
  • forceFallbackAdapter,Boolean 类型,默认为 false

powerPreference,指示浏览器引擎选择哪个适配器,主要针对的是多显卡的操作系统(例如,一张核芯显卡加一张独立显卡)。它只能是这三个值:undefined(即什么都不传递)、"low-power""high-performance"

forceFallbackAdapter,指示是否强制启用回退适配器,回退适配器的定义见 https://www.w3.org/TR/webgpu/#fallback-adapter;一般不用管这个选项。

3 GPUAdapter

GPUAdapter 封装了一个适配器对象,有两个属性用于描述它的功能和限制。

想获取一个适配器对象,只需调用 navigator.gpu.requestAdapter() 方法并 await 它的 resolve 值即可,参考 方法:requestAdapter。

[Exposed=(Window, DedicatedWorker), SecureContext] interface GPUAdapter {   readonly attribute DOMString name;   [SameObject] readonly attribute GPUSupportedFeatures features;   [SameObject] readonly attribute GPUSupportedLimits limits;   readonly attribute boolean isFallbackAdapter;    Promise<GPUDevice> requestDevice(optional GPUDeviceDescriptor descriptor = {}); };

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » WebGPU 规范篇 02 对象初始化求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们