-
Notifications
You must be signed in to change notification settings - Fork 304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
canvas bas pr #87
Comments
嗯,去年就发现了那个canvas版。其实基于CCL二次开发的canvas版实现有好几个。。。 看了一下可变大小canvas实现挺高端!我猜是因为直接在大canvas上画图的话太大了可能硬件加速会失败,然后操作可能比较慢?我见过的别的用固定canvas舞台的主要是每个弹幕有一个绘图context缓存这个弹幕的信息,然后运行的时候直接copy到主舞台。不过其实canvas主要就是这种奇怪的case好多不好处理,不同设备也有一些奇怪的表现。 主库一直没加上canvas实现的主要问题是因为高度测量的边角case。目前那个measureText并不能给出字体高度,然后pixel height又不是很靠谱(中文的话应该还可以,别的复杂一些的字体和文字很容易坑)。第二点是自己需要处理换行啊之类的,略烦。据说 HTML5 Canvas Spec 要加字体高度信息了,应该会好不少。 BAS目前没有实现计划,毕竟 B站新的BAS也是基于JS写了个parser+把BAS给interpret成JS,技术上去重新搞没啥意思(坐等B站自己开源?)。由于CCL这个代码部分是插入的plugin,所以如果有人实现了也可以很容易的用。 其次是,我不是很喜欢他们的设计。新的BAS比原来代码语言灵活度差了很多,着重点还是在按钮之类的互动单元(对于CCL还原高级弹幕的目标没啥用)。而且没有解决任何原来语言的缺点(代码弹幕没法跟时间轴同步,效果无法硬件加速等等。这里一部分由第三方那个Akari库 长远上,CCL可能会采用类似的非eval自己parse的语言。新的语言应该还是基于 KagerouEngine 所以基本设计跟现在一样,是开web worker然后给host发指令。估计要是真的实现,只会做CCL自有的一个版本,专门面向解决高级弹幕的问题(感兴趣的话欢迎到 这里 填坑!)。至于是新的语言是否可以无转换包容 BAS 或者跟现在这个 biliscript 那样有足够程度的兼容性就不知道了。 PR随时都是欢迎的,不过这个库也是很老的码了,当初都是为了还原老B站播放器神弹幕的。现在大部分搞弹幕的都不太在乎高级弹幕,更不在乎代码弹幕。CCL 相比别的 API 长得比较现代的库来讲没什么优势(参考比如这种 )。恐怕搞了新的功能,大抵也没啥人会用 233333 |
另外吐槽一下,明明BAS应该是“比以前安全”的脚本语言,毕竟整个语言都是自己写的解析器。但是看一下issues就能发现都是好多初级BUG和漏洞,完全没考虑过做好安全的,实在是无法直视。 |
canvas相关的话 自己写文本解析器不是应该坑最多了么ww |
浏览器绘图始终还是不行,现在给浏览器干的事情太多了,真的是根本忙不过来 |
另外dplayer我感觉是,目标是模仿yt,但是细节还没模仿到位,就会有一种很微妙的感觉 |
哦对,BAS有这个实现(虽然已经不搞了):https://github.com/hozuki/sebas |
好用就是啦~。。。我就不说有多少人问过 “欸,CCL怎么设置视频地址” 这种类的问题了。。。而且感觉比我那个为了demo CCL做得ABP强的还是(其实是先有的ABP。。) |
感觉过了好久没在这边看过了
我去年年初的时候自己xjb写了个canvas,瞎改了改有了一个有些问题的版本(?)
其实有点合并进来的想法,但是刚才大概翻了下commit好像框架改了一些
一个问题就是我的实现不算是非常高性能,最初我是用全stage大小的画布的,但是觉得我电脑上全屏时性能不足结果换成了一个变高度的画布,然后分开了mode1和mode4 5
(具体看一下实现大概就能懂我在说什么了,av2615953 - P1)
另外我还看到过滤器已经变成内置了?(我还用的是自己实现的,更新的话估计就得迁移配置了)
然后就是bas,这个有实现的计划吗?
虽然总感觉现在弹幕站周围的开发圈都渐渐退了
大概就这么些吧,开始搞合并的话我可能就要很多的麻烦你了(逃)
The text was updated successfully, but these errors were encountered: