找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] 内存溢出问题

leadcom
论坛元老   /  发表于:2015-10-14 15:17:00
11#
按需加载只是暂时解决打开文件的问题,但是我需要对每一张图片进行编辑,编辑时会涉及到撤销重做的功能,撤销就会记录上当前图片的上一张图片信息,并开把这信息压到堆栈中,如此,最终还是会出现内存溢出的情况,这不是最终有效的一个解决办法。。。
还望能提供出最好的解决方案。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-10-14 18:04:00
12#
回复 11楼leadcom的帖子

问题已经查收,明天会和您电话沟通这个问题。
回复 使用道具 举报
imp1212
初级会员   /  发表于:2015-11-4 13:25:00
13#
请问问题解决了吗?我在使用过程中出现了类似问题
回复 使用道具 举报
AvoCaDolol活字格认证 Wyn认证
社区贡献组   /  发表于:2015-11-4 15:58:00
14#
回复 13楼imp1212的帖子

您好,如果您也遇到类似的问题,请您将您的测试程序发到论坛上以便于我帮您查找问题原因。
回复 使用道具 举报
AvoCaDolol活字格认证 Wyn认证
社区贡献组   /  发表于:2015-11-4 16:06:00
15#
回复 11楼leadcom的帖子

您好,昨天已经和厂商沟通过了,图片大小会占用内存,
我们来计算一下每个图片所占用的内存:
计算公式:Width x Height x Bytes per Pixel = 占用内存大小
每页A4扫描件300dpi大小约为2479 x 3508的宽高,彩色扫描的话是24bit/每像素
2479 x 3508 x 24 bits per pixel / 8 bits per byte = 26,088,996 或者26 MB 每页。
假设PDF中有163页,所以将会占用:26MB X 163 = 4,252,506,348 bytes 也就是4.25 GB.
一个Win32应用程序最大只能使用2^32 bytes  内存也就是4.29 GB.
这个应用程序自己也会占用内存,你可以发现这个程序会占用能够使用的所有内存。
所以当您需要打开一个超过140页的PDF时,32位系统的内存会被全部占用,多于这个页数会导致内存不足。

一次性打开这么多图片放到内存中,快速固然是一方面,但如果您想要打开上百张图片的话,内存会成为瓶颈。
解决方法有两种:一种是将32位程序变为64位,这样可以使用更多的内存。
一种是按需加载,就是当前用户选择文档中的某个页面时只加载这个页面,处理完成后释放并加载其他页面。

当然您说的我也理解,您需要撤销操作,并且保存操作是整个PDF文档的保存,而不是单页保存。但物理内存限制了这样使用。
另外您也提到能否放到本地磁盘来做这件事,是可以的,但由于引入了IO操作所以性能会直线下降。不建议采用。

以上如果您有任何问题,请随时跟帖回复。
回复 使用道具 举报
leadcom
论坛元老   /  发表于:2015-11-5 10:38:00
16#
我目前采用的就是以逐个加载的方式去处理的,但问题是如果一个有300页300dpi的pdf或tiff文件,逐个加载到最后还是会存在内存溢出的情况,因为你已经把所有的图片加载进来了,只不过是一个先后的问题。前面所打开的文件不能够从内存过清除,因为随时有可能会进行再次操作。
1.我想能不能在加载图片的过程中采用压缩的方式进行加载,如26M的图片压缩打开后可能只有16M,这样的话就会大大优化。有没有这样式处理方式呢?
2.在rasterdefaults中的MemoryFlags属性提供了对内存的使用方式。经测试只能设置成Conventional和Disk两种方式。其它的Compressed、NoDisk、SuperCompressed、User...等方式都设置无效。这另外几种方式该如何使用呢?
回复 使用道具 举报
AvoCaDolol活字格认证 Wyn认证
社区贡献组   /  发表于:2015-11-5 21:08:00
17#
您好,压缩的方式的话,性能会受影像,不建议采用。
还是我之前推荐您的,进行动态加载比较好。
回复 使用道具 举报
imp1212
初级会员   /  发表于:2015-11-11 14:17:00
18#
回复 14楼AvoCaDolol的帖子

我的问题在这个帖子了啦,现在还在处理中啦
循环调用读取条码
http://gcdn.gcpowertools.com.cn/showtopic-19201.html
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-11-11 15:48:00
19#
回复 18楼imp1212的帖子

收到,目前已经发送给厂商,已经再次发送确认邮件,有进一步消息反馈给你。
回复 使用道具 举报
Tannic
银牌会员   /  发表于:2015-12-2 16:00:00
20#

OCR 大文件PDF 内存问题 求救

回复 6楼frank.zhang的帖子



我做OCR的PDF是4.5M的(100多页),用官方自带的两个demo,其中一个也出现了类似的问题,(第三张图的官方demo就没有问题)怎么解决

本帖子中包含更多资源

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

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部