一个优雅的 js canvas 时钟表盘

2024-08-16 11:49:17 +08:00
 kylebing

做了个 js canvas 模拟表盘的时钟,感觉不错,后续慢慢优化。

非常喜欢 iOS 时钟那样秒针平滑移动的效果,这个也是一样。

黑色:http://kylebing.cn/tools/clock-a/?theme=black
白色:http://kylebing.cn/tools/clock-a

github: https://github.com/KyleBing/animate-clock-canvas

3397 次点击
所在节点    分享创造
17 条回复
xubeiyan
2024-08-16 15:35:30 +08:00
在我的老掉牙 i7-8650U 上跑了下
CPU:告辞 GPU: 告辞
表盘不需要每帧都重绘,每帧只需要重绘三根指针就行了
caola
2024-08-16 15:40:38 +08:00
数字 3 和 9 建议旋转 90 度,4-8 数字旋转 180 度
EJW
2024-08-16 15:40:45 +08:00
丝滑,很帅
retrocode
2024-08-16 15:46:04 +08:00
@xubeiyan 我测了下 应该是你浏览器没开硬件加速, 全走 cpu 了, 不得不说这效果纯走 cpu 占的有点过于多了 i9 占用直接干到 54%, 开硬件加速就正常多了 5%左右
retrocode
2024-08-16 15:48:47 +08:00
看了下代码可以优化下, draw 函数每次连表盘都重新绘制一遍, 非常消耗性能, 没必要感觉
weixind
2024-08-16 16:05:36 +08:00
杀鸡用牛刀了。其实不用上 canvas 。
lizhenda
2024-08-16 16:30:34 +08:00
很漂亮啊
kylebing
2024-08-16 16:50:17 +08:00
谢建议,在理,等优化下
214L
2024-08-16 18:07:00 +08:00
可以做一下分层,频繁更新的元素放在一个 canvas 里。
royalknight
2024-08-16 18:36:30 +08:00
直接 css 呢?对好时间,设置个旋转的 css 动画就行了
WhateverYouLike
2024-08-16 20:04:18 +08:00
很漂亮哦😯
auvt
2024-08-16 21:02:14 +08:00
好漂亮!要是在老 kindle 上打开是不是就能旧物新用了
lisongeee
2024-08-16 21:32:43 +08:00
看起来全是矢量图形,感觉可以 css+svg 实现,不需要 canvas
kylebing
2024-08-16 22:08:43 +08:00
@auvt kindle ? 性能够不够,这个挺耗资源的。
undoing
2024-08-17 09:44:51 +08:00
是我的问题吗?怎么感觉 12 和 6 没有对齐
xiaomoxian
2024-08-18 03:14:00 +08:00
好看好看 能把别人女朋友头像放表盘吗
期待
kylebing
2024-08-18 08:08:55 +08:00
@xiaomoxian 你自己可以研究研究放上去 -.-lll

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1065466

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX