找回密码
 立即注册

QQ登录

只需一步,快速开始

einnawy

注册会员

1

主题

1

帖子

15

积分

注册会员

积分
15
  • 14

    金币

  • 主题

  • 帖子

最新发帖
einnawy
注册会员   /  发表于:2016-5-17 13:01  /   查看:3218  /  回复:6
本帖最后由 Lenka.Guo 于 2016-5-17 17:09 编辑

现在在做一个项目,需要在后台连接打印机自动打印报表。

以前使用Activereport3.0开发过此功能,当时的运行环境如下:
Win7, .Net FrameWork1.1

现在想升级到Activereport7.0,运行环境如下:
Win7,.Net FrameWork4.5

在执行代码objReport.Document.Print(False, False, False)时,原先AR3执行速度很快,但是AR7执行速度慢了很多,以相同的报表打印10页为例,AR3大约需要1秒多,AR7大约需要10秒多,请问是什么原因造成的?是否有办法缩短AR7的打印时间?


※电脑环境以及打印机都是相同的。附件是两个版本的Demo






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

6 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-5-17 15:22:03
沙发
因为涉及到老版本的打印性能问题,已将问题提交给产品研发组,产品研发组在国外,所以会有时差,最快明天上午给您答复。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-5-18 10:51:45
板凳
Lenka.Guo 发表于 2016-5-17 15:22
因为涉及到老版本的打印性能问题,已将问题提交给产品研发组,产品研发组在国外,所以会有时差,最快明天上 ...

您好,谢谢您的反馈
通过与产品组多次确认沟通,
AR7和AR3 打印性能差异产生的原因是:

AR3 的打印功能是直接通过简单的渲染Document来实现的
AR7 之后所有的版本,对打印做了改进,打印方法主要是在Viewer中实现的,这样可以支持所有的报表类型,如rpx,RDLX,RDF。所以在加载Viewer时需要耗费一些时间。


现有的解决方案是:
1. Document.Print(false,false,true)),将Print 方法的第三个参数置为 “True”
2. Document.Print(GrapeCity.Viewer.Common.PrintingSettings.UseStandardDialog);
3. Document.Print(GrapeCity.Viewer.Common.PrintingSettings.UsePrintingThread| GrapeCity.Viewer.Common.PrintingSettings.UseStandardDialog);




回复 使用道具 举报
megac
注册会员   /  发表于:2016-5-18 14:23:57
地板
多谢超版回复。

我理解是,为了保持通用性,AR7以后的版本对各种打印格式的处理,都是在Viewer中进行图形渲染,然后再把渲染后的信息发送给打印机处理。

如果渲染操作比较耗时(当然打印机也可能处理时较为耗时),那么这个问题在同等硬件条件下,是不是难以实质性的解决?

您给出的代码是建议采用异步处理进行渲染和打印的意思么。当然异步方式是一定程度上可以接受的规避方案。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-5-18 15:52:24
5#
根据您反馈的问题,提交给产品组后,产品组反馈,有很多用户都提出过类似的问题,如AR6-AR9 升级之后打印效率问题,为了快速给您答复,将其他用户已经验证的解决方案,直接分享给您。
同等硬件条件下, 产品组给出的数据是,使用AR7 打印相对会慢 6% 的时间。而这部分的改进,是为了让区域报表和页面报表都能够正常的加载、运行和打印。

上述方法,现有的解决方案就是上面所列出来的,尤其是第一种,测试是否有效,如果问题依然存在,能否提供详细的测试数据,我在这边可以及时反馈给产品组。


回复 使用道具 举报
megac
注册会员   /  发表于:2016-5-23 09:29:25
6#
实测的结果显示还是有效的。
单线程/单进程打印的性能差异如果仅在6%左右那么这个不是什么大问题,只是在某些硬件条件下比6%要明显得多。
我们这里暂时考虑用异步方式规避。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-5-23 10:18:27
7#
megac 发表于 2016-5-23 09:29
实测的结果显示还是有效的。
单线程/单进程打印的性能差异如果仅在6%左右那么这个不是什么大问题,只是在 ...

好的,有效果就好,给您带来不便非常抱歉。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部