webgl 2.0 测试_测试WebGL的极限:Babylon.js培训演示
webgl 2.0 测试
为了庆祝Windows 8.1和Internet Explorer 11的发布 ,我们决定为Babylon.js创建一个新的演示场景。
该演示旨在展示Internet Explorer 11等现代浏览器上WebGL的原始功能。 我请我的一位朋友( Romuald Rouhier )允许我们使用他通过3dsMax创建的3D场景:
正如您在这里看到的那样,场景真的很美。 面临的挑战是使其能够在WebGL下实时运行。
一些统计
场景本身是一大堆超过90万个活动顶点(用于水的镜子几乎将顶点的体积乘以2)。 它使用了28种以上的着色器,重量为70 MB 。
为了评估场景的性能,我们做了两个基准测试:一个基准测试是在我的个人PC上(一台功能强大且功能强大的Intel Core-I7 PC和Nvidia GeForce 680),另一个是在笔记本电脑上(联想X1 Carbon带有Intel Core) -I7和Intel板载图形卡(HD4000)。
我们每次都运行两个测试。 一台装在主旋转相机上,一台装在较窄的相机上(步行相机)。 旋转相机具有以下观点:
此摄像机需要巨大的功率,因为每个物体都是可见的!
另一台摄像机的渲染有点简单:
这些基准测试的结果如下:
如您所见,即使在中等范围的硬件(我的笔记本电脑)中, WebGL的功能也使我们能够在Internet Explorer 11上每秒交付30帧。
引擎盖下
为了能够渲染这样的场景,我们必须向Babylon.js添加新功能。
首先,这是我们首次能够使用此新界面动态更换摄像机:
免费学习PHP!
全面介绍PHP和MySQL,从而实现服务器端编程的飞跃。
原价$ 11.95 您的完全免费
免费获得这本书
然后,为了增加场景的生命,我们增加了对动画摄像机的支持。 例如,名为CAM_ROT的相机正在围绕整个场景旋转。
同样,如果您切换到CAM_TRAIN摄像机或CAM_TRAIIN_AVANT摄像机,我们还将发现一个新功能:摄像机可以与网格相关。 这允许将摄像机(作为儿童)链接到对象(例如,此处的火车):
关于原始性能,为了简化渲染,我们花了很多时间为几乎每个WebGL函数创建缓存。 这些缓存使我们能够删除冗余状态更改,这对于WebGL状态机而言确实是昂贵的。
使用Internet Explorer 11的F12开发人员栏 ,我们能够优化引擎,以使Javascript代码不会成为瓶颈。 集成的探查器(请参见下文)告诉我们,几乎所有时间都花在图形卡代码内部:
drawElements函数是用于渲染三角形的WebGL函数。 我们可以在前面的屏幕截图中看到Babylon.js (从第二行开始)不是问题。
不要犹豫,使用这些注释来分享您在自己的计算机上获得的性能(不要忘记指出用于操作系统,浏览器和硬件的版本)。 我们很想听听您的经历!
更进一步
您想这样做并释放WebGL的功能吗? 以下是一些有趣的链接:
- 现代
- 通过使用babylon.js创建小型3D游戏来了解DeviceOrientation事件
- 使用babylon.js为Windows 8.1应用程序创建3D图表
- Babylon.js:使用自定义着色器,高度图和天空框为您的游戏创造令人信服的世界
- 介绍Babylon.js
- Github仓库: https : //github.com/BabylonJS/Babylon.js
- 在线教程: https : //github.com/BabylonJS/Babylon.js/wiki/Tutorials
最初发布: http : //blogs.msdn.com/b/eternalcoding/archive/2013/10/28/babylon-js-the-train-demo.aspx 。 经作者许可在此处转载。
翻译自: https://www.sitepoint.com/testing-limits-webgl-babylon-js-train-demo/
webgl 2.0 测试
webgl 2.0 测试_测试WebGL的极限:Babylon.js培训演示相关推荐
- 机器学习 测试_测试优先机器学习
机器学习 测试 Testing software is one of the most complex tasks in software engineering. While in traditio ...
- 用python做问答测试_测试用户输入Python
我在用Python测试代码的输入时遇到了问题.我尝试了几个解决方案,但有一些东西我遗漏了,所以如果你能给我一些建议,我将不胜感激.在 首先,这里是我要测试的主代码文件的一个片段:if __name__ ...
- python网格测试_测试d的numpy网格大小调整
我有一个形状为(10049280)的测试数据集x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5 y_min, y_max = X[:, 1]. ...
- spring boot测试_测试Spring Boot有条件的合理方式
spring boot测试 如果您或多或少有经验的Spring Boot用户,那么很幸运,在某些时候您可能需要遇到必须有条件地注入特定bean或配置的情况 . 它的机制是很好理解的 ,但有时这样的测试 ...
- web应用程序并发测试_测试并发应用
web应用程序并发测试 本文是我们名为Java Concurrency Essentials的学院课程的一部分. 在本课程中,您将深入探讨并发的魔力. 将向您介绍并发和并发代码的基础知识,并学习诸如原 ...
- 机器学习 训练验证测试_测试前验证| 机器学习
机器学习 训练验证测试 In my previous article, we have discussed about the need to train and test our model and ...
- python编程能力等级测试_测试不得不知的python编程小技能-----升级版基础语法和优秀的编码习惯...
编程和学习python,最后快速上手.能写小工具,写自动化用例这类要求对鹅厂的测试人员来说都是一些基础的必备素质,但是一个优秀的测试,也是有着一颗开发完美测试工具的心的.但是罗马不是一天构建成,特别是 ...
- 键盘连击测试_测试梗欢迎补充
❝ 朋友间闲谈的谈资收集. 连击变蓝 在网页端空白页面处,连续点击三次,页面文字内容变成了蓝色背景. 浏览器换图标 客户安装IE反馈不兼容,投诉被移交到测试部门,苦口婆心劝解无效,一小哥用软件把Chr ...
- 对象测试_测试|你挑恋爱对象的眼光准不准?
现在越来越多收入高,颜值高,要求高的妹纸都选择了单身 一方面是觉得自己过得不错 另一方面是因为自己年轻时受过的伤太多 好男人确实是要万里挑一的 想知道自己有没有挑出好男人的眼光 除了谈N次恋爱以外 下 ...
最新文章
- 同样是程序员,优秀的程序员能够月入5万甚至50万!,一般的程序员却只能月入5千甚至更低?那么他们差别在哪里呢?
- 未来不是计算机发展的方向,未来人类的方向,或许不是人工智能,而是智能人类...
- 编程方法学24:管理大型数据中的良好软件工程原理
- 微信公众号关注用户的信息拉取
- Weblogic 10.3.2 安装过程中出现致命错误的处理方法
- 丰胸神器?网友曝椰树椰汁新广告低俗 疑似虚假宣传被调查...
- Pose-Aware Face Recognition in the Wild--填坑1
- 神秘组织正在运行数百个恶意 Tor 中继
- cactiez v11使用配置mysql_cactiez应用监控部署手册.doc
- 利用matlab自带函数graycoprops 实现基于共生矩阵的遥感图像纹理特征分析
- 计算机网络课程实验5——交换机VLAN
- 计算机基础 键盘认识,电脑入门(八)、认识键盘及操作
- php发微信模板消息,PHP超简单发送微信模板消息
- 火力发电厂工控系统网络安全解决方案 - 对比分析
- html特效文本框,各种html文本框input特效
- 转录组测序技术及结果解读(一)——测序样品设置及选择
- SQL考试练习题及全部答案3
- 2018-2019-20172329 《Java软件结构与数据结构》第五周学习总结
- pcf8591c语言编程,ADDA系列PCF8591的驱动程序
- 追踪邮件发送者的地理位置