電腦不支持webgl怎么辦 Googlechrome出現(xiàn)WEbGL遇到問題怎么辦?
Googlechrome出現(xiàn)WEbGL遇到問題怎么辦?瀏覽器對(duì)并發(fā)異步請(qǐng)求有限制。如果程序不處理它,同時(shí)發(fā)送數(shù)百個(gè)請(qǐng)求可能會(huì)導(dǎo)致瀏覽器崩潰。解決這個(gè)問題涉及到數(shù)據(jù)管理的問題。一些需要由多個(gè)請(qǐng)求獲得的數(shù)
Googlechrome出現(xiàn)WEbGL遇到問題怎么辦?
瀏覽器對(duì)并發(fā)異步請(qǐng)求有限制。如果程序不處理它,同時(shí)發(fā)送數(shù)百個(gè)請(qǐng)求可能會(huì)導(dǎo)致瀏覽器崩潰。解決這個(gè)問題涉及到數(shù)據(jù)管理的問題。一些需要由多個(gè)請(qǐng)求獲得的數(shù)據(jù)可以在一個(gè)或多個(gè)請(qǐng)求中重新組織。如果需要多個(gè)請(qǐng)求,則需要對(duì)請(qǐng)求進(jìn)行排隊(duì),并使用多個(gè)異步請(qǐng)求隊(duì)列加載數(shù)據(jù)。
如果一個(gè)資源同時(shí)被多個(gè)異步請(qǐng)求請(qǐng)求,則可能導(dǎo)致瀏覽器死鎖,死鎖的結(jié)果是瀏覽器崩潰。默認(rèn)瀏覽器啟用緩存,從緩存讀取數(shù)據(jù)時(shí)瀏覽器將鎖定。在組織異步請(qǐng)求隊(duì)列時(shí),相同的資源不能出現(xiàn)在不同的隊(duì)列中
chrome是一種多進(jìn)程架構(gòu),每個(gè)選項(xiàng)卡將啟用一個(gè)單獨(dú)的進(jìn)程來處理頁面。但是,所有進(jìn)程都共享一個(gè)GPU進(jìn)程。
Google chrome出現(xiàn)WEbGL遇到問題怎么辦?
異步請(qǐng)求太多。瀏覽器對(duì)并發(fā)異步請(qǐng)求有限制。如果程序不處理它,同時(shí)發(fā)送數(shù)百個(gè)請(qǐng)求可能會(huì)導(dǎo)致瀏覽器崩潰。解決這個(gè)問題涉及到數(shù)據(jù)管理的問題。一些需要由多個(gè)請(qǐng)求獲得的數(shù)據(jù)可以在一個(gè)或多個(gè)請(qǐng)求中重新組織。如果需要多個(gè)請(qǐng)求,則需要對(duì)請(qǐng)求進(jìn)行排隊(duì),并使用多個(gè)異步請(qǐng)求隊(duì)列加載數(shù)據(jù)。并發(fā)異步請(qǐng)求資源死鎖如果一個(gè)資源同時(shí)被多個(gè)異步請(qǐng)求請(qǐng)求,則可能導(dǎo)致瀏覽器死鎖,死鎖的結(jié)果是瀏覽器崩潰。默認(rèn)瀏覽器啟用緩存,從緩存讀取數(shù)據(jù)時(shí)瀏覽器將鎖定。組織異步請(qǐng)求隊(duì)列時(shí),同一資源不會(huì)導(dǎo)致不同隊(duì)列中的GPU進(jìn)程崩潰。Chrome是一個(gè)多進(jìn)程架構(gòu),每個(gè)選項(xiàng)卡都支持一個(gè)單獨(dú)的進(jìn)程來處理頁面。但是,所有進(jìn)程都共享一個(gè)GPU進(jìn)程。如果打開多個(gè)webgl應(yīng)用程序頁面,每個(gè)頁面都會(huì)占用一定數(shù)量的GPU資源,GPU進(jìn)程的總內(nèi)存很容易超過1.5g,導(dǎo)致GPU進(jìn)程崩潰,即使是64位chrome。在實(shí)際應(yīng)用中,使用webgl來顯示大模型將很容易支持GPU進(jìn)程。這需要顯示引擎處理頂點(diǎn)數(shù)據(jù)的內(nèi)存消耗。有很多方法,所以我在這里不詳細(xì)介紹。JS占用太多內(nèi)存,導(dǎo)致崩潰。在上圖中,您可以看到多個(gè)內(nèi)存:內(nèi)存、GPU內(nèi)存、JavaScript內(nèi)存。JavaScript內(nèi)存是JS對(duì)象占用的內(nèi)存,會(huì)受到垃圾回收的影響。Javascript代碼和垃圾回收在同一個(gè)線程環(huán)境中運(yùn)行,當(dāng)垃圾回收時(shí),JS代碼不會(huì)被執(zhí)行。如果JS對(duì)象太多(占用太多內(nèi)存),垃圾回收的過程就會(huì)很長(zhǎng)。因此,chrome簡(jiǎn)單粗暴地限制了JavaScript的內(nèi)存使用,在x64下的最大內(nèi)存使用量約為1.4g。要解決這一問題,需要優(yōu)化數(shù)據(jù)結(jié)構(gòu)或增加數(shù)據(jù)動(dòng)態(tài)管理機(jī)制。JS代碼運(yùn)行超時(shí)。如果JS長(zhǎng)時(shí)間運(yùn)行,瀏覽器會(huì)彈出一個(gè)對(duì)話框讓用戶選擇是否結(jié)束。同樣的代碼在chrome中沒有問題,但在firebox中可能沒有響應(yīng)。解決方案是實(shí)現(xiàn)耗時(shí)的算法設(shè)計(jì)組件,結(jié)合setTimeout或請(qǐng)求動(dòng)畫幀。結(jié)論:與桌面應(yīng)用相比,瀏覽器仍然是一個(gè)資源受限的環(huán)境:JS執(zhí)行效率、內(nèi)存管理、線程等。對(duì)于大規(guī)模的web應(yīng)用程序,我們需要不斷地平衡效率、性能和資源消耗。
被我們公司的后端大佬說你們前端真的沒什么技術(shù)含量,我該怎么懟回去?
直接回復(fù):dute正在移動(dòng)磚塊。你還有優(yōu)越感嗎?他們都是敢死隊(duì)。你還在死亡的路上嗎?你覺得自己優(yōu)越嗎?
服務(wù)員遇到下面問題你怎么辦?客人點(diǎn)八個(gè)菜,上了七個(gè)菜吃完后有一個(gè)菜沒上,說要退了?
在小餐館吃飯時(shí)就是這樣。如果你不炒的話,你可以退貨。
WebGL為什么一直報(bào)錯(cuò)說分配的內(nèi)存不夠?
要啟用瀏覽器的webgl功能,瀏覽器首先需要支持此功能。以Chrome瀏覽器為例:
1。右鍵單擊Chrome瀏覽器的快捷方式,然后單擊屬性;
2。單擊快捷方式選項(xiàng)卡,輸入目標(biāo)框的原始內(nèi)容--啟用webgl--忽略GPU黑名單--允許從文件訪問文件,然后單擊確定;
3。參數(shù)功能介紹:
]--en Can webgl表示啟用webgl支持;-GPU表示忽略GPU黑名單,也就是說有些顯卡GPU太舊,不建議運(yùn)行webgl。此參數(shù)允許瀏覽器忽略黑名單并強(qiáng)制運(yùn)行webgl;--ignore GPU blacklist表示可以在本地加載資源。如果您不是webgl開發(fā)人員,則不需要開發(fā)調(diào)用Try webgl;
只想查看webgl演示,則不能添加此參數(shù):-允許從文件訪問文件。