发布时间 : 2021-09-22 15:26:32.440|阅读 99 次
概述:此示例对使用旧 V1 和新 V2 报告引擎时的内存消耗进行了比较。让我们使用复杂的 Master-Detail 报告进行比较。每次构建后,您可以调用垃圾收集器并查看内存消耗:
相关链接:
Stimulsoft Ultimate是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。
Stimulsoft Reports不仅拥有强大的报表导出系统,而且还支持多种报表导出格式,拥有简单且强大的报表引擎。Stimulsoft Reports基本原则是,用简单常规的方法创建报表,将不同的技术应用于应用程序。Stimulsoft Reports .NET一个基于.NET框架的报表生成器,能够帮助你创建结构、功能丰富的报表。不仅界面友好,而且使用便捷,能够让你轻松创建所有报表。
点击下载Stimulsoft Reports .NET v2021.3.1最新版
此示例对使用旧 V1 和新 V2 报告引擎时的内存消耗进行了比较。让我们使用复杂的 Master-Detail 报告进行比较。每次构建后,您可以调用垃圾收集器并查看内存消耗:
public Form1() { InitializeComponent(); var data = new DataSet(); data.ReadXmlSchema("..\\..\\Data\\Demo.xsd"); data.ReadXml("..\\..\\Data\\Demo.xml"); using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("MemoryTest.Master-Detail-Subdetail.mrt")) { report1.RegData(data); report1.Load(stream); report1.EngineVersion = Stimulsoft.Report.Engine.StiEngineVersion.EngineV1; report1.Compile(); } using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("MemoryTest.Master-Detail-Subdetail.mrt")) { report2.RegData(data); report2.Load(stream); report2.EngineVersion = Stimulsoft.Report.Engine.StiEngineVersion.EngineV2; report2.Compile(); } } private void button1_Click(object sender, EventArgs e) { report1.Render(); } private void button2_Click(object sender, EventArgs e) { report2.Render(); } private void button3_Click(object sender, EventArgs e) { report1.RenderedPages.Clear(); GC.Collect(); GC.Collect(); GC.Collect(); } private void button4_Click(object sender, EventArgs e) { report2.RenderedPages.Clear(); GC.Collect(); GC.Collect(); GC.Collect(); }在下面的屏幕截图中,您可以看到示例代码的结果: