Smoothie图表实时高速数据

时间:2017-06-19 11:58:40

标签: javascript c++

我从C ++脚本获得了高速数据输出,每隔800微秒(~1.6kHz)产生一个int,我已经玩过websocketd这个运行现场直播到一个冰沙图表同一台计算机上的Web服务器。我发现使图表尽可能平滑的最佳方法是输出100个数据点的数组到websocket。在我的思慕雪javascript里面,它会拆分数组,然后在最后一个数组和这个数组之间添加任意扩展X值的数据。

'
conn.onmessage = function(evt) {
    $("#log").text("Connected");
    var arrZ = evt.data.split(',');
    newTime = new Date().getTime();
    var timeInterval = (newTime - oldTime)*0.01
    for (i=0;i<100;i++){
        timeSeries.append(oldTime, arrZ[i]);
        oldTime += timeInterval;
        }
    oldTime = new Date().getTime();};

'

数据图并不太棒,但有效。有没有其他(更快的)方式 - 架构明智 - 将这些数据传输到smoothiecharts? SmoothieCharts绘制高速数据图表
enter image description here
谢谢,

1 个答案:

答案 0 :(得分:0)

问题是,在下面,您使用的是TCP / IP数据包。每次更新时只有几位数据,这些数据包不会立即满。您的操作系统有合理的期望,等待一点可以提高带宽,因为它可以用更少的数据包标头发送相同数量的原始数据。

然而,这对你来说是适得其反。你关心延迟,而不是数据。最简单的解决方案是在数据包中填充虚拟数据。格式化和填充后,每个值应为~1500字节。