朱晨
谢谢月影,收获颇丰,带我入门。
2022-03-25
姚凯伦
学完整门课程受益匪浅,期待月影老师后面能开图形学和 webgl 方面的课程,还有能详细分享下 spritejs 是如何设计的
2020-10-18
8
草剑
2021.10.31,简单学完课程,还有很多没掌握的地方。
我将继续复习实操,成为一位优秀的可视化工程师。
2021-10-31
1
Link
1. 使用 CSS 设置样式的好处:可以将样式和节点解耦,有利于样式的模块化和复用,比如多种主题色,一键换色等。
2. 先用 SVG 生成层级关系图,再用 Canvas 来完成绘制,此时 SVG 将作为一张静态图片被绘制在 Canvas 中。和单独使用 Canvas 绘图相比,这种混合方式代码量更少,代码更加可读,易维护。
作者回复:赞~说得挺好的
2020-06-27
36
陈启年
问:“你为什么想要学习可视化呢?”
答:做为从影视行业过来的人,对影视语言和三维建模有着天然的喜好。做了好几年前端后感觉有些荒废,想着怎么样才能把他们打通、结合起来。
曾经负责一个图表库模块(要求不引入现成的图表库看),使用dom或svg加上动画感觉卡的不行,改成canvas后又苦于任意形状下判断边界。后来就使用svg卡勉强实现。
问:“你觉得在学习的过程中有什么难点?”
完全不同的技术栈听着挺吓人的,希望多些真实案例,多多加餐😄
作者回复:放心~案例和加餐都会有的,而且加餐不仅是关于可视化本身,还有一些高级的JS使用技巧,以及更加有趣的数学与图形学知识,另外也有我对技术团队管理和新技术学习的思考和感悟。绝对会让大家满意滴~
2020-06-24
4
Meow戴
canvas2d绘制出来的图形最终也是渲染到gpu中的吧,和webgl渲染到底区别在哪里,为啥webgl性能好啊,请问月影团长~~
作者回复:这个问题问得挺好的,说明自己思考了。我之前也有疑问。不过后来我自己尝试实践了一下,发现是因为canvas2d渲染只能由浏览器底层控制,并不能自己控制gpu,而很多优化其实浏览器并不能代替开发者去做。比如说同时绘制几万个小圆形,因为图形都一样,自己写webgl的话,可以用instanced drawing的方式批量绘制,而canvas2d写浏览器不会帮你去这么做。可以说webgl在渲染大量元素的时候手段要更多得多,所以性能差别就明显了。你可以看我spritejs的文档中的示例https://spritejs.org/demo 里面的benchmark子目录下的例子,里面有几个用canvas2d无法实现的case。
2020-06-23
84
宁康
学习图形化技术不仅是扩展自己在web前端方面的知识面,同时我想图形化技术学好了,以后VR和AR方面也会很有用处。
作者回复:是的~
2020-06-22
3
宁康
确实如老师所说,前端开发几年就会有瓶颈,而可视化这部分刚好是一个突破口,期待接下来的内容。
2020-06-22
7
Cailven
我从事交互开发很多年,曾经从flash转型.曾经flash就非常类似于canvas2d的api,而flash在被adobe收购后也推出了类似于glsl的ALSL和stage3d来扩展gpu加速。
如果经常做游戏开发的,几乎无时无刻不在和图形学打交道,即使不接触引擎层也离不开A星等经典的寻路算法。
很高兴极客时间能推出这门和图形学相关的课程,还是月影大大的讲解。
作者回复:感谢支持~
2020-06-22
1
寻找海蓝
所以 Canvas 实际上是比 svg 更底层的API:
1. svg 本质上是 Dom,是一种具有特殊属性的 Dom,Dom的优势和缺点它都具备,我们虽然可以像操作Dom那样方便地操作Canvas,但是不得不面对Dom性能低下的事实,所以 svg 只适合低动画需求、少元素数量需求的场景。
2. Canvas 本质上是基于底层图形系统的封装,在浏览器上形成的是一张图片,但是它只提供了绘制功能,因此它非常简陋,没有事件系统意味着我们无法像操作Dom一样绑定事件,每个Dom对应着一个具体图形,而 Canvas 中只有绘图指令,并没有单个图形的概念,我们无法操作单个图形,只有一张整体的图片,也正因此Canvas任何小的改动都会导致整个画布的重绘。
因此后面月影大佬讲的内容会非常干货,中文互联网上很少有的内容,比如通过数学计算捕获Canvas中的局部图形、通过分层or局部渲染避免整体的画布重绘等等,订阅的同学捡到宝了。
2020-06-22
26
编辑推荐
包含这门课的学习路径
前端工程师
24门课程 109.3w人学习
看过的人还看了