Windows Phone Developer Power Tools - Windows Phone 8 General

I found an interesting program coming with WP8.1 SDK. It is avaliable in Visual Studio under Tools --> Windows Phone 8.1. By running this up you will be able to minitor the CPU RAM and I/O usuage. I hoped there would be more RAM, but the truth is that L520 has less the 200 MB free RAM.
An other interesting part is the program made the phone to download an update.

L520 has 180 memory available for apps.

Related

attach to today process and services

Compared with OS like windows xp, window mobile is limited with max process around 30. when it is reached to this figure, the os will kill one or more to keep this limit.
So does anyone know if it is possible to create a program by using the way like attaching to today (should be shell.exe I think) or using services to keep the number of process low? and is there any limitation by using such ways?
Well actually the number is not 'around 30' it is exactly 32 according to WM documentation.
But you rarely reach this number due to other considerations.
Still there are some things that do not count as a process, namely DLLs.
You can create a today plugin or a service DLL.
The limitation for services would be the size of the virtual memory slot they occupy.
Thanks, the number 30 is based on my experience. I have tried to open 100 processes by mortscript and in the end, only 30 or less was survived on my wm6 device. This figure is even smaller for my wm2003se device, it is just around 20.
I am really waiting for wm7, so I can run as many program as I like without considering any program being killed by the OS.
mic2007 said:
Compared with OS like windows xp, window mobile is limited with max process around 30. when it is reached to this figure, the os will kill one or more to keep this limit.
So does anyone know if it is possible to create a program by using the way like attaching to today (should be shell.exe I think) or using services to keep the number of process low? and is there any limitation by using such ways?
Click to expand...
Click to collapse
Hi! You should take a look here: http://forum.xda-developers.com/showthread.php?t=235792
What you need is PerformCallback4 function which is undocumented (excluded from SDK) but still exists there.
Thank you!
mic2007 said:
I am really waiting for wm7, so I can run as many program as I like without considering any program being killed by the OS.
Click to expand...
Click to collapse
One thing to keep in mind is this: each process takes up system resources (real memory, virtual memory, GDI, etc)
32 is the max system managing capability and that includes processes run by the system not just the ones you start.
The reason you got the low (and different) numbers is most likely because your device ran out of memory before you reached the quota or there were processes running in background you were not aware of.
While the promise of running more than 32 processes on WM 7 architecture is nice we can only hope it will be accompanied by more than 64MB of RAM or it will be pretty useless...
Yes, low memory is another factor that the OS kill one or more processes to free up resources. Supposedly WM7 is based on CE 6 kernel that should allow storage card to be used as RAM, if that is the case which means the distance between desktop and handheld device will be much closer.
Using SD as RAM is about the last thing you want to do!
I have not heard of this feature but even the fastest cards (assuming the device will have a faster bus to support these speeds) are too slow to act as RAM.
Or perhaps you are referring to using it as swap space like the hard drive on a PC? That can work but speed would still be sacrificed.

RAM size smaller?

Why is it certain devices doesn't allow all RAM to usable?
for example ASUS A620 has 58MB out of 64MB RAM. Does it depend on PocketPC 2003 OS is in it?, does this limitation dissapear if Linux or other is used?
The operating system is copied into RAM when the phone starts up. On any OS, even if the bulk of the OS can run directly from ROM or flash memory, some RAM will be required in order to store volatile data.
RAM ISSUES: = http://www.emobistudio.com/memoryup_wm.html
Jinty said:
Why is it certain devices doesn't allow all RAM to usable?
for example ASUS A620 has 58MB out of 64MB RAM. Does it depend on PocketPC 2003 OS is in it?, does this limitation dissapear if Linux or other is used?
Click to expand...
Click to collapse
Some of the RAM is used in PagePool, some is used for the Radio ROM, some is used for the XIP, all of which are system usages, and cannot be prevented. 58 out of 64 is pretty good going, on my Prophet I get 48-50 depending on the PagePool

20080616> Can WM 6.1 have 64 MB Program Memory?

Requests/suggestions please for WM 6.1 cookers considering their next release:
- 64 MB Program Memory
- Absolute bare skeleton WM 6.1
- essential candidates for removal:
> customer feedback
> windows live
> any windows help & support related bloatware
> error reporting
> search
> windows media player
> any animated items, icons, etc..
> junk items under \windows; unnecessary gif,jpg,bmp,png
etc, text files
- single boot screen, no splash, animations etc..
minimize WM 6.1 boot time
- removal of other misc bloatware, vaporware that are not
core to the function, speed and stability of WM 6.1
======================================================
To the site Administrators:
-------------------------
- can we initiate a donation bucket in which people may contribute
and pool donations?
- 1 month period (or other) in which donations can be collected and
cookers may submit their best releases
- the people (users) vote during the period on what they find to be
the most efficient, stable, fast, clean and best performing rom.
- at the end of the period the donation pool is distributed to the top 3
most voted cookers, e.g. 60%/25%/15% respectively.
======================================================
Suggestions, ideas, recommendations, criticism etc certainly
welcome.
Thanks to all
--kara
64M program memory mean No WM.
why?
is there a maximum?
Thanks,
ks1781 said:
why?
is there a maximum?
Thanks,
Click to expand...
Click to collapse
you are really someone )
Trinity have only 64MB build in , how come it have 64MB program memory ? DId you have brain ?
--yes,
if the device has 64 MB SDRAM, why is it that most cooked roms
generally present approx. 50 MB of that?
is this a limitation or is missing 14 MB used for a special purpose?
Thanks for any advice.
?? because it takes up space to install the operating system.. even a 'bare bones' operating system is still an operating system..
did you ever wonder why there's space missing from your hard drive after you install windows xp?
http://www.htc.com/www/product.aspx?id=470
Memory ROM: 128 MB
RAM: 64 MB SDRAM
What is the ROM 128 MB designated for?
Thanks for your patience with me.
--kara
if i understand him correctly, he is referring to the program memory i.e. RAM not ROM. the 128MB ROM is meant for installation of OS (WM) where the 64MB RAM is the execution power. we normally get ~20MB-25MB RAM free out of 64MB total. i believed the rest (64MB - 25MB) was used for other services once WM started.
yes, that is what i'm trying to understand..
in this p3600 specification from HTC:
http://www.htc.com/www/product.aspx?id=470
it lists>
128 MB ROM
64 MB RAM
=================================================
for the 128 MB ROM
I assume the 128 MB ROM contains the OS installation, with
some component of this ROM hidden/reserved.
E.g. some cooked roms released have 'Big Storage'
~70 MB available to the user for NV storage
the remaining 58 MB comprises OS installation and a reserved
area.
=================================================
for the 64 MB RAM
This is the volatile memory available for the OS to boot & run, and
for program execution.
However, on most cooked roms I have used, under
Settings -> System -> Memory
'Program Total' is reported as ~50 MB.
So my question is - where is the remaining 14 MB RAM??
as dum as it sounds i've wondered about that too
even formatting issues aside (like how hard drive capacity is always lower than reported), 14MB seems like a lot to 'go missing'.
why doesnt WM even report it? because its being used by the system for services? so then why does it ALSO report itself using around 20MB of what's left?
that way, it's like 14 MB used (hidden) + approx. 20MB reported (shown) = approx. 34MB total? :/ hmm
ks1781 said:
So my question is - where is the remaining 14 MB RAM??
Click to expand...
Click to collapse
OK - You have a PC with 1GB of RAM say. Once say windows xp has booted up - your AV started etc. you probably have 684MB say of RAM left, so Where did the other 340MB of RAM go to?
Think about it.
wtf i still don't get it... dont be mad
i mean mine reports 2096236 KB... a full 2048MB of RAM
BUT of course 100-300 minimum will always be in use for the system itself
whereas in WM, it reports like 48MB total, AND say approx. 20MB in use
ok so the 20MB minimum in use will ALWAYS be in use because of windows mobile itself. FINE.
but why does it only represent 48MB as available?
and if that is the case, there's that missing unreported 12MB, PLUS that minimum 20MB always in use
that's what im curious about
Just think that Windows XP takes 250/300 mb of ram space....
PS: Please edit your title... Someone could understand that you really have a 64mb free ram rom......
joncgde2 said:
wtf i still don't get it... dont be mad
i mean mine reports 2096236 KB... a full 2048MB of RAM
BUT of course 100-300 minimum will always be in use for the system itself
whereas in WM, it reports like 48MB total, AND say approx. 20MB in use
ok so the 20MB minimum in use will ALWAYS be in use because of windows mobile itself. FINE.
but why does it only represent 48MB as available?
and if that is the case, there's that missing unreported 12MB, PLUS that minimum 20MB always in use
that's what im curious about
Click to expand...
Click to collapse
Maybe it is for the Radio Rom etc...or maybe Microsoft are stealing Ram and stockpiling it....lol
This is actually a valid question.
The system has 64MB of ram, some how 14MB of this ram is allocated away before the OS loads. This leaves 50MB of ram left for the OS, which uses about 20 MB and leaves 30 MB of ram for applications.
I think everyone understands this part.
The question is, what part of the phone is pre-allocating 14MB of ram.
My only guess is the videocard, if not that then it might be the pagefile.
tetsuo55 said:
This is actually a valid question.
The system has 64MB of ram, some how 14MB of this ram is allocated away before the OS loads. This leaves 50MB of ram left for the OS, which uses about 20 MB and leaves 30 MB of ram for applications.
I think everyone understands this part.
The question is, what part of the phone is pre-allocating 14MB of ram.
My only guess is the videocard, if not that then it might be the pagefile.
Click to expand...
Click to collapse
Does it really matter where it goes? Obviously if that memory hasn't been exploited yet by the excellent cookers etc in here....then it can't be of any benefit.
I concur with tetsuo55.
The reasoning proposed by Andych and others still does not quite
correlate.
i.e. 64 = 14 (OS) + ~20 (progs) + ~30 free
the ~20 is supposedly attributed to basic progs,
e.g. phone, filesys, mail etc..
A listing of such process summates to approx. 8 MB total.
That still leaves 12 MB of unaccounted for basic function
and userland process consumption.
Regarding the ATI video chip, general investigation and
settings check of tcpmp would suggest at best it is a
4 MB chip (whether dedicated or shared)
I cant see the 'remaining ~14 MB' that I'm searching for
being used for paging. Paging is part of overall virtual memory,
and involves page outs/ins to a location on some type
of physical media. Additionally, with the usual ~ 30 MB
ram free, in the context of these devices, a swap requirement
is unlikely given the 'free' memory available.
Although 14 MB may seem peanuts compared to standard desktop
ram configurations today - with a p3600 + WM, recovering the
14 MB (if possible) would provide a much welcomed bonus to
the trinity.
--kara
ahh now we're onto something good work ks1781...
i fully agree with the need to just find out the answer to this... most likely it's something that will be perfectly explainable and make sense and we won't be able to do anything once we find out
but it sure would be nice to know
OK I have the 'answer' - straight from a Windows Mobile blog - I'll post it here cos it's all straight to the point and interesting (somewhat) Link is HERE
The Page Pool
Applications use RAM in two ways. There is code that runs, and there is data that is created while it is running. On a NOR device, the code can run directly from the ROM and not be loaded into RAM first. This process is called XIP (eXecute In Place). NAND devices can't XIP, so their code is loaded into RAM and executed from there. If you don't have a Page Pool, this code is loaded into normal RAM. The Page Pool is a mechanism to limit how much code is loaded into normal RAM. With a Page Pool, we can unload code that hasn't been used in a while and reload it later if we need to. We can't do that without a Page Pool.
On a typical NAND-based WM5 device, the Page Pool is 4.5M.
The Radio Stack
Devices with a Cellular Radio have a complicated bunch of code to make their radios talk to cell towers. On some devices, the radio is a self-contained module with its own RAM and ROM. On others, the radio code is stored in the normal system flash. If so, it either needs to XIP, or it needs to be run in RAM. If it's run in RAM, that RAM is taken away from the system.
A typical radio stack takes 4M.
DMA Buffers
Some hardware can write directly into RAM without using the CPU to do it. This is called "Direct Memory Access" or DMA. DMA is very efficient and lets you get a lot more data transferred in the same amount of time, usually for less power. But it's best to set aside your DMA buffers before the system boots. This guarantees that they're there when you need them. PocketPCs have been doing this for a decade. But, back in the old days, the main use for DMA was audio capture. Audio data is small, so the DMA buffers are also small. Video, on the other hand, is big. More data requires bigger DMA buffers.
An OEM will tune the size of the pre-allocated DMA buffers based on what the device is intended to do. If the main goal is still photos, you can use a much smaller buffer. If the goal is recording video, it needs a much larger buffer. If the goal is video conferencing, it needs a bigger buffer still.
DMA buffers range in size between 300K and 6M. For a video capture device, it's likely to use around 4M.
XIPKernel
There are portions of the deepest parts of the OS that have to XIP. If you're on NOR, that code just XIPs like everything else. Not so on NAND. For a NAND system to boot, it needs to load this code into RAM first and then run it from there. When the system is running, it can't really tell if it's running from RAM or ROM, so it assumes it's running from ROM and doesn't count this space.
The XIPKernel region tends to be between 1.5 and 2M.
The Frame Buffer
There is a chunk of RAM set aside to hold everything that's on the screen. (If you want to know more about it, read this.) On most devices, every dot on the screen needs two bytes. A typical Pocket PC has 240x320 dots. That would be 300K. If you have a 640x480 screen, it's 600K. Sometimes, for performance reasons, devices will have two frame buffers. So this could take up to 1.2M.
Click to expand...
Click to collapse
Thanks joncgde2 - good find which provides a sufficient explanation as to the 'hidden' 14 MB.
There is still another question.
WM reports ~24 MB in use (per earlier screen captures) - where 'in use'
is attributed to running applications.
Checking a process listing via task manager shows the total
apparent RAM in use by these 'running applications' to be ~8 MB.
Can anyone provide an explanation to account for the
remaining ~16 MB??

Missing RAM

HTC state that the blackstone has 288MB of ram installed .Throught the various roms a have tried the avalable total ram varies between 195mb and 207mb nowhere near the 288MB that is installed. the question is where is this missing ram bqing used if at all ans if not where is the controll for the ram useage and how can we fully utalise the ram imstalled.
hows can we use all the ram installed on our blackstones there must me some modification or change that will allow us utilize ram fully.
A quick reply :
Its used by ROM-- its like running explorer.exe in windows, or something!!!
But I dont know correctly and I would also wish to hear the full storyof "why is ram missing???"
Just a little google result: http://blogs.msdn.com/windowsmobile/archive/2005/11/29/498154.aspx
Afaik stuff like the page pool is used for this. Also the built in GPU is using this part of the RAM as its own.
i know that the rom some how takes this ram why i dont know or if its evan useing it because othere htc devices with basicaly the same hardwear setup show the full ram and other devices from htc all show the full amount or ram installed.
if anyone knows the full reasons ans mechibism for this please can you inform me. evam if its being used maybe theres a way to optimise it and use more for programs.
i know its not fixed cos between different roms iv used ic seen it vary between 93 and 81mb
i know that the rom some how takes this ram why i dont know or if its evan useing it because othere htc devices with basicaly the same hardwear setup show the full ram and other devices from htc all show the full amount or ram installed.
if anyone knows the full reasons ans mechibism for this please can you inform me. evam if its being used maybe theres a way to optimise it and use more for programs.
i know its not fixed cos between different roms iv used ic seen it vary between 93 and 81mb missing. so it can definatly varie but can we get full use of it.
i think i've read somewhere that the gpu itself uses 64MB as its cache. so 288-64=224MB
subtract the bootloader, bios (not sure if pdas have bios, but from my understandings, it should...)
nobody really cares that a HP comp with integrated gpu onboard, with 1024MB ram installed, shows smth like 980MB in windows.. its the same, bios, gpu cache etc..
On this pda its more visible cause 64MB from say 2048MB is nothing, 64MB from 288MB is 22%
but, i can be wrong...
clarity
ok iv done a bit of testing. its definatly not the page pool iv used a tool to adjust the page pool and it had no effec. the bios dosnt use ram they use eeprom. and the bootloader shouldnt segragate ram so the ram it uses should still register in windows. but someone who knows exactly what the missing ram is doing would be able to tell us for sure. so anyone out there that dose know please help.
x1 use some of the ram for "video card" mem
not sure if the same is true for blackstone
shazk21 said:
HTC state that the blackstone has 288MB of ram installed .Throught the various roms a have tried the avalable total ram varies between 195mb and 207mb nowhere near the 288MB that is installed. the question is where is this missing ram bqing used if at all ans if not where is the controll for the ram useage and how can we fully utalise the ram imstalled.
hows can we use all the ram installed on our blackstones there must me some modification or change that will allow us utilize ram fully.
Click to expand...
Click to collapse
256 MB RAM + 32 MB for GPU = 288 MB RAM
They included the RAM used by the radio core to device specs, 32 out of 288Mb are used by the radio core, so main core is only able to access 256Mb directly. Frame buffer for GPU, kernel log, etc. are allocated from these 256Mb too, so you get even less for the OS. OS kernel (data) resides partially in RAM, so you would typically get <192Mb available after kernel boot that goes down to <128Mb after all drivers, services and user programs are loaded.
I never ran out of RAM on my Blackstone so far, why is this a problem to you?
stepw said:
They included the RAM used by the radio core to device specs, 32 out of 288Mb are used by the radio core, so main core is only able to access 256Mb directly. Frame buffer for GPU, kernel log, etc. are allocated from these 256Mb too, so you get even less for the OS. OS kernel (data) resides partially in RAM, so you would typically get <192Mb available after kernel boot that goes down to <128Mb after all drivers, services and user programs are loaded.
I never ran out of RAM on my Blackstone so far, why is this a problem to you?
Click to expand...
Click to collapse
im not talking about crashing and freezing constantly but it dosnt take much to bog the system down.
hit about 65% it starts to slow more than 70% and ur living in slow motion more than 80% and your grinding to a hault. the % iv stated are representative of used ram as shown by htc task manager.
i do alot of surfing and that alond can gets me into the 60s and 70s espetialy if there more complex graphic based sites. i also use my phone as a remote client amoungst otherthingsand multi tasking is out of the question as you dont have much room to move memory wise.
secondly its about optimisation from what i can tell from the specs the blackstone can perform much better than it dose an varying fields if we can resolve something holing back its performance then were one step closer to fully utalising the heardware.
as gregy74 informed us 32mb is for the gpu which makes the numbers make sence. the radio heardware wont share memory arcitecrure withe the devices main memory its also very unlickly the gpu dose that would mean that 225mb of heardware was installed, now knowing what i know about memory (not specific to pdas unfortunatly) that is very hard and uneconomical.
as iv stated there has been qute a varyance in total ram visable to the os if some of this ram that is partitioned away is used by kurnals y such a varyance and would it not be possable to use the internal flash to load these perhaps in a seperat partion.
lastly and importantly to be clear step w i am not talking about the amount of ram avalable after a full boot (oh and the kurnals drivers ect are part of the os) i am talking about the total amount of ram visable to the os.

Windows Mobile CE5 32 MB memory limit removal?

hello
is there any hack to bypass or increase the 32 MB memory limit in WM 5 , 6 , 6.1 Or 6.5?
I am using a program that stops at 32 MB memory usage and It needs around 40+ MB to complete?
I seriously doubt it, as each application gets a 32MB "slot" of virtual memory to use, so there's a 32MB per process limit.
Are you using QEMU?
However, maybe this is possible.
We'll know if it's possible as soon as I try to run QEMU and install WindowsXP on my HTC HD2
If the WinXP installation will be fine and taking over 32MB of RAM, then it's possible even on other devices.
Why I'm talking about HD2?
This is simple.
The HD2 got a lot of RAM and this is a new device.. and maybe HTC has removed this limit. If this will work, I hope the limitation isn't in the NativeKernel!
The limitation is in the native kernel. It doesn't matter how many RAM your device actually got. The whole memory management is build up on it. I doubt you could change that with a little hack. Actually I guess there's a lot more behind it than only a merely "if size >= 32K"....
Wait for WM 7 which is based on Windows CE 6 (or later) which doesn't have that limitation anymore, since they completely rewrote the native kernel therefore.
I guess you could use multiple processes... It sucks, but I don't see another choice. The limit per process is 32 Mb. There is no limit on an app per-se afaik...
charge1313 said:
I guess you could use multiple processes... It sucks, but I don't see another choice. The limit per process is 32 Mb. There is no limit on an app per-se afaik...
Click to expand...
Click to collapse
Solution.
With a 32MB page per process, your only choice is to develop your app in multiple processes.
Sorry!

Categories

Resources