0

我想通过商业软件包监控模拟过程。该商业软件提供了 C API 接口,该接口具有用于进程的初始化回调函数以及在模拟过程的每个步骤中执行的回调函数。在每个步骤中,我想监视/绘制回调函数中可用的大约 10 个浮点值。我计划使用诸如 LightningChart、http://www.arction.com/之类的绘图工具来监控和查看值。我将使用 C++/CLI 包装器在更新图表的每个步骤中调用 .NET 图表库。

我已经创建了一个简单的 dll,利用 API 回调函数将值输出到一个文本文件,完成后我将在该文件中执行绘图和分析。虽然我的目标是实时查看数据。

我的问题是,如何在模拟过程初始化回调中调用一个在整个过程中保持不变的表单,并且我可以在每个步骤中进行更新。此外,存储过程参数值的理想数据结构是什么?当使用 C++ 将数据值写入带有回调函数的文本文件时,我的 i7 处理器上的速度约为每秒 1700 步。在不使用 API 和回调函数存储数据的情况下,模拟速度约为每秒 4000 步。我显然希望在绘制实时数据时这会显着变慢,这是可以接受的。有什么想法吗?

4

1 回答 1

0

当您打算绘制实时数据时,我建议您使用内存映射文件在模拟过程和回调函数之间共享数据。这将比在物理文件上执行 I/O 操作更快,并且您将能够共享数据。在初始化函数中,您可以创建表单并使用内存映射文件从回调中更新其上的值。这里有一些关于内存映射文件的链接link1 link2

于 2013-01-03T06:27:02.950 回答