Memory leak fix for Transparency skin
#1
I have copied my following post over from here as it may be a bug in the Transparency skin which can be fixed:

Original post:

I was experiencing the same problems with the memory leak when using the Transparency skin on XBMC Eden in Windows 7.

If I minimized or moved focus away from XBMC to my Windows desktop I could watch XBMC in the Windows task manager and see the memory usage rise every few seconds until eventually I received the following error:

LoadLibrary 'DBGHELP.DLL' failed with error id 8

I noticed that this was only happening if XBMC was on the 'Home' screen when minimized. If I was in the 'Settings' screen for example there was no memory leak.

Looking at the home screen I could see that the current weather visualisation in the top right corner was always moving so I thought I would try removing that to see if it was the cause of the memory leak. Unfortunately I couldn't find an easy way to remove it and had to resort to commenting some lines out one of the XML files, but once I managed to remove the weather visualisation from my Home screen the memory leak was gone


Note: Before altering and XML files please ensure that you back them up first!

I commented out a large block of code using <!-- and --> in the following XML file:

C:\Users\<user name>\AppData\Roaming\XBMC\addons\skin.transparency\720p\Includes_Home.xml


<!-- COMMENT OUT EVERYTHING FROM HERE
<include name="Home_Top_Weather_Icon">
<control type="group">
<include>Window_OpenClose_Right_Panel_Animation</include>
<include condition="Skin.HasSetting(Animate_Home_Weather_Icon)">Home_Weather_Icon_Top</include>
<include condition="!Skin.HasSetting(Animate_Home_Weather_Icon)">Home_Animated_Weather_Icon_Top</include>
<control type="label">
<description>Conditions Label</description>
<posx>1139</posx>
<posy>52</posy>
<width>172</width>
<height>72</height>
<label>$INFO[Weather.Temperature]</label>
<align>center</align>
<aligny>center</aligny>
<font>font-25</font>
<shadowcolor>black</shadowcolor>
</control>
</control>
</include>
<include name="Home_Animated_Weather_Icon_Top">
<control type="multiimage">
<description>Top Weather image</description>
<posx>1192</posx>
<posy>50</posy>
<width>72</width>
<height>72</height>
<imagepath>weather/$INFO[Window(Weather).Property(Current.FanartCode)]</imagepath>
<timeperimage>100</timeperimage>
<randomize>false</randomize>
<fadetime>0</fadetime>
<colordiffuse>BFFFFFFF</colordiffuse>
</control>
</include>
<include name="Home_Weather_Icon_Top">
<control type="image">
<description>Top Weather image</description>
<posx>1192</posx>
<posy>50</posy>
<width>72</width>
<height>72</height>
<texture>$INFO[Window(Weather).Property(Current.ConditionIcon)]</texture>
<colordiffuse>BFFFFFFF</colordiffuse>
</control>
</include>
<include name="WeatherInfo">
<control type="group">
<posx>250</posx>
<posy>490</posy>
<visible>Container(5040).HasFocus(10) + ![Player.HasVideo + !Skin.HasSetting(homepageVideoinfo)] + ![Player.HasAudio + !Skin.HasSetting(homepageMusicinfo)]</visible>
<include>HomeInfoAnimation</include>
<animation effect="slide" end="0,-68" time="0" condition="Skin.HasSetting(HorizontalHomeMenu)">Conditional</animation>
<include condition="Skin.HasSetting(HateTransparency)">T-Gradient1</include>
<control type="image">
<description>gradient</description>
<posx>430</posx>
<posy>0</posy>
<width>600</width>
<height>150</height>
<texture border="2">gradient.png</texture>
</control>
<include condition="Skin.HasSetting(Animate_Home_Weather_Icon)">Home_Weather_Icon</include>
<include condition="!Skin.HasSetting(Animate_Home_Weather_Icon)">Home_Animated_Weather_Icon</include>
<control type="label">
<description>Weather label</description>
<posx>875</posx>
<posy>15</posy>
<height>30</height>
<width>770</width>
<label>$LOCALIZE[12600]:</label>
<align>right</align>
<aligny>center</aligny>
<font>font-30</font>
<textcolor>blue</textcolor>
<shadowcolor>black</shadowcolor>
</control>
<control type="label">
<description>location label</description>
<posx>875</posx>
<posy>60</posy>
<height>30</height>
<width>770</width>
<label>$INFO[Window(Weather).Property(Location)]</label>
<align>right</align>
<aligny>center</aligny>
<font>font-23</font>
<shadowcolor>black</shadowcolor>
</control>
<control type="label">
<description>Conditions Label</description>
<posx>875</posx>
<posy>85</posy>
<height>30</height>
<width>770</width>
<label>$INFO[Window(Weather).Property(Current.Condition)]</label>
<align>right</align>
<aligny>center</aligny>
<font>font-23</font>
<shadowcolor>black</shadowcolor>
</control>
<control type="label">
<description>Temp Label</description>
<posx>875</posx>
<posy>110</posy>
<height>30</height>
<width>770</width>
<label>$INFO[Weather.Temperature]</label>
<align>right</align>
<aligny>center</aligny>
<font>font-23</font>
<shadowcolor>black</shadowcolor>
</control>
</control>
</include>
<include name="Home_Animated_Weather_Icon">
<control type="multiimage">
<description>Weather image</description>
<posx>885</posx>
<posy>7</posy>
<width>136</width>
<height>136</height>
<imagepath>weather/$INFO[Window(Weather).Property(Current.FanartCode)]</imagepath>
<timeperimage>100</timeperimage>
<randomize>false</randomize>
<fadetime>0</fadetime>
</control>
</include>
<include name="Home_Weather_Icon">
<control type="image">
<description>Weather image</description>
<posx>885</posx>
<posy>7</posy>
<width>136</width>
<height>136</height>
<texture>$INFO[Window(Weather).Property(Current.ConditionIcon)]</texture>
</control>
</include>
COMMENTED OUT EVERYTHING TO HERE -->


This fix is obviously only for the Transparency skin, but it may be a pointer for you if you are experiencing similar problems with other skins.

If anyone can advise me of an easier way of removing the weather visualisation from the home screen without having to edit the XML I would be grateful?

Hope this helps someone.
Reply
#2
Settings>skin>icons>Home - Weather and Home Animated icons; I have the last one enabled... left XBMC minimized overnight (by accident) re-engaged it in the morning and XBMC was as responsive as ever. I didn't look at the memory usage or allocation, I didn't see an issue.
Reply
#3
PatK, thanks for telling me the easy way to turn animated icons on & off.

I have tested my kit again and the memory leak doesn't occur with the static icons, but if I have animated icons on screen (either on the home screen or the weather screen) and then Alt+Tab to my Windows desktop the xbmc memory usage starts climbing rapidly until the application crashes.

The memory leak only occurred when the animated icon was actually 'playing', so it wasn't crashing when I had a clear sky and full moon.

It way be that it is specific to my hardware or something but turning the animated icons off has stopped the problem and I now know that I don't need to hack the XML to achieve that, so thanks Big Grin
Reply

Logout Mark Read Team Forum Stats Members Help
Memory leak fix for Transparency skin0