PDA

View Full Version : TPictureCollectionItem.SystemMemory



cairnswm
28-05-2003, 06:02 AM
I work on 2 PCs at the moment.

At work: Pentium III 600, with 8 MB of screen card memory (Matrox Millenium 200) about 4 years old.

At home: Pentium III 700, with a 64MB screen card about 3 years old but the screen card is about 1 year old.

When I take DelphiX programs from home to work or otherway, I have a problem with my images (DXImageList). At work the images need to be marked as SystemMemory := True; while at home all images need to be marked SystemMemory := False; The performance of the programs are heavily impacted. At work if the images are marked as SystemMemory := False my frame rate drops by 66%. While if maked as SystemMemory := True my performance at home drops by about 90%.

Can anyone give me an explanantion?

The dxg files are about 5MB in size.

fitzbean
28-05-2003, 07:12 AM
perhaps the computers have different video cards?

cairnswm
28-05-2003, 08:13 AM
They do have different screen cards. But why would system memory settings affect them? I would presume that I would always want to use the Screen Card emmory if possible - yet at work my performance is 3times higher if I use system memory instead of screen card memory...

fitzbean
28-05-2003, 04:57 PM
yea I know what you mean, unless the computer at work has a horrible 1 meg video card or something (which is possible, no?). Maybe take a look at the code behind that, perhaps there's something funky going on with DelphiX implementation of it.

cairnswm
29-05-2003, 12:41 PM
8MB at work
64MB at home

But I'm not loading images of that size - 8MB should be more than wnough for all the images being loaded onto the screen memory.

fitzbean
30-05-2003, 03:20 AM
True, but chances are the 8 meg card is just a lot slower, though I don't think loading up the video memory would affect speed. I don't know to be honest with you. Anyone?

Harry Hunt
30-05-2003, 03:30 AM
what's your screen resolution at work?
If it's 1024x768 @ 24 bpp, 2.25 megs of those 8 megs of v-ram are already used up by Windows. Also, Windows may use double-buffering so it's up to 5 megs that might be eaten up by windows already, unless your app runs in exclusive (full-screen mode).

I don't have an explanation for why SystemMemory := true makes i run faster on your work computer though. Just wanted to point out that 8 megs of Video RAM doesn't necessarily mean "8 megs of usable video ram".

cairnswm
30-05-2003, 05:50 AM
Following Harry's comment I tried to change my program to FullScreen mode and again tried SystemMemory:=True/False;
When True in Full screen mode I got a frame rate of about 25, as opposed to 1 when not full screen.
When False I get a frame rate of about 100 which is the same as when not fullscreen.

I think its wierd :)

fitzbean
30-05-2003, 04:14 PM
you think between your home and work pc it's wierd? Wait till you beta test it on 10 more computers and get 10 more results :-)