初識 WebGPU 以及遇到 WebGPU not supported 錯誤的解決方法

初識 WebGPU 以及遇到 WebGPU not supported 錯誤的解決方法

    • WebGPU學習資源
    • 初識WebGPU
    • 遇到并解決問題
    • 在線示例

因公司需求,開始接觸 WebGPU,偶然遇到問題,網上搜索無效,后來通過逐步判斷,終于定位到問題,這里記錄一下,為其他遇到此問題的網友提供解決思路。

本包含 WebGPU學習資源、初識WebGPU、遇到并解決問題、在線示例四部分。


WebGPU學習資源


1. 學習API WebGPU_API 。

在這里插入圖片描述

3. 基礎學習 WebGPU 理論基礎。

在這里插入圖片描述

4. 在線示例 WebGPU Samples。

在這里插入圖片描述

5. WebGPU 與 WebGL 對比:WebGL 與 WebGPU 比對

根據以上學習資源,快速了解什么是 WebGPU 以及完成 helloworld 入門。


初識WebGPU


1. 什么是 WebGPU以及為什么要用WebGPU?

網上資料一搜一大堆,這里我簡單說一下自己的理解:

對于計算機圖形(二維三維)而言,需要大量的計算,這些計算通常需要交給 GPU,而 WebGL提供了調用 GPU 的接口,使得在 Web 端也可以很輕松的加載酷炫的效果。

但是 WebGL 是通過 OpenGL 驅動 GPU,存在一定的局限性,不能完全發揮 GPU 的性能,因此 WebGPU 出現了。

以下是 WebGPU 的介紹(復制的):

WebGPU API 使 web 開發人員能夠使用底層系統的 GPU(圖形處理器)進行高性能計算并繪制可在瀏覽器中渲染的復雜圖形。

WebGPU 是 WebGL 的繼任者,為現代 GPU 提供更好的兼容、支持更通用的 GPU 計算、更快的操作以及能夠訪問到更高級的 GPU 特性。

WebGPU 解決了WebGL 中的一些問題,其提供了與現代 GPU API 兼容的更新的通用架構,它會讓你感到更加絲滑。它支持圖形渲染,同時對 GPGPU 計算也有一流的支持。在 CPU 端渲染單個對象的成本要低得多,并且它支持現代化的 GPU 渲染特性,例如,基于計算的粒子和用于后期處理的濾鏡,如顏色效果、銳化和景深模擬。此外,它也可以直接在 GPU 上處理諸如剔除和骨骼動畫模型等耗費大量計算資源的任務。

總之就是:WebGPU 作為下一代圖形計算,非常有前景,非常牛,最好學學!

這里放一個 WebGL 和 WebGPU 在線對比:WebGL 和 WebGPU 性能效果對比

在這里插入圖片描述

在這里插入圖片描述

2. WebGPU helloworld


<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"></head><body><script type="text/javascript">// 異步方法// 判斷是否支持 WebGPUasync function init() {// 是否支持 WebGPUif (!navigator.gpu) {alert("WebGPU not supported.");throw Error("WebGPU not supported.");}// 適配器const adapter = await navigator.gpu.requestAdapter();if (!adapter) {throw Error("Couldn't request WebGPU adapter.");}// 獲取邏輯設備const device = await adapter.requestDevice();console.log(device)alert("WebGPU supported.");//...}init()
</script>
</body></html>

遇到并解決問題


1. 遇到問題應該也很普遍:WebGPU not supported.

在這里插入圖片描述

開始以為沒有開啟 WebGPU,后經過查看以及其他 WebGL 程序測試,確認已經開啟 WebGPU。

2. 解決問題

經過不斷調試代碼以及運行環境,最終發現,應該是 WebGPU 權限問題。

結論:WebGPU 只允許本地訪問或者 https 訪問!!!

即,瀏覽器地址只能是:localhost、127.0.0.1 或者 https + 其他地址

如果 http + 其他地址則會報以上錯誤!

2. 錯誤原因,沒搜索到,放上文心一言的回答

在這里插入圖片描述

測試地址:

http + WebGPU 初始化(報錯)

在這里插入圖片描述

https + WebGPU 初始化(正常)

在這里插入圖片描述


在線示例

在這里插入圖片描述

webgpu 在線示例:webgpu 繪制三角形

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/215862.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/215862.shtml
英文地址,請注明出處:http://en.pswp.cn/news/215862.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【WPF 按鈕點擊后異步上傳多文件code示例】

前言: WPF中按鈕點擊事件如何執行時間太長會導致整個UI線程卡頓&#xff0c;現象就是頁面刷新卡住&#xff0c;點擊其他按鈕無反饋。如下是進行異步執行命令&#xff0c;并遠程上傳文件的代碼。 ![異步上傳文件](https://img-blog.csdnimg.cn/direct/20c071929b004dcf9223dee2…

聽我的,日志還是得好好打!

日志這東西&#xff0c;平時看不出來什么&#xff0c;真要出了問題&#xff0c;那就是救命的稻草。這期就給大家分享一些日志相關的東西。 弄懂日志 SpringBoot項目啟動日志 什么是日志&#xff1f; 日志&#xff0c;維基百科中對其的定義是一個或多個由服務器自動創建和維護…

【數學建模】《實戰數學建模:例題與講解》第十一講-因子分析、聚類與主成分(含Matlab代碼)

【數學建模】《實戰數學建模&#xff1a;例題與講解》第十一講-因子分析、聚類與主成分&#xff08;含Matlab代碼&#xff09; 基本概念聚類分析Q型聚類分析R型聚類分析 主成分分析因子分析 習題10.11. 題目要求2.解題過程3.程序4.結果 習題10.21. 題目要求2.解題過程3.程序4.結…

Java網絡編程——安全網絡通信

在網絡上&#xff0c;信息在由源主機到目標主機的傳輸過程中會經過其他計算機。在一般情況下&#xff0c;中間的計算機不會監聽路過的信息。但在使用網上銀行或者進行信用卡交易時&#xff0c;網絡上的信息有可能被非法分子監聽&#xff0c;從而導致個人隱私的泄露。由于Intern…

request、limit資源配額

cpu/mem 的limit和request都是針對container來講的&#xff0c;不是針對pod。 0 < request < limit cpu cpu資源限制的單位m&#xff1a;CPU的計量單位叫毫核(m)。一個節點的CPU核心數量乘以1000&#xff0c;得到的就是節點總的CPU總數量。如&#xff0c;一個節點有兩個…

Rust做一個圖片服務器有多難?

今天我們將詳細探討如何使用Rust構建一個圖片服務器。Rust以其性能、安全性和并發處理能力而聞名&#xff0c;非常適合用于構建網絡服務。 一個圖片服務器需要處理圖片的上傳、存儲、訪問和處理&#xff0c;同時還要考慮安全性和性能。讓我們一步步了解如何用Rust來實現這一目…

使用kubeadm搭建高可用的K8s集群

—————————————————————————————————————————————— 博主介紹&#xff1a;Java領域優質創作者,博客之星城市賽道TOP20、專注于前端流行技術框架、Java后端技術領域、項目實戰運維以及GIS地理信息領域。 &#x1f345;文末獲取源碼…

ImmunityCanvas7.26安裝詳細教程

ImmunityCanvas7.26 大家想必都已經知道了Immunity Canvas7.26武器于2021年3月2日泄露了吧那我就廢話不多說了。 很多人已經有了這款工具不得不說這工具很nice如果要買的話一年的話3萬美金我的天我窮了。。 簡單介紹 Immunity Canvas是美國ImmunitySec出品的安全漏洞檢測工具…

數據庫產品層出不窮,金融行業應該怎么選?|飛輪科技聯合創始人連林江

眾所周知&#xff0c;金融行業對于數據有著極為嚴苛的標準和要求&#xff0c;尤其當在線化、實時化業務場景增多以后&#xff0c;金融行業也面臨著多重的挑戰&#xff1a;既要滿足實時數據分析的高性能、高效率需求&#xff0c;又要確保數據的安全性和完整性。基于此&#xff0…

[GPT]Andrej Karpathy微軟Build大會GPT演講(上)--GPT如何訓練

前言 OpenAI的創始人之一,大神Andrej Karpthy剛在微軟Build 2023開發者大會上做了專題演講:State of GPT(GPT的現狀)。 他詳細介紹了如何從GPT基礎模型一直訓練出ChatGPT這樣的助手模型(assistant model)。作者不曾在其他公開視頻里看過類似的內容,這或許是OpenAI官方…

產品經理在項目周期中扮演的角色Axure的安裝與基本使用

目錄 一.項目周期流程 二.Axure是什么 三.Axure安裝 3.1 一鍵式安裝 3.2 漢化 3.3 授權登錄 四.Axure的界面介紹及基本使用 4.1 菜單欄的使用 4.2 工具欄的使用 4.3 頁面概要的使用及組件的使用 4.4 組件的樣式設計 一.項目周期流程 在一般的項目周期中包含的工作內容有&…

2005-2021年全國各省資本存量測算數據(含原始數據+測算過程+計算結果)

2005-2021年全國各省資本存量測算數據&#xff08;含原始數據測算過程計算結果&#xff09; 1、時間&#xff1a;2005-2021年&#xff08;以2005年為基期&#xff09; 2、范圍&#xff1a;30個省市&#xff08;不含西藏&#xff09; 3、指標&#xff1a;固定資產形成總額、固…

利用工具JStack排查:死鎖問題和CPU100%問題

無論是再面試過程中還是再實際項目開發當中我們都有可能遇到這兩個問題。我之前有同學面試這兩個問題都有問道過。哈哈哈。所以我絕對把他們了解下并利用博客記錄。 1、工具JStack是什么&#xff1f; JStack可以顯示Java應用程序中每個線程的堆棧跟蹤&#xff0c;幫助開發人員…

【PTA題目】7-8 矩陣運算 分數 10

7-8 矩陣運算 分數 10 全屏瀏覽題目 切換布局 作者 C課程組 單位 浙江大學 給定一個nn的方陣&#xff0c;本題要求計算該矩陣除副對角線、最后一列和最后一行以外的所有元素之和。副對角線為從矩陣的右上角至左下角的連線。 輸入格式: 輸入第一行給出正整數n&#xff08;…

Azure Machine Learning - 使用自己的數據與 Azure OpenAI 模型對話

在本文中&#xff0c;可以將自己的數據與 Azure OpenAI 模型配合使用。 對數據使用 Azure OpenAI 模型可以提供功能強大的對話 AI 平臺&#xff0c;從而實現更快、更準確的通信。 關注TechLead&#xff0c;分享AI全維度知識。作者擁有10年互聯網服務架構、AI產品研發經驗、團隊…

臺式掃描電鏡中的掃描速度和掃描模式如何選擇?

臺式掃描電鏡&#xff08;SEM&#xff09;是一種利用電子束掃描樣品表面&#xff0c;通過檢測樣品反射或發射的次級電子、背散射電子、X 射線等信號&#xff0c;來獲取樣品的形貌、結構、組成和分布等信息的儀器。臺式掃描電鏡具有體積小、操作簡單、樣品制備方便、分辨率高、成…

AttributeError: cannot assign module before Module.__init__() call 解決方法

這個錯誤通常是由于在__init__方法之外對模塊中的某些成員進行了初始化或賦值操作&#xff0c;導致模塊還沒有被完全初始化就已經被調用了。為了解決這個問題&#xff0c;需要將所有的初始化或賦值操作移到__init__方法內部。 例如&#xff0c;如果有一個自定義模塊MyModule&a…

量化交易與人工智能:Python庫的應用與效用

&#x1f482; 個人網站:【 海擁】【神級代碼資源網站】【辦公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;輕量化工具創作平臺&#x1f485; 想尋找共同學習交流的小伙伴&#xff0c;請點擊【全棧技術交流群】 量化交易簡介 量化交易是一種利用計算機算法執…

Windows使用virtualenv創建python環境

假設已有python和pip環境使用pip安裝vitualenv pip install virtualenv 將virtualenv的路徑加入環境變量使用virtualenv創建一個虛擬環境 virtualenv virtual_name --pythonpython3.9 激活虛擬環境 virtual_name\Script\activate 遇到問題&#xff1a; 使用工作電腦激活…

VUE+webrtc-streamer 實現實時視頻播放(監控設備-rtsp)

效果 下圖則啟動成功&#xff0c;此時在瀏覽器訪問127.0.0.1:8000可以看到本機監控畫面 1、下載webrtc-streamer 地址&#xff1a;https://github.com/mpromonet/webrtc-streamer/releases 2、解壓下載包 3、雙擊webrtc-streamer.exe啟動服務 4、將下載包html文件夾下webrt…