30浏览器webgl遇到问题
关于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应用,需要不断的在效率性能和资源占用上做平衡。
本文分享完毕,希望对大家有所帮助。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
6月25-28日,由中国进出境生物安全研究会、中国国际旅行卫生保健协会主办,中国青年创业就业基金会支持,中国出入...浏览全文>>
-
胃肠镜检查,听起来可能有些令人不安,但实际上,它可能是生活中的救命稻草。对于一些人来说,定期进行胃肠镜...浏览全文>>
-
6月16日-20日,2025年优秀博士后研究人员(绍兴)研学活动顺利举行。本次活动汇聚了来自全国各地的百余名博士后,...浏览全文>>
-
近日,天津松果生物医疗科技有限公司自主研发的牛跟腱来源去端肽I型胶原蛋白原材料成功通过国家药品监督管理局...浏览全文>>
-
在数字化产业转型的浪潮奔涌之际,病理学正经历着前所未有的革新机遇。奥伟登(Evident)凭借百年光学技术积淀,以...浏览全文>>
-
6月6-8日,CHINAGUT 2025中国肠道大会在宁波国际会议中心隆重举办。大会由南京医科大学第二附属医院、国家消化...浏览全文>>
-
在第28届北京国际口腔展这一行业风向标级盛会上,北京易岭生物科技有限公司(下面简称易岭生物)凭借重磅新品发...浏览全文>>
-
2025款上汽大众ID 4 X在安徽阜阳地区的售价会根据配置和选装包有所不同。基础版车型的厂商指导价大约在20万...浏览全文>>
-
岚图FREE,作为一款集豪华与智能于一体的新能源SUV,正以全新的姿态迎接每一位渴望高品质出行的用户。现在,岚...浏览全文>>
-
安徽阜阳的大众ARTEON 2022新款现已到店,最低售价从34 80万元起,无疑是近期购车的最佳时机。这款车型以其...浏览全文>>