(2013-01-26, 01:25)popcornmix Wrote: (2013-01-26, 00:58)tfft Wrote: I read that the gpu_mem is assigned in 8MB steps so we're talking 96 or 104, right ? And in passing, the default is 128 - so why would assigning the GPU _less_ memory improve things as I'm guessing the GPU is what requires more resources compared to the CPU, no ?
I believe gpu_mem works down to 1MB steps.
The memory failure is on ARM side, so giving the GPU less memory is the right solution.
@
popcornmix, thanks for the heads-up -- indeed setting gpu_mem to 96 has stopped the freezing and GUI reset which is a huge plus :-) With regard to the step size, according to
this Wikipedia article it says the following,
[gpu_mem=xx] dynamically assign an amount of RAM (from 16 to 256MB in 8MB steps) to the GPU
Regarding
cachemembuffersize, a few questions,
1. I'm assuming this taps into the 256MB RAM memory, right ? If so whose allotment - the GPU's, CPU's ?
2. With RedBull.tv there seems to be NO cache'ing with their HD content (720 or 1080) - I tried 10MB, 5MB and 2MB and continued to see "cache:0 B" when I pressed 'o' (codec info) not to mention the constant buffering pauses. Is this setting part of the content provider, add-on or ... Why does cache exist in other channels (say aljazeera) while it seems missing from RedBull.
3. The value in advancedsettings.xml is 5282880 when it should be 5242880 (note the 8 vs 4 difference) to note 5MB - typo maybe ?
Am I correct in thinking that the default 5MB cache value gets expanded to 15MB (x3) and is allocated the CPU's RAM dynamically. In other words, the 15MB (or portions there-of) are only consumed if needed and are otherwise there for the CPU to use. The SWAP space (it would be a good idea to include the "swapon" command as "mkswap" is already there by default) will be used when either the CPU and/or the application (ie. XBMC) go beyond their maximum allotments. In other words, if I use gpu_mem=96 and I'm on an RPi-256 the CPU+cache=(256-96)=160 and if the default cache is 5MB (given the typo above is corrected) then the CPU will have (160-(5x3))=145MB. So if the cache goes over 15MB or the CPU needs more than 145MB it will resort to paging out some memory to the swap to free-up some RAM space. Do I have that correctly ?
Lastly, is there any reason why swap isn't enabled by default - it will consume SDCard memory which is plentiful even if someone was using a flimsy 2GB. Why not at a min do 50MB of swap by default - are there any adverse affects ?
Thanks.