全部内容
Rainbow 的图表改成原生绘制,而且把收益量了出来
2026 年 10 月 17 日
Rainbow 的图表改成原生绘制,而且把收益量了出来
10 月 16 日,两处改动前后相隔两秒合入。它们并不独立:第二处是叠在第一处之上的。两者说的是同一件事——图表的速度。
做了什么
- 三种图表改用原生绘制。 改动 #7823 把 K 线、Polymarket 和迷你走势图挪到了一种新的绘制方式上:图像直接送进原生组件,绕开 React 这一层。十一个文件:新增 419 行,删除 831 行。
- 一整个 hook 被砍掉了。
useWorkletClass 解决的是一个不显眼的问题:Reanimated 的 worklet 拿不住普通对象,于是实例要在界面侧创建,再存进共享值里。如今生命周期由组件自己管,这个 hook 也就多余了——删掉 61 行。
- K 线图另外做了清理。 改动 #7828 叠在第一处之上。它的核心是稳定的蜡烛序号。过去加载更早的历史时图表会跑位,于是用「延迟修正偏移」外加一份跟踪它的状态来打补丁。现在序号不会因为加载历史而变,这一整套机制连同它的起因一起消失了。
作者自己附上的实测
这在代码请求里很少见:通常只写一句「变快了」就打住。
- 完整重绘——1.183 → 0.513 毫秒,减少 57%
- 一千根蜡烛带指标——1.942 → 1.286 毫秒,减少 34%
- 每次重绘的内存——111 → 33 KB,减少 70%
这件事不寻常在哪
两处改动合起来删掉 1311 行、新增 792 行,净减 519 行。速度通常要用更复杂的代码去换;这里正好相反,原因在于收益来自换掉绘制的路子,而不是在旧路子上拧螺丝。
对用户来说,这意味着拖动和缩放时图表跟手——在永续合约里、在代币卡片里、在 Polymarket 的市场里。手机越弱,差别越明显。
应用里有了吗
还没有。最新发布的版本是 10 月 8 日的 2.0.46,而这两处改动是 16 日合入的。它们会出现在哪个版本里,Rainbow 不会提前公布。
钱包代码里正在发生什么变化:rnbw.wiki/pulse
$RNBW #RNBW