惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Securelist
C
Cybersecurity and Infrastructure Security Agency CISA
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Security Affairs
Hacker News: Ask HN
Hacker News: Ask HN
L
Lohrmann on Cybersecurity
PCI Perspectives
PCI Perspectives
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cyber Attacks, Cyber Crime and Cyber Security
Recent Commits to openclaw:main
Recent Commits to openclaw:main
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MyScale Blog
MyScale Blog
月光博客
月光博客
W
WeLiveSecurity
T
Threat Research - Cisco Blogs
Martin Fowler
Martin Fowler
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recorded Future
Recorded Future
The GitHub Blog
The GitHub Blog
Webroot Blog
Webroot Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
TaoSecurity Blog
TaoSecurity Blog
P
Proofpoint News Feed
Google DeepMind News
Google DeepMind News
F
Full Disclosure
U
Unit 42
Jina AI
Jina AI
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
L
LINUX DO - 最新话题
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
The Hacker News
The Hacker News
The Last Watchdog
The Last Watchdog
T
Troy Hunt's Blog
腾讯CDC
T
Threatpost
H
Hacker News: Front Page
P
Palo Alto Networks Blog
博客园 - 聂微东
Last Week in AI
Last Week in AI
有赞技术团队
有赞技术团队
Help Net Security
Help Net Security
L
LINUX DO - 热门话题
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Spread Privacy
Spread Privacy

JavaScript

发现国内很多文章对宏任务和微任务的解释都是有问题的 - V2EX 智能香氛机小程序外包合作招募 - V2EX 分享一道 Node.js 的面试题,考察 JS 相关的最基本的掌握程度,代码完全来自官方文档 你们 js 用过双等号吗 - V2EX 有人大量建立技术文档的.cn 中文站点,并将站内 js 链接指向 cdn.jsdelivr.net.cn - V2EX 发现了两个关于 JavaScript 语言好玩的网站,让人血压升高 js 判空值 最佳实践 - V2EX 简单的图像算法为什么 AI 搞不定呢 Capacitor.JS 如何自动化最后一步流程 JSON.parse 转数字精度丢失问题 有没有前端大佬,帮我看一下这个网站底部的粒子动画怎么做的。 - V2EX 这段前端代码存在并发读取竞态的问题吗? nstr - number → string, but looks good 前端 js 播放 base64 编码的 mp3,放出来杂音很大,请教是哪里出错了? 熟悉工业计算的来,是阀门相关的企业 js 不使用 promise 完成一个 sleep 函数,必须支持 await 调用 - V2EX 小米手机澎湃系统 AutoJS 的悬浮窗在证券软件打开时就消失 - V2EX 关于 js 复制粘贴问题 求助,无法在 wixsite.com 上使用 document.write threejs 官方文档看着好难受。 - V2EX 有没有 AI 能一步一步教会伸手党如何使用业务系统? 也聊下自己最近用 copilot 写程序的心得,还要讨教下方案 javascript 继续 套壳 AI 应用类 manus 如何在移动端 h5 页面实现<Select/>搜索下拉选择框! - V2EX 吐槽一下 Trae 记忆中好像在论坛看到有款专门在 iframe 中做前端的 js 库/框架? - V2EX JavaScript 中的 Promise 跟异步有关系吗?还是我的理解有问题?谁能把 Promise 解释清楚? Promise 的正确用法应该是什么样的? - V2EX 求问,小程序的菜单栏怎么和右边的功能键垂直居中? - V2EX 自习室小程序的座位图是如何实现的(前端) - V2EX 谷歌浏览器的 bug - V2EX 为什么中小公司的前端面试官爱问 array 和 object 有多少种方法 - V2EX 有什么办法能实现 uniapp 上的离线人脸识别 本人遇到了非常奇怪的关于“注释”ctrl+/ 快捷键问题,需要大佬们指点一二。 ChatGPT 语音对话技术 求前端大佬解惑, HTML 里的文本怎么做逐行滚动? 快应用问题求助 2024 JS 生态调查结果出炉: React 遥遥领先, Vue 程序员最穷 不顾“万人联名请愿”,甲骨文拒绝放弃 JavaScript 商标所有权 2025 年,我又把前端"老古董"--AMD 给翻了出来 有使用 javascript 编写 windows cmd 批处理程序的方法吗,类似 coffescript 这样转译的东西 js 小白,请教一下为什么网页上的播放器, Chrome 控制台不能用 querySelector 直接获取到呢 自荐一个 js 通信的包 Python 代码转换为 Javascript 运算结果不一致 css 的 justify-content 等效语法? 请教一下使用油猴脚本修改 html 内容后, 样式不生效的问题 async 函数中止/task local 方案后记,V8 上的另一个可行思路 如何在前端统计用户观看视频所消耗的流量?求教啊,大神们! pdfjs 中,通过 findController 可以搜索到对应的文本信息,并且高亮出来。那么, pdfjs 有没有什么 api 可以获取搜索到的信息的位置节点 ?请教 有没有独立的同时可以 pc 移动端用的三级联动城市选择组件啊 - V2EX 字幕滚动有没有更好的方式实现
求前端高频数据绘图库 - V2EX
lzyong2019 · 2025-03-18 · via JavaScript

这是一个创建于 453 天前的主题,其中的信息可能已经有所发展或是发生改变。

背景

我正在开发一个上位机的工具,是用 tcp 进行连接的。连接完了之后我会接收到数据,格式如下:

demo:>1,2,3
demo:>5,6,7

我需要对上面的数据进行解析组成每个通道的数据(通道由每一列元素),如上所示就是有 3 个通道[1,5], [2,6], [3,7]。 然后需要实时的绘图,最大的问题是,这个连接数返回的数据很大约 1s 有 1w 行的数据量。我要怎么进行一个比较好的数据绘图呢。

第 1 条附言  ·  2025 年 3 月 19 日

就是波形图,连接之后的数据流,一直在绘制。我想过最大的容量是每个通道 50W 个点,然后用一个双端队列来存储我的数据。但是我用 echart 来绘制 感觉太卡顿了

liuhuihao

1

liuhuihao      2025 年 3 月 18 日

具体是要绘制成什么样子呢?三个柱状图,每个柱状图表示每个通道数据的数据和? 6 ,8 ,10 这样?

crysislinux

2

crysislinux      2025 年 3 月 18 日 via Android   ❤️ 1

你需要先找一个合适的采样算法,屏幕上肯定不可能全部去画的

UnluckyNinja

3

UnluckyNinja      2025 年 3 月 18 日 via Android

数据正常更新,绘图时 raf debounce 就行了,高频低频对接基本都是这个策略

fenglayting

4

fenglayting      2025 年 3 月 18 日

使用 canvas 绘制图片,每次重新绘制图片,使用 webworker 加 WebSocket 推送,数据比较大需要后端压缩,前端解压;一秒一次很慢了。。

mayli

6

mayli      2025 年 3 月 19 日

这个连接数返回的数据很大约 1s 有 1w 行的数据量

这个 1w 行是每行刷新绘制一次?那 1w fps 哪个库也做不到。
普通显示 30-60fps 就够了,你肯定要重采样,比如把 min max last avg 质量的算一下,然后 60fps 随便找个库就能做.

mayli

7

mayli      2025 年 3 月 19 日

顺便推荐个库:Dear ImGui
应该性能是够的

jifengg

8

jifengg      2025 年 3 月 19 日

我同意 @crysislinux 的建议。不管你是想“一次显示 1 万数据”,还是想“一秒闪烁过一万次数据”都不太现实。想好怎么采样。

jifengg

9

jifengg      2025 年 3 月 19 日

额,上面我说的不现实,是想着你要绘制“图表”之类的。
如果不是图表,是一些散列点,那一万个像素还是很简单的。应该主流的绘图库都可以支持

wangtian2020

10

wangtian2020      2025 年 3 月 19 日

塞进 influxdb ,绘图事儿就拜托 influxdb 了

lzyong2019

11

lzyong2019      2025 年 3 月 19 日

就是波形图,连接之后的数据流,一直在绘制。我想过最大的容量是每个通道 50W 个点,然后用一个双端队列来存储我的数据。但是我用 echart 来绘制 感觉太卡顿了

cleveryun

12

cleveryun      2025 年 3 月 19 日

你说的这个波形图,是一条曲线还是多条曲线的,如果条数有限,展示波形图的容器像素本身是有限的,100px 宽度如果是单曲线 1 万个点都塞不了,所以直接把 50w 的点稀释掉数据量就下来了。

另外这个图形本身太简单了,直接 canvas 2d 绘制妥妥的。

cleveryun

13

cleveryun      2025 年 3 月 19 日

@cleveryun 补充,稀释后的数据量不清楚 echarts 绘制起来卡不卡,你已经用 echart 的可以先试试效果,不行再 canvas 。感觉稀释后 charts 也不会卡,因为数据量不大了。1000px 宽度放 1000 个点(单条曲线的话)。

kinkin666

14

kinkin666      2025 年 3 月 19 日

大约 1s 有 1w 行,用 echarts ,简单点的话,得重新抽样,不过用 echarts 的话,采样率上不去的,可能要搞个移动平均

高级点,MDN 搜 requestAnimationFrame ,自己用 cavans 画,会按照设备的 fps 来,相当于当页面需要显示下一帧的时候,去看一下最新的数据是啥,然后画上去

Opportunity

15

Opportunity      2025 年 3 月 19 日

这个数据量 plotly 应该还能 hold 的住

kinkin666

16

kinkin666      2025 年 3 月 19 日 via iPhone

@kinkin666 觉得按 fps 的频率太琐碎的话,可以 throttle 一下,比如 10ms 搞一搞

zwenlun

17

zwenlun      2025 年 3 月 19 日

lightweight-charts
用起来挺舒服的

pigpigxia

18

pigpigxia      2025 年 3 月 19 日

等后续,之前在笔记本上用 echarts 渲染上万个数据点的图就卡,更别说按照成千上万的 FPS 来更新,重采样可能是唯一解。

okakuyang

19

okakuyang      2025 年 3 月 19 日

根本没戏,瓶颈在你解析数据这一块而不是在绘制这一块。

ilylx2008

20

ilylx2008      2025 年 3 月 19 日

没必要展示所有的数据,想方法去掉一部分。我画过 1 秒几千个的动态散点图,echarts 没问题

thevita

21

thevita      2025 年 3 月 19 日

用 C++ 写, 使用 imGUI 这样的 Immediate Mode 方式绘制, 然后编译到 wasm/webgl

UB

22

UB      2025 年 3 月 19 日

@thevita 我上面推荐的 scichart 就算使用 wasm/webgl 的,性能很不错

ttyUSB0

23

ttyUSB0      2025 年 3 月 20 日

以前用的 HighCharts ,有个 boost 组件,启用后能渲染大量数据