我想知道是否应该在我的HTML5 canvas游戏中实现CSS3转换或画布转换(旋转,倾斜,缩放......现在主要是2D)。
我打算将它用于android上的chrome。
我找不到任何明确的答案。
各自的性能收益和总体利弊分别是什么?Canvas vs CSS Transformations
0
A
回答
3
这取决于目的。
如果使用CSS3转换,它将仅影响画布元素而不是其内容(位图),而使用画布自己的转换会影响内容。
另一个区别是,CSS3转换会影响画布及其当前位图总而言之,没有区别。使用画布上下文的局部变换,可以更改每个画图之间的变换矩阵,以影响不同形状的不同方式。
如果您不需要对画布中的不同形状进行单独转换,并且无需提取分析/操作转换内容的像素,那么CSS3可能是更好的选择。
我相信浏览器共享相同的转换过程(在核心),所以性能本身没有什么不同(理论上)。使用canvas的本地转换仍然存在性能问题,但是由于JavaScript本身,而CSS3转换在本地编译代码内部调用。
与为每个所需转换设置CSS规则相比,Canvas可以为您提供更好,更简单的细节控制。
使用画布转换的一个缺点是读取例如相对于元素而不是转换位图的鼠标位置。这意味着您需要使用逆矩阵来弥补这一点。你可以通过使用绝对变换而不是累积的变换来解决这个问题,你可以为每个帧更新设置和重置。
我的推荐:对于游戏使用画布通常更好。您可以使用CSS制作更简单的游戏,但我会为这些东西推荐画布。
(免责声明:我认为在我的答案中,你是一个画布的意义内容,而不是一般意义上的)。
相关问题
- 1. Linq to NHibernate + transformations + futures
- 2. Canvas arc()vs drawImage()
- 3. Javafx canvas vs pane
- 4. Canvas vs HTML DOM?
- 5. Canvas vs. Panel
- 6. Canvas context.fillText()vs context.strokeText()
- 7. Img map vs canvas
- 8. SVG/VML vs Canvas vs HTML - Mobile
- 9. HTML Canvas Interval vs RequestAnimationFrame
- 10. Canvas tag - drawarc vs image
- 11. Canvas vs SVG简单游戏
- 12. Gd库vs Html canvas元素
- 13. Canvas vs SVG for graph-like diagrams?
- 14. Animate CC - getChildByName canvas vs WebGL
- 15. Windows Phone 7 - Canvas vs. XNA
- 16. Raphael canvas覆盖css
- 17. HTML5图形SVG,canvas和CSS
- 18. RGBa css vs aRGB Android
- 19. html canvas sketch vs填充宽度
- 20. HTML 5 Canvas vs Divs滚动窗格
- 21. WebGL VS Canvas 2D硬件加速
- 22. SVG/Canvas vs Flash for FloorPlanner应用程序
- 23. CSS3 vs Canvas的文字旋转
- 24. 可下载图形 - SVG vs Canvas元素?
- 25. 对于大量行,HTML5 SVG vs Canvas?
- 26. Canvas vs标签上的图像
- 27. Android动态壁纸 - OpenGL vs Canvas
- 28. canvas vs openGL的功能是什么?
- 29. Java Swing vs HTML5 Canvas交互式动画
- 30. 动画gif vs视频vs canvas - 速度和文件大小