内存注意事项
大量消耗内存将会影响应用性能。
要实现最优性能,需了解每个趋势对象可能消耗的内存:
- 趋势内存被消耗且未在应用启动时进行分配。
- 仅为实时趋势缓存额外的趋势数据。如果应用程序使用数据记录功能,请不要进行缓冲。数据记录将充当缓冲区。
- 该趋势必须链接到历史趋势的趋势对象属性对话框笔选项卡中的数据记录模型。
- 请不要长时间显示趋势。根据 X 轴的时间范围,趋势消耗的内存可能会超过可用内存。
- 趋势对象在 32 Mb Windows CE 进程限制内运行。如果达到 32 Mb 的限制,则额外 RAM 将不起作用。
- 设置额外数据缓冲区,使其低于最大理论缓冲的 32,767 个记录。如果配置趋势笔具有缓冲 32767 条记录的最大缓冲区尺寸,则将消耗终端上的全部已分配的程序存储区大约几个小时,从而导致内存不足错误。
- 绘制单个数据点需要消耗 58 字节内存。缓冲过多的额外数据或者将 X 轴的时间范围设置过高(小时、天),都会消耗额外的内存。要计算趋势对象所使用的内存量,请参阅下表。单个趋势对象运行时内存消耗(公式)示例(4 支笔,X 轴为 15 小时,刷新率为 1 秒钟,缓冲区大小为 10,000)实时趋势笔的支数 * 58 字节 * 趋势刷新率(每秒钟的条目数) * X 轴(秒数)4 支笔 * 58 字节 * 1 个条目/秒 * 15 小时 * 3600 秒 = ~12.5 Mb 用量其他趋势缓冲数据58 字节 * 笔的支数 * 缓冲区大小58 字节 * 4 支笔 * 10,000 = ~2.3 Mb内存消耗总量(笔的支数 * 58 字节 * 趋势刷新率(每秒条目数) * X 轴(秒数))+(58 字节 * 笔的支数 * 缓冲区大小)12.5 Mb + 2.3 Mb = ~14.3 Mb 用量
提供反馈