簡體   English   中英

如何讓 WebGPU 在 Chrome Canary 97 中運行?

[英]How to make WebGPU run in Chrome Canary 97?

無論哪個 WebGPU 示例(austin-eng、jack1232/WebGPU-Step-By-Step 等),我在啟用了不安全 WebGPU 標志的 Chrome Canary 97.0.4686.0 中運行,我在控制台中收到一些錯誤,表明我的瀏覽器不支持網絡圖形處理器。

示例: https://austin-eng.com/webgpu-samples/samples/helloTriangle

Is WebGPU Enabled?

TypeError: Cannot read property 'requestDevice' of null

你能重現這種行為嗎?

正如https://web.dev/gpu/#enabling-via-about:flags所說,要在本地試驗 WebGPU,請在about://flags啟用#enable-unsafe-webgpu about://flags

要檢查是否支持 WebGPU,請使用:

if ("gpu" in navigator) {
  // WebGPU is supported! 🎉
}

注意: navigator.gpu.requestAdapter()返回的 GPU 適配器可能為null

最近(至少在 96 年),WebGPU 不再處於標志之后,而是現在處於原始試驗之后。 這意味着您可以注冊一個令牌並將其放在網頁的<head>中,它將為所有用戶啟用 WebGPU。

為此,請訪問: https : //developer.chrome.com/origintrials/#/register_trial/118219490218475521 ,填寫表格並檢索您的令牌。 請注意,您還可以為localhost請求令牌以進行開發。 然后只需將<meta httpEquiv="origin-trial" content={ORIGIN_TRIAL_KEY}/>到您的網頁,如果注冊正確,WebGPU 不僅會為您啟用,還會為訪問您網站的每個人啟用。

如果你用的是canary的chrome,為什么不用最新的canary,據我所知,satable版本已經是108,最新的canary版本是111。當你在最新的canary chrome中啟用#enable-unsafe-webgpu時。 你可以使用 ts 代碼

let adapter: GPUAdapter;
let device: GPUDevice;
export async function getGpuDevice() {
    if (device) {
        return { adapter, device }
    } else {
        try {
            adapter = (await navigator.gpu.requestAdapter())!;
            device = (await adapter!.requestDevice())!;
        } catch (e) {
            alert('your browser don‘t support webgpu\n你的瀏覽器不支持 webgpu');
        }
        return { adapter, device };
    }
}

祝你好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM