ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 TImageEnFolderMView - Out of Memory

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

View 
UserName:
Password:
Format  Bold Italicized Underline  Align Left Centered Align Right  Horizontal Rule  Insert Hyperlink   Browse for an image to attach to your post Browse for a zip to attach to your post Insert Code  Insert Quote Insert List
   
Message 

 

Emoji
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Black Eye [B)]
Frown [:(] Shocked [:0] Angry [:(!] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
fourwhey Posted - Feb 14 2014 : 10:18:21
When StoreType = ietNormal, ImageCacheSize = 10
If I page down or drag the scrollbox along the trough a few times, I receive an Out of memory exception in TIEFileBuffer.Map line 25806.

I've attempted to set TImageEnFolderMView.EnableImageCaching := False, but other than making thumbnails draw painfully slow, it has no impact on the occurrence of the error.

For now I've set the StoreType = ietFastThumb, but would like to have the full image available if possible.

Any ideas?

Thanks.
7   L A T E S T    R E P L I E S    (Newest First)
fourwhey Posted - Feb 18 2014 : 06:35:40
I'm able to easily reproduce the conditions that cause the error in my app but not in the demo. I'm working on trying to figure out why it's happening in one place and not the other. Maybe it's a memory leak on my part? I'm not sure what though, since I am not doing anything -- at least to my knowledge -- that might have an impact on this other than modifying the StoreType.

Thanks.

fourwhey Posted - Feb 17 2014 : 09:34:12
Nigel,

It may be the result of high memory utilization on my machine (2GB+ used of the 4GB, which only 3 is really usable since it's x86), in conjunction with ietNormal.

I'll try to reproduce the error when I have a moment.
xequte Posted - Feb 14 2014 : 19:36:00
Hi

I just ran a series of tests with over 500 3MB JPEG images and did not encounter any errors using ietNormal, though naturally speed was an issue.

If you have more detail so we can reproduce this, please advise.


Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
fourwhey Posted - Feb 14 2014 : 15:01:10
Nigel,

Thank you for responding. I agree, I don't need the full size image in the grid and can load it as needed. I switched over to this type of handling shortly after posting.

Should ietNormal not be disabled for TImageEnFolderMView? Since any folder with a large number files may result in an OOM exception.

I don't have that many, only 150 2-3MB files.

Thanks.

xequte Posted - Feb 14 2014 : 13:11:13
Hi

While you shouldn't be getting out of memory errors, the more important point from a software design standpoint is that there are relatively few situations where you want to load entire images into a thumbnail grid view as it would tie up a lot of memory for many images when in all likelihood you are only accessing the memory of one image at a time.

As Bill suggested it is usually best to use ietFastThumb and load the full image into memory (e.g. using ImageEnMView1.MIO.Params[iIndex].Filename) as required.

However if your requirements are different, let us know so we can resolve your memory error.



Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
fourwhey Posted - Feb 14 2014 : 13:09:22
William,

Thank you for the suggestion. However compiling as x64 isn't an option for me at the moment, since the application code base is still in D6. I plan to bring it up to date in the future, but unfortunately this means replacing the now deprecated Netmaster controls from circa 2000 with Indy equivalents. I wish our development schedule had time for these changes, since sometimes the D6 IDE crashes 10+ times a day.

The machine I'm working on is Win7 32bit with 4gb of ram.

I have already altered my handling to retrieve the full image using the path as you suggested.

Thanks again.
w2m Posted - Feb 14 2014 : 12:48:01
I never get out of memory exceptions here... with ietNormal even if I load 60, 18 mb. pictures. I guess it depends on your operating system, how much memory you have installed, etc... I am not sure what is causing your problem, but you could try compiling as Win64.

With ietFastThumb, you can always get access to the full image by loading the image from a file using the ImageEnMView1.MIO.Params[iIndex].Filename however.

William Miller
Adirondack Software & Graphics
Email: w2m@frontiernet.net
EBook: http://www.imageen.com/ebook/
Apprehend: http://www.frontiernet.net/~w2m/index.html