Subtitles issues v1.3.0.0 (1 Viewer)

Sebastiii

Development Group
  • Team MediaPortal
  • November 12, 2007
    16,433
    10,254
    France
    France France
    Country flag
    When talking with Tourette about the issue :
    1) D3DERR_INVALIDCALL - more infor would be needed. He needs to use DirectX debug logging from the DirectX itself to be able to see why the call is invalid
    2) Timeout=1,84467440737096E+19 <--- almost infinite subtitle timeout - not sure how it can happen

    Since all is working with DVBSub2 but maybe something wrong with DirectX and new implementation in DVBSub3.
     

    burr

    MP Donator
  • Premium Supporter
  • May 13, 2006
    175
    47
    Sweden Sweden
    I have tested your build to fix the enumeration exception and this error is not there anymore but the directx exceptions still remain.

    I have also tested to do a clean install of the client but still the same.
     
    Last edited:

    Sebastiii

    Development Group
  • Team MediaPortal
  • November 12, 2007
    16,433
    10,254
    France
    France France
    Country flag
    Last edited:

    burr

    MP Donator
  • Premium Supporter
  • May 13, 2006
    175
    47
    Sweden Sweden
    Do i have to download directx SDK to get to debug mode, i can't move the slider when i open "directx.cpl"?
     

    burr

    MP Donator
  • Premium Supporter
  • May 13, 2006
    175
    47
    Sweden Sweden
    The SDK was the trick here is the logs

    00020862 20:46:06 [3524] Direct3D9: (ERROR) :D3DUSAGE_DYNAMIC cannot be used with managed vertex buffers
    00020863 20:46:06 [3524]
    00020864 20:46:06 [3524] Direct3D9: (ERROR) :Failure trying to create Vertex Buffer
     

    Scythe42

    Retired Team Member
  • Premium Supporter
  • June 20, 2009
    2,065
    2,703
    46
    Berlin
    Germany Germany
    Dynamic Textures cannot be used with a managed D3D Pool. Or in D3D terms. D3DUSAGE_DYNAMIC and D3DPOOL_MANAGED are incompatible.

    In this case it's about the Vertex Buffers. Static Vertex Buffers are placed into video memory and dynamic ones in the AGP memory. If D3DUSAGE_DYNAMIC is not specified the vertex buffers are made static.

    The only reason to use dynamic vertex buffers is that you don't have to lock them. Locking has huge performance penalties as the lock forces a wait until the GPU finished reading vertex/inde data from the buffer before control is given back to an app. Locking a static buffer several times per frame prevents the GPU from buffering rendering commands. Without buffered commands the GPU remains idle until the app finished filling the vertex buffer/index buffer.

    Normally the vertex or index data should not change. There are of course applications where this is needed on every frame. This is the only reason to use D3DUSAGE_DYNAMIC.

    So if we don't change vertex/index data no need of D3DUSAGE_DYNAMIC should be given. Need to take a look at the code itself what we do with the vertex buffers. But honestly the vertex buffer should be the always the same. At least during one frame. Locking between frames would be OK, but still has performance penalties.

    Subtitles should be rendered to a texture, and the texture is displayed with the same vertices anyway. Don't really see the need to change the vertices here. Rendering each letter as it's own object would be a bit of an overkill. Rendering them to a texture and them pumping this texture to the GPU should be faster.

    I need to take a look at the code itself to see what we are doing. But if this can be fixed easily I guess as it seems to be introduced recently. But let me take a look at the code first.

     

    burr

    MP Donator
  • Premium Supporter
  • May 13, 2006
    175
    47
    Sweden Sweden
    Dynamic Textures cannot be used with a managed D3D Pool. Or in D3D terms. D3DUSAGE_DYNAMIC and D3DPOOL_MANAGED are incompatible.

    In this case it's about the Vertex Buffers. Static Vertex Buffers are placed into video memory and dynamic ones in the AGP memory. If D3DUSAGE_DYNAMIC is not specified the vertex buffers are made static.

    The only reason to use dynamic vertex buffers is that you don't have to lock them. Locking has huge performance penalties as the lock forces a wait until the GPU finished reading vertex/inde data from the buffer before control is given back to an app. Locking a static buffer several times per frame prevents the GPU from buffering rendering commands. Without buffered commands the GPU remains idle until the app finished filling the vertex buffer/index buffer.

    Normally the vertex or index data should not change. There are of course applications where this is needed on every frame. This is the only reason to use D3DUSAGE_DYNAMIC.

    So if we don't change vertex/index data no need of D3DUSAGE_DYNAMIC should be given. Need to take a look at the code itself what we do with the vertex buffers. But honestly the vertex buffer should be the always the same. At least during one frame. Locking between frames would be OK, but still has performance penalties.

    Subtitles should be rendered to a texture, and the texture is displayed with the same vertices anyway. Don't really see the need to change the vertices here. Rendering each letter as it's own object would be a bit of an overkill. Rendering them to a texture and them pumping this texture to the GPU should be faster.

    I need to take a look at the code itself to see what we are doing. But if this can be fixed easily I guess as it seems to be introduced recently. But let me take a look at the code first.

    Have you had any time to look at the code?
     

    Users Who Are Viewing This Thread (Users: 0, Guests: 1)

    OP Similar threads Forum Replies Date
    S [solved] Live TV subtitle issue if not using 100% font General 31
    M.Hulot Blu-ray: Es werden nicht nur Forced Subtitles angezeigt Allgemeines Supportforum 1
    J How to change y position of subtitles General 2
    R [will not fix] [MP2-832] MP2.2.2 subtitles not shown for WTV files Submit: Bug Reports 7
    S Remote button to change audio and subtitle on / off General 10
    P [solved] ATSC subtitles not fixed yet? General 2
    E Swedish subtitles problem General 2
    ratata Someone stole my subtitles... General Support 0
    Dark Eyes Display subtitles on a separate display or device MediaPortal 1 Plugins 0
    R [solved] Command / Shortcut for changing subtitles or audio Archive 5
    K Multichannel audio and subtitles for TV not properly supported General Support 4
    S Display non english folder name, subtitle, etc. General 23
    S [solved] Movie SRT subtitle didn't display on client 2.2 Archive 18
    D [solved] How to configure subtitle color in MP 2.2.1? General 5
    S [fixed] [MP2-611] Teletext subtitles language selection 2.2 Archive 20
    G [fixed] [MP2-611] Having problems with subtitles (ATSC) 2.2 Archive 14
    S Australia live TV teletext subtitle General 4
    R MP2 GUI Issues General 7
    morpheus_xx [WiP] WIP 2.3 Fanart issues? MediaPortal 2 13
    morpheus_xx [Help Me!] Build issues on TeamCity MediaPortal 2 1
    W Not finding/matching new series - thetvdb issue? My TVSeries 3
    J [fixed] Import issue with alternate movie title matching the name of another movie Submit: Bug Reports 7
    1gkar Latest Intel HD4600 Drivers Issue General Support 0
    J Odd issues with Freesat EPG - MP2 General 18
    DHosein Mediaportal & Antimalware Service High CPU issue General Support 2
    Similar threads

























    Top Bottom