发布时间 : 2021-09-22 15:26:32.440|阅读 177 次
概述:此示例对使用旧 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();
}
在下面的屏幕截图中,您可以看到示例代码的结果:
渝ICP备12000582号-15/渝公网安备 50010702501010号