Almost all of the videos that I watch on XBMC are streaming over the network from a central computer. While the idea sounds great that means that my home network becomes yet another component that can lead to performance issues in XBMC. I’m going to share my experiences so that you can get your system working smoothly with as little effort as possible.
Where’s the Bottleneck?
Do you know where your performance bottleneck is? It could be a wide array of things that could be causing your problems, and you need to take whatever steps you can to pinpoint the bottleneck.
For starters if you’re trying to stream a video over the network and have issues playing it back maybe you should move the video to the local storage on your system to see if you still have problems with playback. This helps determine whether the underlying issue has to do with your network or something on the machine itself. If it appears that the network is your issue then that leads to the question of whether you’re doing this over wireless or not? If you are using wireless and you’re getting a lot of buffering then the problem may be as straightforward as not having enough bandwidth for streaming the videos over your network. If your network is wired (like mine) and you’re sure the performance is good enough you can continue on with the remaining tips in this guide to see if they help.
Video Card Memory:
XBMC tries to take advantage of GPU hardware acceleration wherever it can, and for that reason the video card performance of your system is very important. For my particular setup I don’t have a dedicated video card, and so that means my video card steals its memory from the amount of RAM installed on my system.
In my particular case I have 4GB of RAM available, and by default my motherboard tried to automatically detect the amount of memory that should be shared with the video card. It somehow determined that 256MB was the appropriate amount, but it also didn’t know the purpose of the machine. So I took the liberty of manually doubling this from the 256MB to the maximum value of 512MB. In general this change alone led to much smoother playback.
If you are using the same motherboard as me (ASRock E350M1) you can change this setting in the BIOS/UEFI. While booting up go into your BIOS/UEFI settings, and then navigate to Advanced -> North Bridge Configuration -> Share Memory and set it to the max which should be 512MB.
Increase the XBMC Buffer Cache:
The cachemembuffersize in XBMC is the amount of bytes of memory used for buffering ahead in videos. They do warn, however, that XBMC will consume three times the amount of RAM than what is specified for this setting. So the default 5242880 bytes (= 5MB) is on the low side to ensure they don’t stress out your system too much. Since my system is dedicated solely for XBMC I had no qualms bumping this up to 524288000 bytes (= 500MB) given that I have 4GB of RAM on my machine. Something more conservative, however, might be 52428800 bytes (= 50MB).
How do you update the buffer amount? First close out of XBMC, and then navigate to your profile folder:
- Mac: ~/Library/Application Support/XBMC/userdata/
- Windows: %appdata%\XBMC\userdata\
Once in your profile directory find and open up the advancedsettings.xml file, or create the file if it doesn’t already exist. Then you’ll want to add this node to the file:
The cachemembuffersize is set to the default 5MB so you will still need to update that after pasting it in. After you have updated the advancedsettings.xml file and saved the changes you can open up XBMC to see if your video playback has improved at all.
Update Your Drivers:
When streaming videos over the network my XBMC log would frequently throw an error saying:
CDVDMessageQueue(video)::Get – asked for new data packet, with nothing available
As it turns out my biggest performance problem was an issue with drivers. Naturally you’d think that I’m talking about video card drivers (which are important as well), but I’m not. The drivers that were ultimately causing issues with my setup were the LAN drivers. I was using the drivers recommended by ASRock, my motherboard manufacturer, when in reality I should have turned to the manufacturer of the network card… Realtek.
I jumped over to the Realtek site only to see that the network drivers ASRock were dishing out on their site were over a year old. I downloaded the most recent drivers directly from Realtek, and astonishingly all of my stuttering/buffering/choppiness issues went away.
Still Have Issues:
Don’t give up. If you’re still having issues you can try dropping a comment here, and I’ll do my best to help out. The XBMC forums might be a better location to reach out though since many of the developers are also active in the forums.
CyberNet’s XBMC Guides:
- XBMC: Introduction to Our Upcoming Guides
Our introduction provides some of the deciding factors for switching from Windows Media Center to XBMC.
- XBMC: Build Your Own HTPC
Our extensive guide on the hardware we chose for our home theater PCs (HTPCs), the cost, and some tips on choosing the hardware for your own HTPC.
- XBMC: Prepare and Optimize Windows 7
A helpful list of tips to optimize the performance of Windows 7 so that the system is able to offer as many resources to XBMC as it can.
- XBMC: IR Receiver and Remote (Harmony, Xbox 360, and More)
If you want your HTPC to operate like a set-top box you’ll definitely want to get a remote control configured, and for me this was a critical step so that I wouldn’t have to be concerned about less tech-savvy users trying to use my TV.
- XBMC: Share and Sync Media/Settings Between Multiple XBMC Installs
Configuring XBMC to share settings between multiple instances means you’ll be able to stop a show in one room, and seamlessly pick up where you left off in another room.
- XBMC: Fit the Picture to Your TV with Overscan
If XBMC doesn’t fit your TV screen perfectly there are a couple of steps you can take to get it just right.
- XBMC: Installing Skins
How to tweak the appearance of XBMC so that it looks the way you want it to.
- XBMC: Custom Home Screen Menu Backgrounds
Make the backgrounds of your chosen skin/theme a little more interesting by having it flip through artwork from your favorite TV shows and movies.
- XBMC: Dynamic Weather Backgrounds
If you’re using the Aeon MQ 3 theme you can have it use dynamic wallpapers that change based on the time of day and current weather conditions.
- XBMC: SMB on Mac OS X 10.7 (Lion)
I use a Mac to serve up files to my XBMC instances running on Windows, and so my preferred protocol for sharing files is SMB. This guide explains how you can get a XBMC-compatible version of SMB running on Mac OS X 10.7 Lion.
- XBMC: Adding Media Sources
Learn how to add your media to XBMC and turn on the appropriate content scrapers.
- XBMC: Troubleshoot Buffering Issues
Trying to troubleshoot buffer issues in XBMC can be quite a pain, and so I lay out some of the most common culprits.
- XBMC: Test Your HTPC with High Bitrate Sample Videos
Want to see how well your HTPC performs? Throw some of these high bitrate 1080p sample videos at it.
- XBMC: More Advanced Settings
Configure some of the settings that you won’t find anywhere in the GUI.
- XBMC: Stream Hulu, Food Network, and More
Thanks to add-ons you can stream videos from some of your favorite sources including Hulu, Food Network, HGTV, TWiT, and more.
- XBMC: AirPlay on Windows
Send videos from your iOS device to any XBMC instance with very little configuration.
- XBMC: Web Interface and Chrome Extension
As long as you are on the same network as your XBMC box you can control it from any browser using the built-in web interface, or you can install a Chrome extension to make it even easier.
- XBMC: iPhone and iPad Remote
If you own an iPhone or iPad you can enjoy one of the best XBMC remote control experiences I’ve seen, and it will only cost you a few bucks.
- XBMC: A List of Our Guides, Plus Helpful Wiki and Forum Posts
A recap of all the guides we’ve written as well as useful wiki and forum post from the official XBMC.org site.
- XBMC: Free and Official iOS Remote for XBMC Released
This is the free and official XBMC remote control iOS app (optimized for both the iPhone and iPad). It will let you easily control all of the XBMC instances in your house as long as they are all on the same network.
- XBMC: Running XBMC on Startup in Windows 8
Learn how you can make XBMC start automatically when Windows 8 boots.
- XBMC: Send YouTube Videos From Chrome to XBMC
Send YouTube videos from your PC to any XBMC instance in a single click.
- XBMC: Aeon MQ 4 Skin
If you’re looking for one of the best and most popular XBMC skins the Aeon MQ 4 is a great choice.
- XBMC: Android Widget Remote Control
Control multiple instances of XBMC without ever having to open an app on your Android device!