In addition, I changed my decoder from Powerdvd to MPV and now no flicker... probably been covered already...
/// <summary>
/// Renders the GUIButton3PartControl.
/// </summary>
public override void Render(float timePassed)
{
// Do not render if not visible.
if (!IsVisible)
{
base.Render(timePassed);
return;
}
_cachedTextLabel1 = _tagLabel1;
_cachedTextLabel2 = _tagLabel2;
if (_containsProperty1 && _property1Changed)
{
_property1Changed = false;
_cachedTextLabel1 = GUIPropertyManager.Parse(_tagLabel1);
if (_cachedTextLabel1 == null) _cachedTextLabel1 = "";
_reCalculate = true;
}
if (_containsProperty2 && _property2Changed)
{
_property2Changed = false;
_cachedTextLabel2 = GUIPropertyManager.Parse(_tagLabel2);
if (_cachedTextLabel2 == null) _cachedTextLabel2 = "";
_reCalculate = true;
}
if (_reCalculate)
{
Calculate();
}
//render the icon
if (_imageIcon != null)
{
_imageIcon.Render(timePassed);
}
// render the 1st line of text on the button
int iWidth = _imageNonFocusedMid.Width - 10 - _textOffsetX1;
if (iWidth <= 0) iWidth = 1;
if (_imageNonFocusedMid.IsVisible && _cachedTextLabel1.Length > 0)
{
int widthLeft = (int)((float)_imageFocusedLeft.TextureWidth * ((float)_height / (float)_imageFocusedLeft.TextureHeight));
int xoff = _textOffsetX1 + widthLeft;
if (Disabled)
_labelControl1.TextColor = _disabledColor;
else
_labelControl1.TextColor = _textColor1;
_labelControl1.SetPosition(xoff + _positionX, _textOffsetY1 + _positionY);
_labelControl1.TextAlignment = GUIControl.Alignment.ALIGN_LEFT;
_labelControl1.FontName = _fontName1;
_labelControl1.Label = _cachedTextLabel1;
_labelControl1.Width = iWidth;
_labelControl1.Render(timePassed);
}
// render the 2nd line of text on the button
if (_imageNonFocusedMid.IsVisible && _cachedTextLabel2.Length > 0)
{
int widthLeft = (int)((float)_imageFocusedLeft.TextureWidth * ((float)_height / (float)_imageFocusedLeft.TextureHeight));
int xoff = _textOffsetX2 + widthLeft;
if (Disabled)
_labelControl2.TextColor = _disabledColor;
else
_labelControl2.TextColor = _textColor2;
_labelControl2.SetPosition(xoff + _positionX, _textOffsetY2 + _positionY);
_labelControl2.TextAlignment = GUIControl.Alignment.ALIGN_LEFT;
_labelControl2.FontName = _fontName1;
_labelControl2.Label = _cachedTextLabel2;
_labelControl2.Width = iWidth - 10;
_labelControl2.Render(timePassed);
}
// if the GUIButton3PartControl has the focus
if (Focus)
{
//render the focused images
//if (_imageIcon!=null) GUIFontManager.Present();//TODO:not nice. but needed for the tvguide
if (renderLeftPart) _imageFocusedLeft.Render(timePassed);
_imageFocusedMid.Render(timePassed);
if (renderRightPart) _imageFocusedRight.Render(timePassed);
GUIPropertyManager.SetProperty("#highlightedbutton", _cachedTextLabel1);
}
else
{
//else render the non-focus images
//if (_imageIcon!=null) GUIFontManager.Present();//TODO:not nice. but needed for the tvguide
if (renderLeftPart) _imageNonFocusedLeft.Render(timePassed);
_imageNonFocusedMid.Render(timePassed);
if (renderRightPart) _imageNonFocusedRight.Render(timePassed);
}
base.Render(timePassed);
}
Sorry justinteract, but I am running 2 HD3200's here and have another HD3420 on another system, all suffering from the same issue. It's actually REALLY frustrating because the only codec I have found to be reliable is the PowerDVD. I have changed to MPV but this produces horrible blurring on pretty much anything except 1080i content. (still blurs but not as much)
and FYI : I did not suffer from any stutter for the first 3 days of operation...