无主之地2改枪代码怎么用(无主之地2怎么用修改器改枪) 天鹅绒花真实图片(天鹅绒花) 现在的社会学什么技术好?(现在的社会学什么技术好就业) qq号码注册(qq号码注册的微信登录不上怎么办) 铁道职业学院排名前十(中国铁道职业学院排名) 经典qq签名一(qq签名大全) 神武抓鱼怎么玩(神武抓鱼怎么玩视频) 绝对优势理论和比较优势理论异同(绝对优势理论和比较优势理论的区别) 如何在魅族的应用中心发布应用或者主题(如何在魅族的应用中心发布应用或者主题软件) 微信如何清理僵尸粉(微信如何清理僵尸粉又不被别人发现) 空中叠墅是什么意思(叠墅是什么意思) 社保滞纳金怎么算(单位补缴社保滞纳金怎么算) 手动搬运车怎么使用(手动搬运车怎么使用的) 专管员为什么讨厌代账会计(专管员) 百度百科博物馆计划十周年纪念微章怎么领取(100周纪念章) 小苏打能治好肿瘤是真的吗(自制苏打水的危害) 守护光明顶1.6攻略(守护光明顶1.6通关攻略) 重症疾病险该不该买(重症疾病有哪些) 拼装积木游戏怎么玩(拼装积木游戏怎么玩的) 电热水器使用说明书(美的电热水器使用说明书) LED发光二极管(led发光二极管电压是多少) 丰胸的最快方法3+3动作加瑜伽让你拥有傲人胸器(最有效瑜伽的运动丰胸方法) 少年歌行名剑谱排名(剑谱排名) gif动图怎么压缩?如何在线压缩gif大小?(在线压缩gif图片大小) 杨玉环怎么玩连招(杨玉环怎么玩连招视频) 乳糜血(乳糜) 怎么学高中历史的窍门(怎么学高中历史的窍门和技巧) 梨树的作用与功效(梨树的作用与功效图片) 蓝芩口服液的功效与作用和蒲地蓝口服液的区别(蓝芩口服液的功效与作用) js 随机数整数(js随机数整数) 湖州火车站附近酒店(湖州火车站) QQ飞车城邦守护兽怎么进化(QQ飞车城邦守护兽) 韩式盘发简单教程(韩式盘发简单教程图解) 地下城assertion failed错误怎么办(assertion failed怎么解决) 向量相乘坐标公式怎么推算出来的(向量相乘坐标公式) 拉丁舞裙服装怎么画(拉丁舞裙服装怎么画简笔画) 裁决之镰怎么解除(裁决之镰怎么办) 10178什么意思(1017代表什么意思) 如何选择进口婴儿奶粉(如何选择进口婴儿奶粉牌子) EVIDENT与深圳湾实验室举办首届EVIDENT Discovery Center生物成像主题研讨 合肥欢乐岛旅游攻略(合肥欢乐岛旅游攻略路线) 侏儒症的症状及病因(侏儒症的症状) 漂白 护理牙齿如何变白?(漂白牙齿怎么漂白) 波尔多液怎么配制?(波尔多液怎么配制用来防治西瓜枯萎病) tam是什么意思啊(TAM是什么意思) 手把手教你如何用百度网盘下载BT种子文件(百度网盘如何使用种子文件下载) 采访问题怎么写(采访问题) 英雄联盟如何参与MSI半决赛活动(英雄联盟msi比赛赛程) 架立筋图片示意图(架立筋图片) 最右如何添加交友卡(最右怎么看交友卡)
您的位置:首页 >百科精选 >

30浏览器webgl遇到问题

导读 关于30浏览器webgl遇到问题这个问题很多朋友还不知道,今天小六来为大家解答以上的问题,现在让我们一起来看看吧!1、异步请求过多浏览器对

关于30浏览器webgl遇到问题这个问题很多朋友还不知道,今天小六来为大家解答以上的问题,现在让我们一起来看看吧!

1、异步请求过多浏览器对并发异步请求是有限制的。

2、如果程序不做处理,“同时”发送几百个请求就可能导致浏览器崩溃。

3、解决这样的问题涉及到数据管理的问题。

4、有的需要多次请求得到的数据可以重新组织在一次或几次请求完成。

5、如果就是需要若干次请求,就需要把请求排队,用多个异步请求队列加载数据。

6、并发异步请求资源死锁若一个资源被多个异步请求同时请求的时候就可能导致浏览器死锁,死锁的结果就是浏览器崩溃。

7、默认浏览器都是启用cache的,而浏览器在从cache中读取数据的时候会加锁。

8、就需要在组织异步请求队列的时候,相同的资源不能在不同的队列中出现GPU进程崩溃Chrome是多进程架构,每个Tab都会启用单独的进程来处理页面。

9、但,所有的进程都会公用一个GPU进程。

10、如果开启多个WebGL应用页面,每个页面占用一定的GPU资源,GPU进程的内存加起来总的就会轻轻松松超过1.5G,结果就是GPU进程崩溃,即使是64位Chrome。

11、在实际中用WebGL显示大模型会轻轻松松的撑爆GPU进程。

12、这就需要显示引擎要处理好顶点数据的内存占用。

13、方法有很多种,这里就不多赘述了。

14、JS使用内存过多导致崩溃在上图中可以看到多个内存:内存、GPU内存、Javascript内存。

15、其中Javascript内存是JS对象占用的内存,垃圾回收会影响这部分内存。

16、Javascript代码和垃圾回收运行在同一个线程的环境,当垃圾回收的时候,js代码不会执行。

17、如果js对象过多,(占用内存过多),垃圾回收的过程也会变得漫长。

18、所以Chrome简单粗暴的限制了Javascript内存的占用,在x64下最大~1.4G。

19、解决这样的问题需要优化数据结构或者增加数据动态管理的机制。

20、JS代码运行Timeout如果JS运行时间过长,超出一定的时间,浏览器就弹个对话框,让用户选择是否结束。

21、相同的代码在chrome中没有问题,而在firefox中就可能无响应。

22、解决方法就是把耗时的算法设计成分部执行,结合setTimeout或者requestAnimationFrame使用。

23、总结:相对桌面应用,浏览器仍然是一个资源受限的环境:JS执行效率,内存管理,线程等。

24、对于大规模的Web应用,需要不断的在效率性能和资源占用上做平衡。

本文分享完毕,希望对大家有所帮助。

标签:

免责声明:本文由用户上传,如有侵权请联系删除!