Kodi Community Forum

Full Version: How do i know cache has been increased?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hi guys,

I'm a long time happy user of XBMC at home, but currently to a really nasty illness i'm condemed to the hospital for 3 months. The upside is that I have an internetconnection, but the bandwith isn't great all the time because the shared connection.

I'm trying to let XBMC buffer more in playback when watching a movie, but I don't know if the settings are working like they should.

Currently, I use this settings to create a large buffer. Is there also an way to let I preload some more before playing and does it keep filling when pausing the movie?


Code:
<advancedsettings>
<network>
  <autodetectpingtime>30</autodetectpingtime>  <!-- Length in seconds between pinging the network to detect new devices -->
  <curlclienttimeout>10</curlclienttimeout>  <!-- Timeout in seconds for libcurl (http/ftp) connections -->
  <curllowspeedtime>5</curllowspeedtime>  <!-- Time in seconds for libcurl to consider a connection lowspeed -->
  <httpproxyusername></httpproxyusername>  <!-- username for Basic Proxy Authentication -->
  <httpproxypassword></httpproxypassword>  <!-- password for Basic Proxy Authentication -->
  <cachemembuffersize>5000242880</cachemembuffersize>  <!-- number of bytes used for buffering streams ahead in memory
    XBMC will not buffer ahead more than this. WARNING: for the bytes set here, XBMC will consume 3x the amount of RAM -->
</network>
</advancedsettings>

I still keep lot of buffering and don't see the big memory increase of XBMC as expected when playing a movie. I have tried this also with local media to see if it relly buffers, but no such luck.
Is there something wrong in my settings or what else do I miss? I have read somewhere that the buffer size will be making your XBMC config use 3 times more memory, so like 25 mb will increase to 75 mb and so on.

Any tips are really appreaciated.

Sorry to hear about you illness. I wish you all the best.

It appears your settings are correct. That amount equates to cache 5 megs of data. I think what that warning means is for whatever amount you cache, XBMC uses 3 times that in RAM. So since you are caching 5 MB, XBMC will consume 15 MB more of RAM than it normally does. If you pause playback, the caching continues until the buffer is full. You may need to try to cache more, the down side being it takes longer to start playing a clip. If you are trying to play HD material, there is a chance the connection just can not keep up with the streaming needs.

Thanks, but I see when I pause a file, my network traffic pauses also, and the memory use of XBMC doesn't increase anymore. You would assume network traffic will keep going until the buffer has been filled? I have set a buffer of 50MB. The connection is fast enough, but the spikes make it buffering because of the shared connection.
When you play a video and pause it, press the i or m button to bring up the timeline. You should see a white bar growing showing what has been played. You will also see a grey bar growing as the buffer is filled. If you press pause you will see the buffer continue to grow until it is full. I also saw my network graph reflect this perfectly. When the buffer filled up the network usage stopped. While the buffer was filling the usage showed it.

The amount you have above is way more than 50MB, it is 4768.60321MB. I made the amount 10485760 for 10MB and it worked perfectly.
Code:
<network>
    <cachemembuffersize>10485760</cachemembuffersize>
</network>
(2012-06-06, 17:46)kricker Wrote: [ -> ]When you play a video and pause it, press the i or m button to bring up the timeline. You should see a white bar growing showing what has been played. You will also see a grey bar growing as the buffer is filled. If you press pause you will see the buffer continue to grow until it is full. I also saw my network graph reflect this perfectly. When the buffer filled up the network usage stopped. While the buffer was filling the usage showed it.

The amount you have above is way more than 50MB, it is 4768.60321MB. I made the amount 10485760 for 10MB and it worked perfectly.
Code:
<network>
    <cachemembuffersize>10485760</cachemembuffersize>
</network>

Hi Kricker;
As your explanation I set Cache size let say to 50MB in my system and start to paly 1080P stream the info shows when cache =34.82MB stream starts play with this message: cache filled full before reached require amount for continues play
and on info the cache amount starts to decrease to zero while playing then starts buffering again
do you know why
Do you have enough free RAM to cache that much? You'll need at least 150MB free based on the warning mentioned earlier. Try dropping it down to 10MB and see how it works.
(2012-06-21, 04:34)kricker Wrote: [ -> ]Do you have enough free RAM to cache that much? You'll need at least 150MB free based on the warning mentioned earlier. Try dropping it down to 10MB and see how it works.

Thanks for replay;
Same story even with 10MB setup
I checked after full Cache still I have 490MB free RAM
Really I think that Cache command does not workHuh while when I stream out of XBMC it is ok
I do not why
What is the amount your are using for the cache size? Can you post that line of you xml file?
(2012-06-22, 05:34)kricker Wrote: [ -> ]What is the amount your are using for the cache size? Can you post that line of you xml file?

thanx for reply

Here is my Advancedsetting file

Code:
<advancedsettings>
  <videoextensions>
    <add>.html</add>
  </videoextensions>
</advancedsettings>

<advancedsettings>
<gui>    
   <algorithmdirtyregions>1</algorithmdirtyregions>
   <nofliptimeout>1000</nofliptimeout>
</gui>
<network>
  <autodetectpingtime>30</autodetectpingtime>  <!-- Length in seconds between pinging the network to detect new devices -->
  <curlclienttimeout>10</curlclienttimeout>  <!-- Timeout in seconds for libcurl (http/ftp) connections -->
  <curllowspeedtime>5</curllowspeedtime>  <!-- Time in seconds for libcurl to consider a connection lowspeed -->
  <httpproxyusername></httpproxyusername>  <!-- username for Basic Proxy Authentication -->
  <httpproxypassword></httpproxypassword>  <!-- password for Basic Proxy Authentication -->
  <cachemembuffersize> 10485760</cachemembuffersize>  <!-- number of bytes used for buffering streams ahead in memory
    XBMC will not buffer ahead more than this. WARNING: for the bytes set here, XBMC will consume 3x the amount of RAM -->
</network>
</advancedsettings>



& this is the info from Playing in stream :


10-04 PM
DfAudio: ac3, 48000 Hz, stereo, sl6, 384 kb/s) P(aq:99%, kB/s:0.92, att:0.0 dB)
D(Video: mpeg4, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9]) P(fr:29.970, vq:99%, dc:ff-mpeg4, Mb/s:0.00, drop:0, pc:none)
C( ad: 0.000, a/v: 0.000, edi:-, dcpu: 0% acpu: 0% vcpu: 0% cache:34.82 MB 0% 0 sec )
W( fps:59.88 CPU 6 core(s) average: 17.1% )
Now Playing
5.2183934.avi&b=390 loso nnq^ 2.0
00:00:01 n@@.
Q

I used the value above (removing the space before the number) and it worked as expected. Are you sure your advancedsettings.xml file is in the right place and is being used? I you set it to 10MB and it still cached up to 34.82MB, then I would expect your value is wrong or the advancedsettings.xml file is not being loaded. Cache 50MB would take a while to fill up and seems to be overkill even for a 1080p movie.

I've noticed the value used in the cache settings seems to be a bit off. If set to 10MB, XBMC actually caches about 11.86MB. It seems the conversion from bytes to MB is a bit off somewhere. But it does work.

I played a streaming file from the net and immediately paused it. I could see the cache rise until it reached the max level I set in the advancedsettings.xml file.
cache size is 3x the specified. history buffer, current buffer, lookahead buffer.
Thanks Kricker for reply
the advancesettings.xml file is located in Appdata/roaming/xbnv/userdata directory that suppose tobe I think

Here is the Log file of XBMC u can check if something wrong , I streamed on more time same video stream and same result could u please look at this log:

http://pastebin.com/ZCQrasQi

Thanks


Quote:Here is my Advancedsetting file

Code:
<advancedsettings>
  <videoextensions>
    <add>.html</add>
  </videoextensions>
</advancedsettings>

<advancedsettings>
<gui>    
   <algorithmdirtyregions>1</algorithmdirtyregions>
   <nofliptimeout>1000</nofliptimeout>
</gui>
<network>
  <autodetectpingtime>30</autodetectpingtime>  <!-- Length in seconds between pinging the network to detect new devices -->
  <curlclienttimeout>10</curlclienttimeout>  <!-- Timeout in seconds for libcurl (http/ftp) connections -->
  <curllowspeedtime>5</curllowspeedtime>  <!-- Time in seconds for libcurl to consider a connection lowspeed -->
  <httpproxyusername></httpproxyusername>  <!-- username for Basic Proxy Authentication -->
  <httpproxypassword></httpproxypassword>  <!-- password for Basic Proxy Authentication -->
  <cachemembuffersize> 10485760</cachemembuffersize>  <!-- number of bytes used for buffering streams ahead in memory
    XBMC will not buffer ahead more than this. WARNING: for the bytes set here, XBMC will consume 3x the amount of RAM -->
</network>
</advancedsettings>

I think the problem might be you've defined advancedsettings twice in the XML file.

Try this instead:

Code:
<advancedsettings>
  <videoextensions>
    <add>.html</add>
  </videoextensions>
<gui>    
   <algorithmdirtyregions>1</algorithmdirtyregions>
   <nofliptimeout>1000</nofliptimeout>
</gui>
<network>
  <autodetectpingtime>30</autodetectpingtime>  <!-- Length in seconds between pinging the network to detect new devices -->
  <curlclienttimeout>10</curlclienttimeout>  <!-- Timeout in seconds for libcurl (http/ftp) connections -->
  <curllowspeedtime>5</curllowspeedtime>  <!-- Time in seconds for libcurl to consider a connection lowspeed -->
  <httpproxyusername></httpproxyusername>  <!-- username for Basic Proxy Authentication -->
  <httpproxypassword></httpproxypassword>  <!-- password for Basic Proxy Authentication -->
  <cachemembuffersize> 10485760</cachemembuffersize>  <!-- number of bytes used for buffering streams ahead in memory
    XBMC will not buffer ahead more than this. WARNING: for the bytes set here, XBMC will consume 3x the amount of RAM -->
</network>
</advancedsettings>
Thanks tank-top for reply;
I changed as u posted
tries the same stream as u can see in my pastebin log
but same story after buffering about 15 MB this time start running and buffer again
My only guess is that the stream is not being feed to XBMC fast enough. Can you play the same stream without issue in other players?
Pages: 1 2