1. Huge Memory Hog....
- Posted by Euman <euman at bellsouth.net> Mar 08, 2001
- 372 views
I wanted to include images in my program, use createDIB then BitBlit the images to screen, I spent a fort night prepareing this and am very dissapointed in the memory consumed by this operation. There are many images I have to use in this program and would like to compile these into the main .exe also shrouding the user from the images. I used incbm.e and instead of nameing the images as constant data I changed these to objects so as to zero the sequence after createDIB is called. I used UPX to compress the compiled .exe which resulted in a 190k file, but when run, the program consumed @50meg of RAM. (highly unexceptable) I hope that someone would explain why 225k uncompressed included images would HOG this much RAM. "I used LoadBitmapfromFile and the memory consumption was @ 1meg RAM so I know its not my codeing scheme that's the HOG here." I hoped to share the same palette amongst the images and have designed them with the same. however, createDIB hasn't a method to retrieve the initial palette. I think this could shave a few megs consumption but, not sure. Derek P said he'd look into this because I failed. Would David Cuny's resource.e work to include .bmp's with the translator and if you have a working example how this works, I would appreciate the info. ANY SUGGESTIONs, PLEASE! Euman
2. Re: Huge Memory Hog....
- Posted by graemeburke at CROSSWINDS.NET Mar 09, 2001
- 372 views
At 06:08 8/03/01 -0800, you wrote: >I wanted to include images in my program, use createDIB then BitBlit >the images to screen, I spent a fort night prepareing this and am >very dissapointed in the memory consumed by this operation. > >There are many images I have to use in this program and would like to >compile these into the main .exe also shrouding the user from the images. > >I used incbm.e and instead of nameing the images as constant data >I changed these to objects so as to zero the sequence after createDIB >is called. > >I used UPX to compress the compiled .exe which resulted in a 190k file, >but when run, the program consumed @50meg of RAM. (highly unexceptable) > >I hope that someone would explain why 225k uncompressed included images >would HOG this much RAM. The images shouldn't take up more than a meg or 2... unless they're all 2 color bitmaps. A 2 color bitmap only uses 1 bit per pixel, All eu bitmaps housed in sequences use an atom per pixel, regardless. The incbm source data shouldn't take up any more memory than it does space in your source code. AFAIK freeing the sequences will free the memory for your prog, but won't return it to the system until the program terminates. >From this angle, maybe you should get crafty about exactly where you include the bitmaps. If you include one bitmap, then free the sequence before including the next it might help, although none of this should come close to 50MB. If you post me the source I'll try to help. Graeme.
3. Re: Huge Memory Hog....
- Posted by Euman <euman at bellsouth.net> Mar 09, 2001
- 361 views
I found the main problem, it was in a set of images that converted wrong. Starnge actually because I have several dozen images that converted just fine. The images that converted wrong are only about 1.25k yet consume 1+ meg ram each. I am useing incseq to eliminate the storage of the palette (except for the initial image which I use incbm) I am trying to figure out how they were converted wrong now. I'll get back to you. Thanks Graeme, Robert Euman ----- Original Message ----- From: <graemeburke at CROSSWINDS.NET> To: "EUforum" <EUforum at topica.com> Sent: Friday, March 09, 2001 03:38 Subject: Re: Huge Memory Hog.... | At 06:08 8/03/01 -0800, you wrote: | >I wanted to include images in my program, use createDIB then BitBlit | >the images to screen, I spent a fort night prepareing this and am | >very dissapointed in the memory consumed by this operation. | > | >There are many images I have to use in this program and would like to | >compile these into the main .exe also shrouding the user from the images. | > | >I used incbm.e and instead of nameing the images as constant data | >I changed these to objects so as to zero the sequence after createDIB | >is called. | > | >I used UPX to compress the compiled .exe which resulted in a 190k file, | >but when run, the program consumed @50meg of RAM. (highly unexceptable) | > | >I hope that someone would explain why 225k uncompressed included images | >would HOG this much RAM. | | | | The images shouldn't take up more than a meg or 2... unless they're | all 2 color bitmaps. | A 2 color bitmap only uses 1 bit per pixel, All eu bitmaps housed in | sequences use an atom per pixel, regardless. | | The incbm source data shouldn't take up any more memory than it does | space in your source code. | | AFAIK freeing the sequences will free the memory for your prog, but | won't return it to the system until the program terminates. | | >From this angle, maybe you should get crafty about exactly where you | include the bitmaps. If you include one bitmap, then free the sequence | before including the next it might help, although none of this should | come close to 50MB. | | If you post me the source I'll try to help. | | | Graeme. | | | |