efegea
Active Member
But the Pandora will be released before Autumm..Tom Cooksey said:The OpenGL ES integration will be released as part of 4.5.0 which I believe is currently slated for Autumn.
Last edited by a moderator:
But the Pandora will be released before Autumm..Tom Cooksey said:The OpenGL ES integration will be released as part of 4.5.0 which I believe is currently slated for Autumn.
Ok, how you were talking I assumed you were creating a graphical launcher, not a command line program.Tom Cooksey said:The launcher I'm thinking about would be a command line program where you pass it the path to the game you want to execute.
Well?atomicthumbs said:No, let me find the post.
Orkie said:Well?atomicthumbs said:No, let me find the post.
wait, school intrudes
Edit:
I was mistaken. Apparently my memory got confused and "interface like the EEE" became "EEE's interface" by mixing with a few other posts from the massive topic, which associated in my mind to "KDE" because the EEE's interface is based on KDE, which uses QT.
Whoops. My mind works in strange ways.
Squidge said:Ok, how you were talking I assumed you were creating a graphical launcher, not a command line program.Tom Cooksey said:The launcher I'm thinking about would be a command line program where you pass it the path to the game you want to execute.
I was thinking of a command-line launcher which was launched by a graphical one - but now you mention it, you might as well stick the logic in the graphical launcher. Qtopia ships with a launcher, but I think it's designed with phones/PDAs in mind. I'm sure we can do something much nicer with the much higher resolution LCD on the Pandora.
QUOTE
I wanna be able to use the entire 128MB of RAM. How much ram will Qtopia consume and is there is option to dump the entire OS memory on fullscreen apps and then reload when the application is exited?
What your basically talking about is swap. The inactive process's memory is flushed to disk to allow an active process to use as much RAM as possible.
The problem is where you want to dump it to. The only place you have on the pandora is flash memory and using flash as swap space wares it out. What I think you could do instead (and I think Qtopia supports this) is terminate all the GUI applications asking them to save their state. When the game ends, the GUI applications are re-launched and told to restore their state. The the applications still need to save their state somewhere, which again will eventually ware out the flash.
Qtopia's memory usage varies depending on what applications you have running. But, as an indication, the padnavigator example uses 27MB on my x86 debug build. Now that seems a lot, but you have to remember that includes all the qt libraries loaded into memory and the complete windowing system running too. Qt/Embedded uses an in-process window system, so the first application to be launched acts as the "server". If you compare memory usage to X, you have to add the amount of memory the X server and the window manager is using.
Yes, it does seem like a lot considering the fact that the GP2X X server uses 5-6MB RAM and something like IceWM would never use more than 2MB extra. Using a lot of RAM doesn't concern me - it is meant to be used after all, but what are load times going to be like for huge a huge application? Does it stand any chance whatsoever of beating a lightweight X setup?Tom Cooksey said:Qtopia's memory usage varies depending on what applications you have running. But, as an indication, the padnavigator example uses 27MB on my x86 debug build. Now that seems a lot, but you have to remember that includes all the qt libraries loaded into memory and the complete windowing system running too. Qt/Embedded uses an in-process window system, so the first application to be launched acts as the "server". If you compare memory usage to X, you have to add the amount of memory the X server and the window manager is using.
Hum Qt is C++, that says a lot about memory footprintOrkie said:Yes, it does seem like a lot considering the fact that the GP2X X server uses 5-6MB RAM and something like IceWM would never use more than 2MB extra. Using a lot of RAM doesn't concern me - it is meant to be used after all, but what are load times going to be like for huge a huge application? Does it stand any chance whatsoever of beating a lightweight X setup?
So that's 8 MB of ram used by X server and window manager. Then you have the client application, plus the libraries it links against like gtk+, cairo, pango, xlib, etc. Compile all that with debug symbols and I'm sure it would come to more than 27MB.Orkie said:Yes, it does seem like a lot considering the fact that the GP2X X server uses 5-6MB RAM and something like IceWM would never use more than 2MB extra.
Well most of the memory is taken up by the libraries. As they are shared libraries they don't need to be loaded again. Doing a pmap -d on that pad navigator, I see that the actual executable code is only using 108 KB (I've trimmed out everything < 100K from the output):Orkie said:Using a lot of RAM doesn't concern me - it is meant to be used after all, but what are load times going to be like for huge a huge application? Does it stand any chance whatsoever of beating a lightweight X setup?
Tom Cooksey said:So that's 8 MB of ram used by X server and window manager. Then you have the client application, plus the libraries it links against like gtk+, cairo, pango, xlib, etc. Compile all that with debug symbols and I'm sure it would come to more than 27MB.
Debug symbols are not loaded (unless you debug of course ), so are they really relevant to the discussion?
Good point!Laurent said:Debug symbols are not loaded (unless you debug of course ), so are they really relevant to the discussion?
Any reason you couldn't dump it to an SD card? I'm not really familiar with how Linux handles swap space. Does it need an actual partition, or could you use a swap file? Is it beyond the realm of possibility to allow users to create a file called "pandora.swap" or something on one or all of their SD cards, have the system check for the presence of that file, and use it if it's there? The file would have to be at least 128MB to contain a complete RAM image, but you could make it as big as you want for programs that might need more virtual memory. Considering most people will be using 2-8GB SD cards, 128MB is a small amount of overhead.Tom Cooksey said:What your basically talking about is swap. The inactive process's memory is flushed to disk to allow an active process to use as much RAM as possible.
The problem is where you want to dump it to. The only place you have on the pandora is flash memory and using flash as swap space wares it out.
Tom Cooksey said:So that's 8 MB of ram used by X server and window manager. Then you have the client application, plus the libraries it links against like gtk+, cairo, pango, xlib, etc. Compile all that with debug symbols and I'm sure it would come to more than 27MB.
Yeah, I'd love to see the comparison break-down! Does the GTK+ based application use Pango & Cairo?Parkydr said:I'm running the X server with a GTK based client application on the GP2X (but statically linked), so it can't be using much more than 27MB or the GP2X would run out of memory.
I'll check the actual figures.
Not at all. In fact, GPE on the GP2X recommends the usage of such a swap file. Many people here would moan about it shortening the life of your SD, but I personally don't think it makes enough of a difference that you wouldn't want to replace your SD anyway purely due to space reasons by the time it died. However, it won't really be of much use in reality because swap is generally very slow (all it'll do is stop the machine running out of memory entirely and start playing up).Chip said:Is it beyond the realm of possibility to allow users to create a file called "pandora.swap" or something on one or all of their SD cards, have the system check for the presence of that file, and use it if it's there?
I've actually changed my mind now . My 8MB value was based on an old statically linked X server. Dynamically linked, it is only 3MB, including the required X libs loaded, which would give about 5MB usage for a basic setup. Of course, many GUI toolkits (like Qt and GTK+, which are massively overblown for most uses) take up lots of RAM, but I'm sure there are others that the authors Pandora-specific applications may be able to use also. I do realise Qt is not just GUI functions however (though neither is GTK+).Tom Cooksey said:So that's 8 MB of ram used by X server and window manager. Then you have the client application, plus the libraries it links against like gtk+, cairo, pango, xlib, etc. Compile all that with debug symbols and I'm sure it would come to more than 27MB.
It's FBReader and uses both Pango and Cairo.Tom Cooksey said:Yeah, I'd love to see the comparison break-down! Does the GTK+ based application use Pango & Cairo?
Someone did the math a while back on the modern flash devices. Yes, you don't want to continually write to the thing. No, it's not as bad as people thinks it is- unless you're using crap parts, and then you're on your own. A SSD, SD, or CF under heavy usage will last at least 3-5 years before failing under continuous writing, esp. if you don't constrain the filesystem to a small part of the flash device.Orkie said:Not at all. In fact, GPE on the GP2X recommends the usage of such a swap file. Many people here would moan about it shortening the life of your SD, but I personally don't think it makes enough of a difference that you wouldn't want to replace your SD anyway purely due to space reasons by the time it died. However, it won't really be of much use in reality because swap is generally very slow (all it'll do is stop the machine running out of memory entirely and start playing up).
Parkydr said:It's FBReader and uses both Pango and Cairo.Tom Cooksey said:Yeah, I'd love to see the comparison break-down! Does the GTK+ based application use Pango & Cairo?
Perfect! Please post the output of pmap -d on it, I'm dying to see the difference!