lyc_home 发表于 2024-9-20 10:05:07

C1flexChart曲线显示速度慢

当数据量大时,如超过100个点,曲线展示速度会非常慢,我们做数据采集,数据量比较大(几千个点以上),速度如何提升?

Richard.Ma 发表于 2024-9-20 18:04:40

可以设置RenderMode为DirectX来提高性能

flexChart1.RenderMode= RenderMode.DirectX

lyc_home 发表于 2024-9-22 19:34:15

本帖最后由 lyc_home 于 2024-9-22 19:37 编辑

flexChart1.RenderMode= RenderMode.DirectX,加上这句速度也没提升

主要代码如下,请给测试下:


flexChart1.DataSource = GetCurveData();

public DataTable GetCurveData()
      {
            Random random = new Random();
            DateTime dTime = DateTime.Now;

            // 创建一个DataTable并填充数据
            DataTable dt = new DataTable();
            dt.Columns.Add("DataTime", typeof(string));
            dt.Columns.Add("Sales1", typeof(int));
            dt.Columns.Add("Sales2", typeof(int));
            dt.Columns.Add("Sales3", typeof(int));
            dt.Columns.Add("Sales4", typeof(int));

            for (int i = 0; i < 500; i++)
            {
                // 获取随机整数
                int randomInt1 = random.Next(65);
                int randomInt2 = random.Next(65);
                int randomInt3 = random.Next(65);
                int randomInt4 = random.Next(65);

                dTime = DateTime.Now;
                dt.Rows.Add(dTime.ToString("yyyy-MM-dd HH:mm:ss"), randomInt1, randomInt2, randomInt3, randomInt4);
            }
            return dt;
      }




Richard.Ma 发表于 2024-9-23 14:21:23

你现在渲染的时间用了多久,预期是想要达到多快

从你给的数据来看数据量并不大,应该是感知不到什么速度慢的

lyc_home 发表于 2024-9-23 14:47:21

预计别超过3秒,超过3秒就会感到很慢。
我给你发的测试是500条记录,7秒才能出来,1000条12秒,2000条25秒,你可以测试下速度

Richard.Ma 发表于 2024-9-23 18:25:47

我测试下来只需要30ms,你还是给一个完整的demo

lyc_home 发表于 2024-9-24 14:57:24

demo见附件,请给测试下速度,谢谢

Richard.Ma 发表于 2024-9-24 15:06:49

你发过来的也没有看到任何的卡顿,参考下面的动画,非常流畅。更没有你说的7s 的情况







lyc_home 发表于 2024-9-24 15:26:19

我这版本是20193.1.11,是版本的原因?我这测试的14秒才出来,见附件录像

lyc_home 发表于 2024-9-24 15:31:10

刚发现一个现象,用VS代码直接运行速度很慢14秒才出来,编译好后用 exe 程序运行速度挺快,和你发的视频速度差不多,你是用VS启动运行的还是exe运行的? 为什么用VS代码运行速度这么慢?
页: [1] 2
查看完整版本: C1flexChart曲线显示速度慢