Understanding ROM/RAM Space - HD2 Windows Mobile 6.5 ROM Development

Howdy, guys. Hope one of you 'chefs' can help me get my head around this issue so I know how to approach decisions on which ROM I want.
The question I'm trying to understand is this.
If I were to create (or have made for me) a ROM with a smaller footprint (let's say maybe only 300mb), will the extra 276mb be available for user space to load programs? Or, is this a case where the ROM space is fixed and must be used; or even if unused would still not available for the system runtime or user purposes?
I ask because it would seem to me that if memory would be returned to the system for user purposes, that the leanest most lightweight ROM containing only the latest builds of WM, Manila and radios would make sense, because then the user can load whatever other utilities (footprints, compass, camera, etc.) that they want to.
It's entirely possible I'm asking for more work than it's worth, but I am curious to know, because if I'm right and that space would be made available for user purposes, I'd rather start with a 'vanilla' base and experiment with different utilities than have stuff put into the ROM that I might not want and/or would conflict with other programs that I do want.
Hope I'm making sense. Thanks in advance!

There are many different ROMs here. I've tried some of them (all right most of them) and there are roms that have many things build in and the free space is around 180 - 200MB free and on others that have only the most needed programs the free space goes up to near 300MB! As much as I know, the 512MB of ROM that is advertised is not devided by some way and the OS is part of the whole thing. So as bigger the ROM image is the less free space you have!
Correct me if I'm wrong!

A 300meg footprint is fairly hefty, the .nbh file for the rom i use is around 170Meg, Its a pretty lightweight rom that only installs the system, htc sense, and maybe a half dozen apps.
After installing maybe 10 (small) apps myself, plus opera, my 'Storage size' shows as 262.5 Meg total with 87 meg in use.
With stock roms it is down towards 160Meg total or there abouts, so just shows a cooked rom (which has sense and all the tabs) can still have at least 100meg knocked off the size by removing the extra apps.
As for RAM, that is no longer connected in any way to the rom. Not like old winmo devices where whatever space was left after install you decided how much is ram and how much is storage, no longer works like that. ROM is ROm and RAM is RAM.
If you want to utilise all that ram, look into ramdisks. I run my system, opera and IE cache from a ram disk, and it works fine.

samsamuel said:
If you want to utilise all that ram, look into ramdisks. I run my system, opera and IE cache from a ram disk, and it works fine.
Click to expand...
Click to collapse
How does that work mate?
I understand what a Ramdisk is from the olden days of MS-DOS.
Are you actually using the micro-SD slot to install your ROM, or using a portion of the SD as system memory?
What application could I use to create a Ramdisk?

samsamuel said:
A 300meg footprint is fairly hefty... stock roms it is down towards 160Meg total or there abouts, so just shows a cooked rom (which has sense and all the tabs) can still have at least 100meg knocked off the size by removing the extra apps.
Click to expand...
Click to collapse
Ok, I was just using that size as an illustration to make sure I understood the concepts.
So what you're saying is that since there is 512MB of ROM space available, whatever size the ROM image is will be loaded into user space for runtime. Just to be sure I'm on the same page, let me show it this way to be sure (again, just as an illustration):
Basic cooked ROM
512MB ROM space
-112 basic ROM image
= 400MB unused ROM space
Loaded cooked ROM
512MB ROM space
-176 basic ROM image
= 336MB unused ROM space
When the system starts that ROM is loaded to RAM...
Basic cooked ROM
448RAM
-112ROM
=336MB RAM
Loaded cooked ROM
448RAM
-176 ROM loaded image
=272MB RAM
Do I have it right? If so, then it doesn't matter whether I have the programs I want pre-loaded in ROM or install them myself, since it's going into RAM anyway, other than the convenience of not having to reaload them in the event of a hard reset.
If I'm right, what still puzzles me is why HTC would have a ROM image larger than available RAM, unless some of those programs are 'execute-in-place', in which case it would make sense to have a larger ROM image.
Sorry about the questions, I'm just trying to get my head around how it all works.

Nezbert said:
How does that work mate?
I understand what a Ramdisk is from the olden days of MS-DOS.
Are you actually using the micro-SD slot to install your ROM, or using a portion of the SD as system memory?
What application could I use to create a Ramdisk?
Click to expand...
Click to collapse
Just like the good old days, it creates a file in RAM that the system 'sees' as another memory card. (It gives it the same system image as the sd card, , , or it would, but it runs better hidden, so i run mine hidden, lol) but which runs at full RAM speed.
The system can then use that just like a seperate hard disk (i use mine for cache, as i said) and it has the added benefit that a soft reset recreates it from new, so it therefore empties your cache folders.
There is more than one way to do this on win mo, there are a few threads strewn about the xda circus, but theres one on the hd2 section by appelflap HERE and ive attached my ramdisk cab built from that thread for you to play with if you like.
When you instal the cab, it creates a 30 meg hidden disk called wramdisk (it messes with the documents tab if you leave it visible, but the system can use it in paths and such), and it sets opera cache, IE cache and system cache to use it.

@BillTheCat
The 512 meg rom space is partitioned up into (at least, not sure of the technicalities) three chunks.
One for rom, one for radio, and one for splash screen.
Splash screen is immaterial, but the radios tend to be about 25 meg, The rom itself uses up around 150 - 200, lets say 200, so total used space so far is 225, add a bit for overhead (partitioning, file system etc) and we can assume 230/240, which leaves 272 meg total storage space.
The tricky part is the 'in use'/'free' part, because some of the files in the rom, (the system files and such) run from within the rom, which is why they cant be deleted, so they dont count towards the 'in use' figure, , but some files DO, i.e the ones that you can delete, such as the lockscreens, and the button graphics.
I would be surprised if the 'in use' before you install any third party apps got much higher than 80 meg.
All this leaves a 'free' figure of around 190 meg.
I hope this helps, even if it only does a half arsed job at explaining!
EDIT - oh and as for your RAM useage figures, the thing to remember is the hard coded system files run directly from the rom, that is why theyre such a pain to extract. These ones arent copied to RAM at all. (as far as i understand it, anyway, always happy to be corrected.)

samsamuel said:
EDIT - oh and as for your RAM useage figures, the thing to remember is the hard coded system files run directly from the rom, that is why theyre such a pain to extract.
Click to expand...
Click to collapse
Ok, that's what I thought. It's kind of like what HP used to do with the x00LX series of palmtops, where DOS and the other internal applications would run in what they called 'Execute-In-Place'.
I'm asking, because I think I might want to 'hire' a chef to make a ROM for me based on my specifications, but I at least need to have a basic understanding of what the F is going on so that I don't sound like a blithering idiot when I finally talk to someone about it.
You've been most helpful - thanks so much!

** Question moved to new thread **
** Question moved to new thread **

samsamuel said:
When you instal the cab, it creates a 30 meg hidden disk called wramdisk (it messes with the documents tab if you leave it visible, but the system can use it in paths and such), and it sets opera cache, IE cache and system cache to use it.
Click to expand...
Click to collapse
Thank you, its great idea this RAM disk, i installed your cab and its visible speed difference with and without it...

BillTheCat said:
'Execute-In-Place'
Click to expand...
Click to collapse
yea thats the name I couldn't think of... the xip I think its called in cooking.

samsamuel said:
yea thats the name I couldn't think of... the xip I think its called in cooking.
Click to expand...
Click to collapse
Ok, now it's starting to make sense. If the ROM is XIP, then it makes HUGE sense to maximize that rather than consume user space.
Now that I have the concepts down, if you know of a chef for hire, let me know!

BillTheCat said:
Ok, now it's starting to make sense. If the ROM is XIP, then it makes HUGE sense to maximize that rather than consume user space.
Now that I have the concepts down, if you know of a chef for hire, let me know!
Click to expand...
Click to collapse
sorry, not me, i know nothing! i'm planning to spend the early summer figuring it out myself. alittle light reading! heh

Related

Simple questions on memory allocation

It took me a while to realize I'm confused, but it seems I'm confused about Hermes/WM5 memory allocation.
I've been using PocketPC's since PPC2000, there (and in PPC2002, PPC2003) the o/s resides in flash, and RAM is partitioned between storage and program memory. Thus, loading lots of applications to the device reduces the amount of program memory available for actually running programs. Those o/s had a slider to influence the balance of memory allocated.
Since I got my 8525 I've been assuming that it worked the same way, despite the loss of the memory slider. There have always been indications that I was wrong though - I never saw the memory balance shift, and nothing I've done seems to increase the program memory. Even removing several applications from Storage and installing them in Extended ROM didn't help. I'd LIKE to free up more program memory so apps like Mapopolis can use a LOT of it....
My Start->Settings->System->Memory page shows 56.22MB (Total) for Storage and 49.08MB (Total) for Program. When reading about the Samsung "stacked" (aka MCM) processor I realized that none of the variants listed had more than 64MB SDRAM, and 56.22+49.08 > 64!!!
It seems like either "Storage" now equals flash memory (vs volatile RAM in PPC2003 et al.) and/or there's more the 64MB of SDRAM in the Hermes or something. If all 64MB were available I'd expect more Program memory than 49MB....
I'm confused - Can someone explain or point me to an explanation of how the Hermes/WM5 allocates that SDRAM?
TIA,
Richard
Hermes has Samsung KD5657ACA-D090 chip provides 128Mb NAND Flash + 64Mb Mobile SDRAM. See here:
http://wiki.xda-developers.com/index.php?pagename=Hermes_HardwareOverview
pof said:
Hermes has Samsung KD5657ACA-D090 chip provides 128Mb NAND Flash + 64Mb Mobile SDRAM.
Click to expand...
Click to collapse
Thanks pof! That's the one I thought it was - but I'm even more confused about the allocation of the 64MB now. If all of it goes to Program, how come I only get 49MB? If it gets split, how come Storage + Program is more than 64MB?
Ugh, I'm confused
Richard
rsolomon said:
Thanks pof! That's the one I thought it was - but I'm even more confused about the allocation of the 64MB now. If all of it goes to Program, how come I only get 49MB? If it gets split, how come Storage + Program is more than 64MB?
Ugh, I'm confused
Richard
Click to expand...
Click to collapse
These sometimes confuses people...
But, the stated "Storage: 56.96" is the 128MB part, in that resides the whole OS, ExtROM etc. So in the end there is only 56.96 available for the system to use, plus the other installed programs that cuts it down to about 30MB free after a clean boot (that's just the way it is thanks to our lovely microsoft programmers <3)
The thing is that when you boot your device, the machine loads the whole OS to the running program memory and allocates some of it to important system files, that's why there is 48.80 total and then there is the rest running programs that take space, and about 30MB is free after clean boot on my device.
That's the way it has been programmed, mobile device programming is alot frustrating than on desktop PCs, so the memory handling is very important.
And don't mix those two when you said "56.22+49.08 > 64!!!", they are two separate memoryes. (56.xx being the 128 part and 49.xx being the 64 part).
Don't ask why microsoft excluded the memory allocation slider, maybe the older devices and OSs were differently programmed (memory handling).
gvoima said:
But, the stated "Storage: 56.96" is the 128MB part, in that resides the whole OS, ExtROM etc. So in the end there is only 56.96 available for the system to use, plus the other installed programs that cuts it down to about 30MB free after a clean boot (that's just the way it is thanks to our lovely microsoft programmers <3)
Click to expand...
Click to collapse
That much is logical - not all 128MB of the flash is allocated to the file system mounted as "Storage" - clearly some is for Bootloader, Radio, etc.
Are you really saying the OS and user-writable storage share a filesystem? That seems counter-intuitive to me, though presumably there are user-inaccessible flags to prevent over-writing system files. In PPC2003 there was a ROM file system and a RAM filesystem overlaid so they appeared together. You seem to be saying that in WM5 the user filesystem lives in a portion of the flash - unlike a portion of RAM as it did in PPC2000-2003.
gvoima said:
The thing is that when you boot your device, the machine loads the whole OS to the running program memory and allocates some of it to important system files, that's why there is 48.80 total
Click to expand...
Click to collapse
So you're saying WM5 hides ~16MB worth of RAM usage? Did PPC2003 execute O/S files in place then? I mean I can see that the o/s and running programs would take up space, but it's unclear to me why WM5 would report total memory lower than 64MB in that case.
TIA,
Richard
See also this thread:
http://forum.xda-developers.com/showthread.php?t=278903
Got it
pof said:
See also this thread:
http://forum.xda-developers.com/showthread.php?t=278903
Click to expand...
Click to collapse
Ok, that's got it - the MSDN blog links (that Lurker0 linked http://forum.xda-developers.com/showpost.php?p=1027392) at least squared me away. Lemme see if I can summarize my own questions:
0) Prior to WM5 most of the OS *was* eXecute In Place (XIP) - certainly on the devices I owned. Now most devices do not support XIP for most of the O/S so more RAM is used in general to compensate.
1) Prior to WM5, PocketPC "Storage" *was* in RAM (for user data), with WM5 it's ALL in flash. Thus there's no sense installing to ExtendedROM vs Storage, because you still can't free up any RAM
2) WM5 *does* hide ~15MB of RAM usage - because they want to. So "Program" really is RAM and it's just stupid that reported Total doesn't match physical Total.
I was tainted by my previous PPC exposure I guess. Half the RAM means that Mapopolis for instance will then always be slower on my WM5 device than on my PPC2003 device - half the SDRAM clock speed doesn't help here either (iPAQ 5555 vs Hermes)
Thanks all!
Richard
1. There are still reasons to use Extended ROM instead of the Storage. The Storage is required for many tasks by the OS, it is wise to keep at least some megs of it free. But, as you can read around, not everything is recomennded for installing on a flash card. Here the External ROM can be in help, adding the storage that is always accessible by OS, and is not used by other means.
2. You may call it "hide" but WM5 actually uses it. Well, the way it uses such an amount of RAM makes it hidden from the tools that calculate total available RAM. But that paging pool is a wise solution. For instance, Symbian OS 9.1 phones (S60 3rd edition, UIQ3.0) use RAM uniformly, and, as such, the same 64MB is just not enough for all (OS, built-in apps, user installed apps). WM5, employing the virtual memory, uses RAM a smarter way.
Lurker0 said:
2. You may call it "hide" but WM5 actually uses it. Well, the way it uses such an amount of RAM makes it hidden from the tools that calculate total available RAM. But that paging pool is a wise solution. For instance, Symbian OS 9.1 phones (S60 3rd edition, UIQ3.0) use RAM uniformly, and, as such, the same 64MB is just not enough for all (OS, built-in apps, user installed apps). WM5, employing the virtual memory, uses RAM a smarter way.
Click to expand...
Click to collapse
Agreed - by "hide" I simply meant not reporting it. I'd be fine with MS showing 64MB total with 14MB used - I just got thrown by showing 50MB "Total". I grok their rationale for that reporting choice, I just don't agree
As I alluded above, I have a specific target app which performed well on a PPC2003 system with 128MB of RAM and which is performing much slower on a WM5 system with 64MB RAM. Reducing the app's dataset (maps in this case) brings performance back in line, so I believe I have a memory issue. I'm running an older version of the app due to a bug which is still outstanding against the WM5-certified versions, so I'm likely not getting any help the app COULD be giving the OS. Bummer for me
On the plus side, I've learned a bunch about WM5 memory usage which I didn't know yesterday....
Thanks!
Richard

New reg-hack: MemHack. Pre-Alpha.

I fiddled around with my wm6'd hx4700 (thanks kuzuhara!) and a registry editor and found a way to make it regard SD as ram and xip from it.
This renders my device to achieve usage smooth enough i allow myself to reffer to the device as a mini-umpc^_^
For SD only atm, miniSD may or may not work depending on your devices driver. No MMC for the time being.
I sooooo hope this isn't old news
Here's to me not ****ing any of your devices up, it worked wonders for me.
P.S
IMPORTANT!
Delete the Program Files folder and reset again once you see the SD's been renamed to Program Files2.
On the next boot it'll mount as Program Files and everything will load from it.
Excuse me, my brains are stuck in google translator mode
4.11.2007
It seems i was rather in the wrong and am taking a whole new direction.
One which involves reading more carefully before i charge head into the guts of windows embedded.
Will take me a while until next post, and it might become hx4700 exclusive, but i promise you some cool stuff to come yet.
Anybody wanting to make their SD into Program Files to save space,
just start resco reg editor and change hklm\System\StorageManager\Profiles\SDMemory\Folder: Program Files.
(Originally is SD Card).
You can also try messing with it, making it into diffenent sys folders, just be careful
Mine is currently application cache (Volatile) and [email protected] Files.
(Running sweet with what i got to with the enablement of complete graphics accelaration, except for a minor hang up when returning from sleep).
Sooooooooooo...
ONLY DOWNLOAD AND APPLY THE CURRENT PATCH IF YOU KNOW WHAT YOUR'E DOING AND WANT TO GIVE BEATING ME TO IT A SHOT!
I'm hoping for a next release in a day, but not necessarily of this project but of an off-chute.
BTW, is it just me or is WM real *nix like?^^
anyone tried this ?
ranasrule said:
anyone tried this ?
Click to expand...
Click to collapse
Downloaded, but waiting to see what others think.
Want to know what it does to the SD card and device as the readme does say to move the devices contents of its program files folder to the sd card?????
downloaded it too. but i notice its his forst post.
Lol... it's my first post, sorry..
All it does is make the device call the card drive "Program Files" and set a swap file that's used as most device memory (don't worry, it's faster than most none-nand flash). i had to leave a small buffer in device memory though.
The memory file is unallocated, so just don't forget to leave 528MB free at all times.
Re-read the original post
It is and will be updated with periodic updates should they come.
I've been using it for 72 hours now.
It takes the odd reset to free up memory, but nothing worst than what we had before.
well if all thing got wrong.. anyway to revert it back?.. well ofcourse hard reset is one of it. uhmm.. lets put hardreset aside first..
well.. cant wait to test this.. i made a whole backup of my registry so if thing went wrong.. ill just restore the registry backup..
Good point doube_ofour.
Just export the StorageManager registry key before applying the changes, and if worst comes to worst restore your backed up original.
So, anybody else installed and can connect to tell the tale?
DuperMan said:
So, anybody else installed and can connect to tell the tale?
Click to expand...
Click to collapse
I made a cab with the regs and installed it But I'm still experimenting .. Nothing bad happened so far how do i know the device is faster ?!! how did you measured your device's speed ?
So let me get this straight -- it will use the microSD in my TyTN as RAM -- the icky sticky stuff I run out of because internet explorer, pocket player, and spb mobile shell grab it all for themselves?
Is there any way to specify how much of the SD card is used as RAM -- since I don't really need 1 GB of RAM on my device.
I saw your post about 558 MB free but didn't quite understand it. You also said you need the odd softreset to free memory? but why would you need to free up a few MB when you have access to hundreds?
But thanks for sharing with the community -- if this really does work out well for us, that's pretty freaking amazing.
@DuperMan
Does this hack simply make our "Storage Card" transform into "Program Files"?.. Thats it?.. cant see any speed improvement.. besides my memory usage increased by that means my device will perform slow..
My "Program Memory and Storage Memory" Stays the same as 47mb total on both memory..
Exactly Ragart!
Only it's set to use miniSD, i think you'd have to mess with it a little to make it work on miniSD... if response is good i'll make a mini version.
Remember - It's only been tested on wm6 hx4700!
double_ofour said:
@DuperMan
Does this hack simply make our "Storage Card" transform into "Program Files"?.. Thats it?.. cant see any speed improvement.. besides my memory usage increased by that means my device will perform slow..
My "Program Memory and Storage Memory" Stays the same as 47mb total on both memory..
Click to expand...
Click to collapse
in my case my program memory decreased by something around 10mb ! and I can't see any improvement in speed too ...
miniSD, hmm? Well that's the slightly-larger brother of my 1GB MicroSD. So I guess I'll just watch the thread and see others' reactions before I try anything (though I do have fullbackups)
Thanks for the quick response. So how much RAM does your hx4700 'have' now? and did you set it to 558 extra for a reason? Just curious questions from a person who doesn't understand the intricacies of reg editing
@doube_ofour:
Use it for a while, constant usage should be smoother. Did you free the space up by deleting the old Program Files as well?
Use it to surf for a while, multiple windows style, and you'll notice the difference.
Also, don't be mean to my hack Don't load it to spite, wait for each app to load and keep on starting apps without (majorly) worrying about a system crash.
@hma4:
The age old method of feel
It doesn't boost anything per say, but your device shouldn't be as compaction ridden as it was, so less mem degradation over time=more time between resets under heavy work loads. and i mean heavy. also, multi-tasking is MUCH more usable.
@ragart:
I set it to have a 512Mb paging area on the SD, plus 512kb in main for caching and another 16Mb for caching on SD, so that's a total of 528.5Mb overall mem, 16.5Mb cache and half a gig paging (good for them internet chaches etc..
i check on the registry that u have made in ur reg hack. seems like all the folders etc is the same even for a miniSD card ... so do u think it will work on miniSD too?

program memory question

Hi everyone,
am quite new to these boards, and have only just got myself a secondhand xda IIs. In the last half a yer I have owned a HTC hermes, universal & kaiser but have finally settled on the BA because the design just suits me more. So far so good- am very happy!
I am a complete noob though and having just upgraded to WM6 from WM2003SE (following the WIKI guide & wizard) I am a bit puzzled about my phomnes' memory capacity and what goes where....
Reading over the forum I have heard how the reformating of exended rom (?) etc can increase your available storage to 128mb as part of the upgrade process. This I did with the unlocker and formatting tool. But upon upgradeing it seems I have only 64mb available for storage , but 100mb for 'programs'.... I am a bit confused. To make it worse when I load programs on the phone it actually reduces the storage capacity available rather than the 'program' memory- of which I have 75mb free that I can't seem to get at!! Can anyone please tell me what I am doing wrong or else point me in the direction of where I can educate myself about this? ....I know it is a very basic question, but am a complete novice to pdas since the last 6 months so please don't flame me!!
Thanks
Think of this in desktop computer terms.
Storage == hard drive
Program memory == RAM
explanation:
programs are installed to either storage or storage card. programs run using program memory.
hey tnx, i was looking for such info too tnx m8 for the help
Thanks! Crystal clear now!
one (or so) more quetion...
Hi- quick folow up question if anyone has the time to answer...
So I understand I have 64mb storage- but in WM2003 you could allocate how much to put to RAM & how much to put to storgae right? So therefore if I had lots of apps I wanted to load onto the phone and I needed more storage I could just reallocate. Was there not a way in the whole upgrade process to allocate less than 128mb to RAM so that I have more storage? I think I missed something here. If it is safe to have less than 128mb RAM i think I may go back and do the repartitioning thing again. Some advice would be much appreciated.
If so my question is why is it recommended to have 128mb RAM- would reducing it to less than that cause the phone to run too slow under WM6?? Is there a 'safe' guideline for minimum amount of RAM to allocate? Further clarification would be greatly appreciated! (As I see it I have lost some 'storgare' capacity this way, beecause programs excluded from the WM6 rom, eg powerpoint etc , be reloaded and so eat away at my new storage of 64mb)
I think you may have missed the point: storage is flash memory, program memory is RAM. The difference is that pre-WM5 flash memory held your vanilla system, Extended ROM, and the default (for hard reset). Everything else that you customised or installed went into RAM, which was therefore split between storage of programs and data and program memory. Remember how when your battery went flat your device lost everything? That's why, and why a backup battery was needed. WM5 and later devices do not need or have backup batteries.
Since WM5 all programs and user data are stored in flash: this can make performance slower but ensures that you survive a power failure unscathed. There are ways to get round the performance issues, compressing files with UPX saves space AND time because reading a smaller file from flash is obviously quicker, and expanding it in RAM goes very fast indeed. However I would not want to overstate the performance hit that you experience working from flash.
So this is why you have lost the ability to manage the memory split - it's nothing to worry about and indeed I am very pleased because my BA now has more program memory than my Hermes.
Hope this helps!
jbn
ssjw1000 said:
Hi- quick folow up question if anyone has the time to answer...
So I understand I have 64mb storage- but in WM2003 you could allocate how much to put to RAM & how much to put to storgae right? So therefore if I had lots of apps I wanted to load onto the phone and I needed more storage I could just reallocate. Was there not a way in the whole upgrade process to allocate less than 128mb to RAM so that I have more storage? I think I missed something here. If it is safe to have less than 128mb RAM i think I may go back and do the repartitioning thing again. Some advice would be much appreciated.
If so my question is why is it recommended to have 128mb RAM- would reducing it to less than that cause the phone to run too slow under WM6?? Is there a 'safe' guideline for minimum amount of RAM to allocate? Further clarification would be greatly appreciated! (As I see it I have lost some 'storgare' capacity this way, beecause programs excluded from the WM6 rom, eg powerpoint etc , be reloaded and so eat away at my new storage of 64mb)
Click to expand...
Click to collapse
In addition to jbn's answer above you can also use a ROM that has a RAMDISK. This takes a portion of the RAM and creates a folder that you can use as a filesystem. Many people prefer these, I do not. I use my SD card and my onboard storage and have no problems with space. If you decide to go with a RAMDISK enabled ROM beware that you will loose anything you install to that section of the filesystem if your batter and backup batter go dead. Exactly the same behavior you had with WM2003 in your BA originally.

[SOLVED] Does cooking in applications slowly slow down your ROM?

Hi
Another quick question by me... Lol, as the title says.
Thanks, again
Depends on the application. Manila sure will since it's basically always running and also adds tons of files to your file system, but other apps will not unless you are running the app actively. Ultimately, the fewer files you have in your rom, the faster it will generally perform. A stripped down rom will be faster than a bloated rom any day (all other factors being equal). Things like HTC Phone Canvas will eat up about 10MB of ram, which will also slow your device, so you could go with the WM stock dialer, but then you lose features. So, you may have to decide which is more important, features or speed.
Zeem... whe you think your quick questions were resolved please change the name of your quick question to solved
indagroove said:
Depends on the application. Manila sure will since it's basically always running and also adds tons of files to your file system, but other apps will not unless you are running the app actively. Ultimately, the fewer files you have in your rom, the faster it will generally perform. A stripped down rom will be faster than a bloated rom any day (all other factors being equal). Things like HTC Phone Canvas will eat up about 10MB of ram, which will also slow your device, so you could go with the WM stock dialer, but then you lose features. So, you may have to decide which is more important, features or speed.
Click to expand...
Click to collapse
Thanks mate That's what I was looking for.
And sure QuePPC
thanks a lot buddy
I disagree here a little.
Cooking in applications doesn't slow down the rom.
It depends on system resources the application is using.
A installed cab after is using system recources as well.
Manila is a bad example to my opinion as it's actually a system itself if you know what I mean.
I don't think lighter roms per definition will perform faster but it's the choice of applications that make the rom fast.
Laurentius26 said:
I disagree here a little.
Cooking in applications doesn't slow down the rom.
It depends on system resources the application is using.
A installed cab after is using system recources as well.
Manila is a bad example to my opinion as it's actually a system itself if you know what I mean.
I don't think lighter roms per definition will perform faster but it's the choice of applications that make the rom fast.
Click to expand...
Click to collapse
I agree with leo here. A bloated ROM will not outperform a light ROM "any day". A bloated ROM with a bunch of services or DLLs that are always loaded in RAM, will generally speaking, perform slower, but THAT's not always the case.
NRGZ28 said:
I agree with leo here. A bloated ROM will not outperform a light ROM "any day". A bloated ROM with a bunch of services or DLLs that are always loaded in RAM, will generally speaking, perform slower, but THAT's not always the case.
Click to expand...
Click to collapse
My benchmark testing of bloated roms vs stripped roms (all other factors being equal) show that bloated roms do in fact benchmark with lower scores than stripped roms. Of course there is a difference between benchmark tests and real world application.
If you don't believe me, perhaps you'll believe bepe, the genius who created the very tools we use for cooking:
http://forum.xda-developers.com/showpost.php?p=3218754&postcount=49
bepe said:
More files in the rom mean slower OS
Click to expand...
Click to collapse
indagroove said:
My benchmark testing of bloated roms vs stripped roms (all other factors being equal) show that bloated roms do in fact benchmark with lower scores than stripped roms. Of course there is a difference between benchmark tests and real world application.
If you don't believe me, perhaps you'll believe bepe, the genius who created the very tools we use for cooking:
http://forum.xda-developers.com/showpost.php?p=3218754&postcount=49
Click to expand...
Click to collapse
That was true with older devices. I'm not so sure that applies to current, modern devices which we cook for. No doubt, bepe is a smart guy, but... all the programmers I've met in my life don't really have a clue about much of anything, BUT what they do... > programming. Da_G would be one exception to that, but they're few and far between.
If I'm not mistaking cooking in a application means there's more available ram because the application is already preserved in rom.
Installing a cab after means it will use more mem as it's loaded completely in ram.
The more ram you use the slower the device.
Cooking in a application in rom shouldn't affect the speed as long as it doesn't use system recources (running the app, ram).
Probably a benchmark right after flash will tell you that the light rom is faster but what about if you start using the rom and a user needs to install cabs because of the apps he's missing?
So on the long therm a 'bloated' rom will gain more speed then the light rom because the apps are already in rom.
Maybe I'm wrong but that's how I always taught about it.
It seems to me that there are two ways to view the question posed by the OP. One is the question of whether cooking in applications slows down the rom vs installing the same applications via cab. The other is whether cooking in more applications slows down the rom assuming that you never cab install the application post flash.
In regards to the question of cooking in vs cab install, I'm not sure why you would think that cab installing would somehow permanently take up ram space, unless by "ram" you're referring to storage space. But consider the fact that with many applications you have quite a bit of initflashfiles.dat code to go along with it. Take one of the most commonly cooked in applications in roms today, Opera Mobile -- here's what my initflashfiles.dat for Opera looks like these days:
Code:
Directory("\Windows"):-Directory("Opera9")
Directory("\Windows\Opera9"):-Directory("profile")
Directory("\Windows\Opera9\profile"):-Directory("help")
Directory("\Windows\Opera9\profile\help"):-Directory("imgcss")
Directory("\Windows\Opera9\profile"):-Directory("images")
Directory("\Windows\Opera9\profile"):-Directory("jsplugins")
Directory("\Windows\Opera9\profile"):-Directory("locale")
Directory("\Windows\Opera9\profile"):-Directory("Settings")
Directory("\Windows\Opera9\profile\Settings"):-Directory("Imgs")
Directory("\Windows\Opera9\profile"):-Directory("skin")
Directory("\Windows\Opera9\profile"):-Directory("styles")
Directory("\Windows\Opera9\profile\styles"):-Directory("images")
Directory("\Windows\Opera9\profile\styles"):-Directory("user")
Directory("\Windows"):-File("Opera9.exe","\Windows\Opera9.exe")
Directory("\Windows"):-File("OperaL.exe","\Windows\OperaL.exe")
Directory("\Windows\Opera9"):-File("Opera_loading_POR_16bit_default.png","\Windows\Opera_loading_POR_16bit_default.png")
Directory("\Windows\Opera9"):-File("Opera_loading_Landscape_16bit_default.png","\Windows\Opera_loading_Landscape_16bit_default.png")
Directory("\Windows\Opera9"):-File("line.png","\Windows\line.png")
Directory("\Windows"):-File("HTC_opera.png","\Windows\HTC_opera.png")
Directory("\Windows\Opera9\profile"):-File("axobjects.ini","\Windows\axobjects.ini")
Directory("\Windows\Opera9\profile"):-File("encoding.bin","\Windows\encoding.bin")
Directory("\Windows\Opera9\profile"):-File("html40_entities.dtd","\Windows\html40_entities.dtd")
Directory("\Windows\Opera9\profile"):-File("input.ini","\Windows\input.ini")
Directory("\Windows\Opera9\profile"):-File("svg_mono.dat","\Windows\svg_mono.dat")
Directory("\Windows\Opera9\profile"):-File("svg_serif.dat","\Windows\svg_serif.dat")
Directory("\Windows\Opera9\profile"):-File("svg_ss.dat","\Windows\svg_ss.dat")
Directory("\Windows\Opera9\profile"):-File("svg-mo.dat","\Windows\svg-mo.dat")
Directory("\Windows\Opera9\profile"):-File("svg-mobd.dat","\Windows\svg-mobd.dat")
Directory("\Windows\Opera9\profile"):-File("svg-moit.dat","\Windows\svg-moit.dat")
Directory("\Windows\Opera9\profile"):-File("svg-sa.dat","\Windows\svg-sa.dat")
Directory("\Windows\Opera9\profile"):-File("svg-sabd.dat","\Windows\svg-sabd.dat")
Directory("\Windows\Opera9\profile"):-File("svg-se.dat","\Windows\svg-se.dat")
Directory("\Windows\Opera9\profile"):-File("svg-sebd.dat","\Windows\svg-sebd.dat")
Directory("\Windows\Opera9\profile"):-File("svg-ssit.dat","\Windows\svg-ssit.dat")
Directory("\Windows\Opera9\profile"):-File("browser.js","\Windows\browser.js")
Directory("\Windows\Opera9\profile"):-File("wml1_entities.dtd","\Windows\wml1_entities.dtd")
Directory("\Windows\Opera9\profile"):-File("xmlentities.ini","\Windows\xmlentities.ini")
Directory("\Windows\Opera9\profile"):-File("user.js","\Windows\user.js")
Directory("\Windows\Opera9\profile\help\imgcss"):-File("bullet.gif","\Windows\bullet.gif")
Directory("\Windows\Opera9\profile\help\imgcss"):-File("help.css","\Windows\help.css")
Directory("\Windows\Opera9\profile\help\imgcss"):-File("logo.png","\Windows\logo.png")
Directory("\Windows\Opera9\profile\help\imgcss"):-File("top_pattern.png","\Windows\top_pattern.png")
Directory("\Windows\Opera9\profile\images"):-File("arrow.png","\Windows\arrow.png")
Directory("\Windows\Opera9\profile\images"):-File("beam.png","\Windows\beam.png")
Directory("\Windows\Opera9\profile\images"):-File("blank.gif","\Windows\blank.gif")
Directory("\Windows\Opera9\profile\images"):-File("cross.png","\Windows\cross.png")
Directory("\Windows\Opera9\profile\images"):-File("delete.png","\Windows\delete.png")
Directory("\Windows\Opera9\profile\images"):-File("drive.gif","\Windows\drive.gif")
Directory("\Windows\Opera9\profile\images"):-File("error.png","\Windows\error.png")
Directory("\Windows\Opera9\profile\images"):-File("file.gif","\Windows\file.gif")
Directory("\Windows\Opera9\profile\images"):-File("folder.gif","\Windows\folder.gif")
Directory("\Windows\Opera9\profile\images"):-File("forward.png","\Windows\forward.png")
Directory("\Windows\Opera9\profile\images"):-File("hand.png","\Windows\hand.png")
Directory("\Windows\Opera9\profile\images"):-File("info.png","\Windows\info.png")
Directory("\Windows\Opera9\profile\images"):-File("link.gif","\Windows\link.gif")
Directory("\Windows\Opera9\profile\images"):-File("move.png","\Windows\move.png")
Directory("\Windows\Opera9\profile\images"):-File("oom.png","\Windows\oom.png")
Directory("\Windows\Opera9\profile\images"):-File("open.png","\Windows\open.png")
Directory("\Windows\Opera9\profile\images"):-File("opwidget.ico","\Windows\opwidget.ico")
Directory("\Windows\Opera9\profile\images"):-File("question.png","\Windows\question.png")
Directory("\Windows\Opera9\profile\images"):-File("reload.png","\Windows\reload.png")
Directory("\Windows\Opera9\profile\images"):-File("stop.png","\Windows\stop.png")
Directory("\Windows\Opera9\profile\images"):-File("trash.png","\Windows\trash.png")
Directory("\Windows\Opera9\profile\images"):-File("wait.png","\Windows\wait.png")
Directory("\Windows\Opera9\profile\images"):-File("warning.png","\Windows\warning.png")
Directory("\Windows\Opera9\profile\locale"):-File("search.ini","\Windows\search.ini")
Directory("\Windows\Opera9\profile\Settings"):-File("settings.html","\Windows\settings.html")
Directory("\Windows\Opera9\profile\Settings\Imgs"):-File("bar_closed.png","\Windows\bar_closed.png")
Directory("\Windows\Opera9\profile\Settings\Imgs"):-File("bar_open.png","\Windows\bar_open.png")
Directory("\Windows\Opera9\profile\Settings\Imgs"):-File("list_btn.png","\Windows\list_btn.png")
Directory("\Windows\Opera9\profile\Settings\Imgs"):-File("txt_fld.png","\Windows\txt_fld.png")
Directory("\Windows\Opera9\profile\skin"):-File("standard_skin.zip","\Windows\standard_skin.zip")
Directory("\Windows\Opera9\profile\styles"):-File("about.css","\Windows\about.css")
Directory("\Windows\Opera9\profile\styles"):-File("cache.css","\Windows\cache.css")
Directory("\Windows\Opera9\profile\styles"):-File("certinfo.css","\Windows\certinfo.css")
Directory("\Windows\Opera9\profile\styles"):-File("config.css","\Windows\config.css")
Directory("\Windows\Opera9\profile\styles"):-File("dir.css","\Windows\dir.css")
Directory("\Windows\Opera9\profile\styles"):-File("drives.css","\Windows\drives.css")
Directory("\Windows\Opera9\profile\styles"):-File("error.css","\Windows\error.css")
Directory("\Windows\Opera9\profile\styles"):-File("history.css","\Windows\history.css")
Directory("\Windows\Opera9\profile\styles"):-File("info.css","\Windows\info.css")
Directory("\Windows\Opera9\profile\styles"):-File("mime.css","\Windows\mime.css")
Directory("\Windows\Opera9\profile\styles"):-File("plugins.css","\Windows\plugins.css")
Directory("\Windows\Opera9\profile\styles"):-File("wml.css","\Windows\wml.css")
Directory("\Windows\Opera9\profile\styles\images"):-File("88c.png","\Windows\88c.png")
Directory("\Windows\Opera9\profile\styles\images"):-File("bar.png","\Windows\bar.png")
Directory("\Windows\Opera9\profile\styles\images"):-File("center.png","\Windows\center.png")
Directory("\Windows\Opera9\profile\styles\images"):-File("folder.gif","\Windows\folder.gif")
Directory("\Windows\Opera9\profile\styles\images"):-File("opera.png","\Windows\opera.png")
Directory("\Windows\Opera9\profile\styles\images"):-File("root.png","\Windows\root.png")
Directory("\Windows\Opera9\profile\styles\images"):-File("top.png","\Windows\top.png")
Directory("\Windows\Opera9\profile\styles\user"):-File("accessibility.css","\Windows\accessibility.css")
Directory("\Windows\Opera9\profile\styles\user"):-File("contrastbw.css","\Windows\contrastbw.css")
Directory("\Windows\Opera9\profile\styles\user"):-File("contrastwb.css","\Windows\contrastwb.css")
Directory("\Windows\Opera9\profile\styles\user"):-File("debugwithoutline.css","\Windows\debugwithoutline.css")
Directory("\Windows\Opera9\profile\styles\user"):-File("disabletables.css","\Windows\disabletables.css")
Directory("\Windows\Opera9\profile\styles\user"):-File("hidecertainsizes.css","\Windows\hidecertainsizes.css")
Directory("\Windows\Opera9\profile\styles\user"):-File("hidenonlinkimages.css","\Windows\hidenonlinkimages.css")
Directory("\Windows\Opera9\profile\styles\user"):-File("imageandlinkonly.css","\Windows\imageandlinkonly.css")
Directory("\Windows\Opera9\profile\styles\user"):-File("nostalgia.css","\Windows\nostalgia.css")
Directory("\Windows\Opera9\profile\styles\user"):-File("showstructure.css","\Windows\showstructure.css")
Directory("\Windows\Opera9\profile\styles\user"):-File("textonly.css","\Windows\textonly.css")
Directory("\Windows\Opera9\profile\styles\user"):-File("userstyle.ini","\Windows\userstyle.ini")
Directory("\Windows\Start Menu\Programs\Internet\"):-File("Opera Browser.lnk","\Windows\Opera Browser.lnk")
So, what does this mean? It means that for every line of code, you have double the files that are needed to actually run this application. What's going on here is that every files gets put in the windows folder and is also copied to the designation specified in the code, which is where it is actually used. There files are in most cases not ever used at all in the windows folder, but there are there nonetheless. I guess a really slick chef would write a provxml that would delete all the duplicates in windows for a really slim rom (that would be a neat trick).
When you cab install these same applications, the files are installed directly the the designated folders, and you don't get duplicate files put in the windows folder like when you cook them in.
I know, you're gonna say "so ok maybe you have some extra files, who cares?" Well, a few extra files are cool but they really do start to add up over time. Take the Manila packages for example. I think that most Manila 2.5 these days is typically over 3000 files. When your device has to run an app that resides in the windows folder, it has to search through all the files that are in the windows folder to find the needed file(s). The more files in the windows folder, the longer it takes to find and load the desired file = fact. How much longer does it take is the real question. Is it something that we can actually perceive, or can it only be found through benchmarking. The point can easily be proven/disproven by any competent chef by doing a Manila build, then disable manila and benchmark. Next build an identical rom without manila and benchmark that rom. I can pretty much guarantee that the rom without manila will out perform the rom that includes manila, even with manila disabled.
The other thing to consider with cab installs vs cooking apps, is that many apps have dll and exe files as modules natively, and when these modules are cooked in, they are loaded into the xip, which obviously occupies xip space and can potentially eat up ram. When you cab install apps, the modules are converted to files in the cab installer, and do not occupy the same xip space. Typically more space in the xip = faster processing and more available ram.
Firstly, awesome replies. Oh and to make my original post more specific, I was basically asking: "Do more files in the ROM make it slower?" But I'm glad that there were other answers
indagroove said:
I guess a really slick chef would write a provxml that would delete all the duplicates in windows for a really slim rom (that would be a neat trick).
Click to expand...
Click to collapse
I'm almost finished with making something much like this an automated process
indagroove said:
Typically more space in the xip = faster processing and more available ram.
Click to expand...
Click to collapse
When do modules go into RAM? And if lots of modules are cooked in, but none to Slot 0, will it still affect overall performance negatively? I remember Da_G saying that with new windows 6.5, we have more freedom when using modules.
seeM_ZA said:
Firstly, awesome replies. Oh and to make my original post more specific, I was basically asking: "Do more files in the ROM make it slower?" But I'm glad that there were other answers
I'm almost finished with making something much like this an automated process
Click to expand...
Click to collapse
It can't be done. Those files are in ROM. The files aren't duplicated they are linked. So there is no a waste of space, only you get a really crowded windows folder.
When do modules go into RAM? And if lots of modules are cooked in, but none to Slot 0, will it still affect overall performance negatively? I remember Da_G saying that with new windows 6.5, we have more freedom when using modules.
Click to expand...
Click to collapse
When you install an application it goes to the "writable part of imgfs" kindof, it is not ram. That was in 2003 era
mac_es said:
It can't be done. Those files are in ROM. The files aren't duplicated they are linked. So there is no a waste of space, only you get a really crowded windows folder.
Click to expand...
Click to collapse
This is the first time I'm seeing this?
mac_es said:
The files aren't duplicated they are linked. So there is no a waste of space, only you get a really crowded windows folder.
Click to expand...
Click to collapse
They appear to be duplicated to me, unless I'm missing something. Look at your opera skin in the Opera9/profile/skin folder. It is the exact same size as the same file in the windows folder.
Okay so atleast that's cleared up...
How exactly do you delete files with a .provxml's? Is it any different to just going and deleting a file with Total Commander? 'Cause when I tried that it didn't work, even after removing system attributes and what not..
Can you remove files from Windows dir?
indagroove said:
They appear to be duplicated to me, unless I'm missing something. Look at your opera skin in the Opera9/profile/skin folder. It is the exact same size as the same file in the windows folder.
Click to expand...
Click to collapse
The only way to get rid of files cooked into windows is with Task 29.
Laurentius26 said:
Can you remove files from Windows dir?
Click to expand...
Click to collapse
We all know we cant.. do that, some apps lets you overwrite some files... and some apps lets you delete some files, i guess is something related to attribs like "system file" or "read only" i dont know exactly.
Farmer Ted said:
The only way to get rid of files cooked into windows is with Task 29.
Click to expand...
Click to collapse
or... flash your device... and unplug it from the pc when the upgrade is in any percentage of progress
I guess this guy is asking the same as me...
Wich Programs use the files in Programfiles directory... and wich programs use the windows path files?
I know all the standalone exe programs can read or are compiled to read files directly from Windows\ and some other have in the registry the path to program files folder and of course subfolders, or simply hardcoded in exe to read in program files.
If you use app.dat you will see that you have the exact files into program files\ and in windows... so yes! is a waste of storage to have them but... most of the programs use that path to work.
Nope I do think they are in ROM and not in RAM so Mac_es is right there are no duplicates.
+ Que PPC said:
We all know we cant.. do that, some apps lets you overwrite some files... and some apps lets you delete some files, i guess is something related to attribs like "system file" or "read only" i dont know exactly.
Click to expand...
Click to collapse

A though on making the Tilt 2 faster

As I've been redoing everything on my phone I realized that there is "separate" memory from storage and for program usage (aka the RAM). For storage there is 226MB and for Program there is 187MB.
I was thinking, with 187MB, the phone maxes out pretty quickly with all the stuff running on it, and sense usually tells us that it's above 60%. Well, can't we just reduce the storage memory and use it towards the RAM? To elaborate more, can't we shift the memory for the programs to become say 126MB and make the Program ram into 287MB? I mean I can do with 125MB for programs or even less if I plug in my storage card. Is this even feasible? Also I'm sorry in advance if this is in the wrong section!
this would be great!
Sure i have seen that asked some where before and the answer was no on that occasion
I dont believe that would make the processor work better inside these devices in this case. When programs and such r pulled up, its done in bits and pieces of info from different files within the internal memory. Its like having a file box and having either all of ur files just crammed inside, or having them seperated into "files". That way the programs know which files to open so they can bring up the programs faster instead of having to search through billions of bits they r broken down so the programs know just which files to search in.
I may be wrong, yet thats just my opinion.
Just use the OS and Sense our phones were meant to use; Windows Mobile 6.1 and Sense 2.1.
I never run out of RAM and on a clean reboot with Wisbar running and Sense, it only says I use about 36% RAM.
buru898 said:
Just use the OS and Sense our phones were meant to use; Windows Mobile 6.1 and Sense 2.1.
I never run out of RAM and on a clean reboot with Wisbar running and Sense, it only says I use about 36% RAM.
Click to expand...
Click to collapse
The phone came with 6.5 and the new sense when I got it, can I downgrade it to 6.1?
It is not possible to use storage memory as RAM.
WM uses Volatile Memory as RAM (like a computer).
dwizzy130
csmeance said:
The phone came with 6.5 and the new sense when I got it, can I downgrade it to 6.1?
Click to expand...
Click to collapse
Yes u can. Find the specific ROM u would like to use and see if its 6.1 or 6.5. The easiest way to do this is the download number. If it start with 21XXX then its most likely 6.1 if it starts with 23XXX then its most likely 6.5. Now heres where it gets a bit confusing... theres also a 6.5.3 and 6.5.5 ... If u have any questions most of the chefs on here r easy to talk to and will answer any questions u may have. Find a ROM u like, post a question in that forum (look to make sure that question hasnt been answered before u ask it.) and u will get ur answers.
Other answers can be found here... http://forum.xda-developers.com/showthread.php?t=550540
My Viewsonic V37 PDA running WinMo 3 has the ability to do this. There is a slider you can adjust for more RAM and less storage or vice-versa.
Miami_Son said:
My Viewsonic V37 PDA running WinMo 3 has the ability to do this. There is a slider you can adjust for more RAM and less storage or vice-versa.
Click to expand...
Click to collapse
Yes because it uses volatile memory for both storage and RAM. The downside of that is whatever data is stored on the memory will be erased unless it is saved elsewhere. That's why they stopped using this technique in 2003.
dwizzy130
oddly, how come I only has a bout 178 total ram for program
PUTALE said:
oddly, how come I only has a bout 178 total ram for program
Click to expand...
Click to collapse
The OS is loaded into the rest of it.
would a RAM drive be an alternative, and would it help?
Thinking back to pagefiles, and Ram drives on PC's, always increased the functional speed of those machines
How come no one has mentioned Virtual RAM? I suppose using part of the device memory as a temporary space for random access memory and clearing it on boot would work fine? I mean it worked for my ancient Windows 95 box, which had worse specs than my current phone anyways.
I dont use Sense 2.1 or 2.5
SPB Mobile Shell is, IMO, not only better, but a magnitude of times faster, more stable, and better battery life.
Now granted, SPB Mobile Shell has no where NEAR the eye candy that Sense 2.5 (or even 2.1) and all their various customized flavors have.. but thats the bottom line trade off.
You can either get speed, reliability, stability, battery life, or you can get crazy eye candy. You cant get both.
I loaded SPB Mobile Shell using NRG's latest Sense 2.1 build, then disabled Sense. That way, if i need Sense I can switch pretty easily, but after about 3 or 4 days using Mobile Shell, I dont think I'll ever go back.

Categories

Resources