Flickering Tv-guide and other overlays with EVR enabled (4 Viewers)

Nobleware

Portal Member
March 5, 2008
36
1
Rockingham, WA
Home Country
Changed TV decoder to PowerDVD 7.x HD and the flickering has stopped. I have no blur during TV playback but every now and then on HD content I get a horizontal "blinds" effect. I am satisfied with it but a real solution would be great. Doesn't help with DVD playback though, I still have to use the reg PowerDVD decoder because 7.x HD borx MP.

I have another 4 HTPCs to build next week...hope I can use reg PowerDVD by then :D
 

tourettes

Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    After enabling DX debug messages there is huge flood of error & warning messages... at least the ":confused:tatic vertex buffer locked more than once per frame." seems to happen only in the EPG view, where the flickering is happening (on my dev PC).

    Code:
    [5528] Direct3D9: (WARN) :Static vertex buffer locked more than once per frame. Could have severe performance penalty if occuring frequently.
    
    [5528] Direct3D9: (ERROR) :Error trying to lock driver surface
    
    [5528] Direct3D9: (WARN) :Ignoring redundant SetTextureStageState. Stage: 0, State: 1 
    [5528] Direct3D9: (WARN) :Ignoring redundant SetTextureStageState. Stage: 0, State: 2 
    [5528] Direct3D9: (WARN) :Ignoring redundant SetTextureStageState. Stage: 0, State: 3 
    [5528] Direct3D9: (WARN) :Ignoring redundant SetTextureStageState. Stage: 0, State: 4 
    [5528] Direct3D9: (WARN) :Ignoring redundant SetTextureStageState. Stage: 0, State: 5 
    [5528] Direct3D9: (WARN) :Ignoring redundant SetTextureStageState. Stage: 0, State: 6 
    [5528] Direct3D9: (WARN) :Ignoring redundant SetSamplerState. Sampler: 0, State: 10 
    
    [5528] Direct3D9: (WARN) :Ignoring redundant SetRenderState - 22 
    [5528] Direct3D9: (WARN) :Ignoring redundant SetRenderState - 137 
    [5528] Direct3D9: (WARN) :Ignoring redundant SetRenderState - 7 
    [5528] Direct3D9: (WARN) :Ignoring redundant SetRenderState - 28 
    [5528] Direct3D9: (WARN) :Ignoring redundant SetRenderState - 8 
    [5528] Direct3D9: (WARN) :Ignoring redundant SetRenderState - 27 
    [5528] Direct3D9: (WARN) :Ignoring redundant SetRenderState - 19 
    [5528] Direct3D9: (WARN) :Ignoring redundant SetRenderState - 20
     

    justinteract

    Member
    November 8, 2007
    95
    13
    Hamburg
    Home Country
    Germany Germany
    Hi tourettes,

    After enabling DX debug messages there is huge flood of error & warning messages... at least the ":confused:tatic vertex buffer locked more than once per frame." seems to happen only in the EPG view, where the flickering is happening (on my dev PC).

    Code:
    [5528] Direct3D9: (WARN) :Static vertex buffer locked more than once per frame. Could have severe performance penalty if occuring frequently.
    
    [5528] Direct3D9: (ERROR) :Error trying to lock driver surface
    
    [5528] Direct3D9: (WARN) :Ignoring redundant SetTextureStageState. Stage: 0, State: 1

    I dont get any d3d errors or warnings. I set the debug-output-level to Maximum.
    I went to most screens, including EPG. No errors or warinings though.
    But like I said in my earlier post, I do not get flickering anymore with HW-deinterlace turned of either.

    My version of MP is completely recompiled though... using VS 2008 with DxSDK March 2008 and Windows Server 2008 SDK (that is v6.1 !!... the v6.0a Win SDK that came with VS2008 caused a couple problems in the debugger).

    justinteractive
     

    TrueBlue

    Portal Member
    March 6, 2008
    21
    3
    Stockholm
    Home Country
    Sweden Sweden
    I have the same problem. The flickering in the menus and when the picture changes fast i get a horizontal line near the centre of the image.

    Vista SP1, SVN: 18?, EVR, Any Codec, Radeon HD3200
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Eabin, I think I have found some clues. This doesn't seem to be a performance issue after all. If MP GUI rendering is allowed to run at the full speed when video is playing the flickering is eliminated. As a side effect CPU usage sky rockets to the 100% To me this looks definately a timing issue but I have no clue how to fix this.

    to test the change uncomment the following line in d3dapp.cs:

    Code:
    private void WaitForFrameClock()
        {
          //if (GUIGraphicsContext.Vmr9Active && GUIGraphicsContext.Vmr9FPS>1f) return;
    ...
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Findings part II:

    in fontEngine.dll :: void FontEnginePresentTextures()

    Code:
    for (int i=0; i < textureCount; ++i)
    ...
       texture->pVertexBuffer->Lock( 0, 0, (void**)&pVertices, 0 ) ;
       memcpy(pVertices,texture->vertices, (texture->iv)*sizeof(CUSTOMVERTEX));
       texture->pVertexBuffer->Unlock();

    I guess thats where the multiple lock warning is coming from. Could someone who has actual DX side knowledge have a look into these two findings?

    One pissible way tor getting a rid of the locking issue: Performance Optimizations (Direct3D 9) / "Using Dynamic Vertex and Index Buffers"
     

    mironicus

    Portal Pro
    March 9, 2008
    688
    44
    This doesn't seem to be a performance issue after all.

    That's true. I have a Dual-Core and the cpu usage is low even though the flickering issue.

    With hardware acceleration on the gui rendering is much faster as usually (60fps+). The gui doesn't seem to be synchronized anymore. Maybe it helps if you could slow down the speed of the gui (for example: only half the speed of the video frame rate).

    However: Why is there a speed change in the gui with hardware acceleration on? The default speed is like 10 fps (not smooth at all). If the Mediaportal gui could be as smooth as the Media Center GUI (locked to 30fps for example), that would be perfect. :)
     

    Mr Hipp

    Retired Team Member
  • Premium Supporter
  • April 2, 2006
    1,261
    188
    58
    Malmö
    Home Country
    Sweden Sweden
    I think I once looked into that and came to the conclusion that it was nothing serous.

    Mr Hipp

    Findings part II:

    in fontEngine.dll :: void FontEnginePresentTextures()

    Code:
    for (int i=0; i < textureCount; ++i)
    ...
       texture->pVertexBuffer->Lock( 0, 0, (void**)&pVertices, 0 ) ;
       memcpy(pVertices,texture->vertices, (texture->iv)*sizeof(CUSTOMVERTEX));
       texture->pVertexBuffer->Unlock();

    I guess thats where the multiple lock warning is coming from. Could someone who has actual DX side knowledge have a look into these two findings?

    One pissible way tor getting a rid of the locking issue: Performance Optimizations (Direct3D 9) / "Using Dynamic Vertex and Index Buffers"
     

    Users who are viewing this thread

    Top Bottom