canvas教程

WebGL技术科普(3)

字号+ 作者:H5之家 来源:H5之家 2017-03-23 13:00 我要评论( )

现在国内引擎推出了运行时来解决游戏效率问题,以插件的方式嵌入到浏览器或者APP中,运行时底层运行的就是Opengl ES,引擎把Canvas的接口映射到Opengl ES,再利用Opengl ES进行一个渲染,从而得到了渲染加速效果,运

现在国内引擎推出了运行时来解决游戏效率问题,以插件的方式嵌入到浏览器或者APP中,运行时底层运行的就是Opengl ES,引擎把Canvas的接口映射到Opengl ES,再利用Opengl ES进行一个渲染,从而得到了渲染加速效果,运行时目前只支持安卓系统,所以运行时对于Canvas来说是起到了一个托管作用。而WebGL则是浏览器原生支持,直接在浏览器不需要插件调用Opengl ES的接口,而WebGL对于Canvas来说是一个替代作用,WebGL目前除了低端安卓机上的部分浏览器不支持,大部分机器和苹果手机都是支持的,所以两者做的事情是一模一样,一个是托管一个是替代。

十五. 关于GPU加速这个概念

很多人单纯的认为使用运行时技术或者WebGL技术就可以起到了一个简单的加速效果,比如跑100个图片30FPS,使用新技术加速之后是不是可以跑60FPS,答案是可以的,但这不是真正意义的加速,因为如果新技术没有用好可能反而比Canvas还要差,而真正的加速是指解决方案,如何利用最有效最优的解决方案提升游戏的渲染效率,而 GPU 加速最重要的环节就是使用Shader,这个是在GPU端处理的一段程序,可以把游戏中某一段算法放到 GPU 中去计算而不是 CPU,这样的效率会快很多,同一个问题使用Canvas的解决方案可能只有1~2种解决方案,而使用GPU渲染,则可能会有多大10种解决方案,选择当下游戏最合适的,才能达到最大化的优化,而 CPU 编程和 GPU 编程的思路完全不同,如果以 CPU 思路去编写游戏那永远也没有 GPU 的快,举个例子,一个RPG场景,分6个层,分别为地图层,装饰层,建筑层,人物层,怪物层,特效层,如果这时候要移动场景,使用Canvas技术的话就必须每个对象去计算一次坐标,这样必定会照成卡顿,或者绘制成一张静态图,但如果元素都在运动中,那么就需要每帧去绘制,效率更差,而使用WebGL则可以直接把要移动的坐标传递到GPU进行一个统一移动,这样一个大场景移动和不移动的效率几乎是一样的,所以真正意义的加速不关系引擎还是技术而是使用者的解决方案!

十六. 关于HTML5的发热和耗电问题

有人说,HTML5游戏特别耗电,WebGL游戏更加耗电,这完全是扯淡,请看下面的图,我们选用了三款APP大作,耗时30分钟分别测试了耗电和发热情况:

游戏规模分别从小型游戏到大型游戏,时空之刃,半小时耗电30%,发热最高41.6度,三消游戏消耗20%,最高温度是36度,那么问题来说,41度和36度温度相差这么多,是游戏问题还是使用的技术问题?而我们测试的HTML5游戏大部分游戏都是低于这个水准,所以,HTML5游戏并没有比原生APP更加费电和发热,相反还要低,但为什么会强调HTML5发热严重,那么这里就有几个外部因素了,第一,只要是个游戏都费电和发热,没有不发热的不费电的游戏,第二,一般使用 GPU 的游戏发热会严重一些,和是不是HTML5没有关系,现在我们购买的独立显卡上,上面都会自带一个风扇,风扇的面积比显卡还要大,为什么,因为会发热,发热不代表是坏事,而是正在大量运算需要散发出热量,发热问题在PC游戏也好,在APP游戏上也好,一直都存在为什么没有人去强调,而在HTML5上却希望做出不发热的游戏?这个问题就出在环境上,首先,在没有带充电宝的情况下,我是不会在外边用手机玩游戏的,因为即使我不用手机玩游戏,只是刷刷朋友圈看看新浪微博一天的电就这样了,而要玩游戏或者看电影时我都会选择在家里充着电玩,这是一个手机使用的常识问题,也就是说,通常这些游戏都在是有电源的情况下进行,而HTML5游戏作为一个新行业,通常HTML5的呈现是出现在微信或者QQ里或者是某个应用渠道里,而我们在使用应用时不会插电源玩,而在外地一般都会使用社交软件,HTML5的出现,可以让用户直接在社交软件里进行游戏,这样问题就出现了,本来是好事,变成了坏事,用户发现玩着玩着没有电了,因为用户目前还没有把HTML5游戏当作游戏来看待,或者只是当作小游戏来看待,不够重视,所以,同样的问题在HTML5的环境下就凸显的特别明显,这不是HTML5的错,而是环境导致,我相信一定会有一个渠道去教育好这个市场,用户才会去认识真正的HTML5游戏的魅力。

十七.关于HTML5的发展时间

虽然HTML5已经出来很多年了,但之前使用的都是过的Canvas技术,苹果也就去年才开始支持WebGL,QQ浏览器X5内核是今年才开始支持,我这一年观察下来,WebGL的普及率会越来越快,现在新出场的机器都是支持WebGL的,所以我认为HTML5的游戏发展其实是今年才刚刚开始,一个新的行业发展,必定是技术先行,解决了技术问题,再出好的产品,好的产品多了,渠道开始给量,量起来了,游戏多了,需要好的产品筛选,发行出现了,这是一个良性的循环,但今年是引擎,CP,渠道,发行同时出现,技术问题没有得到解决,CP没有办法研发出好的产品,没有好的产品,渠道不给量,发行无用,陷入了死循环,研发一个好的产品至少要半年到一年的时间,而这个行业真正开始发展也就一年而已,急躁不能解决任何问题,加上很多人投机,不懂,乱玩,导致了市场的混乱,这样玩不懂的,坚持不下去的,开始撤退反咬HTM5一口,才一年时间,就想快速进来捞个几个亿,我觉得哪里凉快那里呆着去,不管承认不承认,从最早的神经猫,到现在的3D飞机,短短一年时间,HTML5的进化完成了端游10年的进化,HTM5稳步的快速的发展着。

结束语

从业HTML5行业一年多时间,其实觉得HTML5是一个正在快速成长的树苗,如果有更多的人关爱,理解,去施肥而不是践踏炒作,这个行业会更好,一个行业的兴起,一定是方向对了,环境对了,人对了,时间对了。

视频地址: ==.html

产品名称:小米NOTE

发布时间:2015年1月16号

参考价位:1600上下

从视频的角度上来看,好像WebGL的普及率从600元的低端机器到1000元以上的都支持良好了,但仔细看小米3和三星S4是跑在谷歌浏览器里,而小米4C和小米NOTE是跑在QQ里,所以这就不难解释为什么会让大家感觉普及率不高的原因,因为在一些低端安卓机器上国内浏览器支持得不是很好,而我们大部分人接触HTML5都是从QQ或者微信里接触,可能有人觉得连大厂都支持得不好,其实恰恰相反,早在一年前,连苹果都不支持WebGL,更加不用说1000以上的安卓机里的QQ和微信了,QQ浏览器内核X5的出现其实已经逐渐开始支持了WebGL,现在只是一些低端机型支持度不好而已,另外一点,现在的千元机就是以后的低端机,市场是会往前推进的,科技也是往前发展的,咱不说一年时间有多长,光研发一个好的产品也需要半年到一年的时间。如果眼光只放在当下,那永远也看到未来的美好,另外,新年到了,也应该换换你手里的手机了。

本文来源:网易 责任编辑:多文_NY5574

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • canvas 2D炫酷动效的实现套路和需要的技术积累

    canvas 2D炫酷动效的实现套路和需要的技术积累

    2017-03-22 18:02

  • HTML5游戏开发案例教程 -互联网+职业技能系列

    HTML5游戏开发案例教程 -互联网+职业技能系列

    2017-03-22 17:00

  • html5特效 css3特效 html5教程下载 css3教程下载

    html5特效 css3特效 html5教程下载 css3教程下载

    2017-03-22 09:04

  • HTML5游戏开发之Canvas 开发入门

    HTML5游戏开发之Canvas 开发入门

    2017-03-21 12:00

网友点评