原文:http://coding.smashingmagazine.com/2012/11/05/writing-fast-memory-efficient-javascript/
作者:Addy Osmani
译者按:本人第一次翻译外文,言语难免有些晦涩,但尽量表达了作者的原意,未经过多的润色,欢迎批评指正。另本文篇幅较长、信息量大,可能难以消化,欢迎留言探讨细节问题。本文主要关注 V8 的性能优化,部分内容并不适用于所有 JS 引擎。最后,转载请注明出处: )
原文:http://blog.artillery.com/2012/05/realtime-multiplayer-3d-gaming-html5.html
这篇文章国内有些机器译的版本,但实在太难阅读,这里试译了下。
由于译者水平有限,可能会有不少错漏之处,一些不明确是否译准的地方附了原文。
此文涉及挺多框架/库,在翻译过程中 ip 收获还是挺多的,建议大家在阅读时可以同时去了解下文中所提到的相关技术。
【提示:此文不是"跟我学做 HTML5 游戏"之类的教程文章】
ios 平台特点
使用 iOS 的设备拥有一些共性,这些特点会影响其程序的使用体验。与这些特性相适应的程序会更加成功,与设备一起为用户提供超凡的使用体验。
无论尺寸如何,屏幕都是最重要的
iOS 设备的屏幕是用户体验的核心。用户不仅在上面浏览优美的文字、图片和视频,还要和多点触摸屏进行交互(即使有时候用户甚至看不到屏幕)。
我觉得 CCS3 的 transform 中的学问很深,可以出不少面试题了,之前的文章谈到过 perspective 属性的位置问题,我们今天看看 rotate 的顺序,首先看看下面两个 CSS3 的 keyframe 动画:
两个动画的起始状态和结束状态都是是一摸一样的(其实就是原始位置),不同的只不过是 rotate 和 rotateX 的顺序。但是动画效果却有惊人的差别。
一开始先看个小小 demo,切换 tab 对比下!
不得不说,浏览器的多 tab(and 多窗口)设计确实是满足了用户同时浏览很多个网页的需求,但是,网上有成千上万的页面,这些页面性能又参差不齐,对于某些性能很差的页面,用户停留在这个页面倒还好,但是当用户切换了到了其他 tab 页时,有可能会出现由于性能差的页面卡死导致整个浏览器卡死甚至机器卡死,其他页面好冤,浏览器好冤,机子好冤 [汗]。
HTML 5 以前的标准由于考虑到浏览器安全问题并不允许直接跨域通信,于是为了达到跨域通信的目的各种蛋疼的解决办法出现了,常用的有:jsonp、使用代理文件、地址栏 hash 等等,这些办法的出现在达到解决跨域问题的同时,也增加了前端页面的性能开销和维护成本。HTML5 新的标准中,增加了” Cross-Origin Resource Sharing” 特性,这个特性的出现使得跨域通信只需通过配置 http 协议头来即可解决。
Minren 哥前面已经写了一些关于这方面的 blog 了,大家也可以在团队 blog 里面参考。
http://www.alloyteam.com/2012/10/the-css3-transform-perspective-property/
介于只是介绍 perspective,没有对 css 3d transform 其他部分属性介绍说明,下面是我个人对 css3 3D 的一些个人见解,大神们莫喷。那些 rotateX 啊,scaleY 啊这些大家都能够立刻明白的我就不过多的解析了。主要有几个属性大家可能比较少用或没有理解透的为这部分的主要内容。
Copyright © 2011-2021 AlloyTeam. All Rights Reserved. Powered By WordPress
粤ICP备15071938号-2