MP1-4100 Rework Refresh Rate when using multi monitor (1 Viewer)

Sebastiii

Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    Description of Change
    This change is to be able to properly refresh rate your correct monitor set in MP Configuration

    The MP build provided is based on MP 1.4 + latest master change.

    Tickets : https://issues.team-mediaportal.com/browse/MP1-4100

    The source code can be found in the branch :
    New branch :
    MP1-4100_Rework_Refreshrate_for_multi_monitor on github

    Steps to install and test
    Installation
    Download the -->> installer <<-- and execute it.
    If you already have MP 1.4 installed, you need to start installer from : %Temp%\MediaPortal Installation\deploy

    Testing
    Setup Dynamic Refresh Rate to auto refresh your screen and see if it refresh your select monitor.
    You can also try to manually change your refresh rate from windows control panel.
    Look if stats works correctly.
    The issue address user with Multi-Screen setup (one or more GPU card in PC).
    Please do not forget to give some feedback (also if there is no bug). Thank you!

    Sebastiii

    Changelog

    Version 1.4.0 v1
    Build Based on MP 1.4 + master

    Version 1.4.0 v2
    Build Based on MP 1.4 + master with Win7 API rework to keep decimal value like 23.976Hz.

    Version 1.4.0 v3
    Build Based on MP 1.4 + master with Win7 API rework to keep decimal value like 23.976Hz.
    Change detection on C# side about current screen (little tweak)

    Version 1.4.0 v4
    Build Based on MP 1.4 + master with Win7 API rework to keep decimal value like 23.976Hz.
    Change detection on C# side about current screen (little tweak).
    Disable Vsync and bias correction for Win7 or lower if MP is not started on primary screen (based on input from Tony (thanks) )

    Version 1.5.0 Prelease + Master
    Build Based on MP 1.5.0 Pre Release + master.
    Not real change only a fix in log to tell us is refresh rate was successful or not.

    Version 1.5.0 + Master
    Build Based on MP 1.5.0 + master.
    Handle RDP multiscreen.
    We can lead (in rare case) to error when we use RDP.

    Version 1.5.0 Final
    Build Based on MP 1.5.0 Final.
     
    Last edited:

    azzuro

    Test Group
  • Team MediaPortal
  • May 10, 2007
    9,950
    5,620
    France - IDF
    Home Country
    France France
    add to my boorkmark for test !
    Edit : How test :
    Play Video files on all screen : display Renderer stat with "
    images
    " keyboard
     
    Last edited:

    Sebastiii

    Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    • Thread starter
    • Moderator
    • #3
    Yep :)

    And also see if it's the correct screen (in case of multi monitor on your PC) is refreshed correctly :)
     

    azzuro

    Test Group
  • Team MediaPortal
  • May 10, 2007
    9,950
    5,620
    France - IDF
    Home Country
    France France
    So 1st Test :
    2 screen
    1 : Viewsonic FullHD 1920x1080 60hz
    2 : Samsung 1680x1050 60hz

    MP is set for start on Viewsonic in Windowed mode and i switch on Samsung.
    Renderer stats show Viewsonic info.
    18-32-07.png
     

    azzuro

    Test Group
  • Team MediaPortal
  • May 10, 2007
    9,950
    5,620
    France - IDF
    Home Country
    France France
    New Test, New Post
    WARNING !
    These change apply only for the Screen whose MP is set For started " START SCREEN" nothing else !

    Capture.JPG
     

    Attachments

    • 18-49-45.png
      18-49-45.png
      1.8 MB

    vuego

    Documentation Group
  • Team MediaPortal
  • August 5, 2006
    1,639
    764
    Göteborg
    Home Country
    Sweden Sweden
    This is great Sebastiii. Maybe we don't need EventGhost workarounds to use Dynamic Refresh Rate on the secondary monitor soon (y)

    I tested this build with two displays connected:
    1. ATI Radeon 5750 Card #1 - No display connected
    2. ATI Radeon 5750 Card #2 DVI - 2560 x 1440 monitor as primary at 60 Hz (no other refresh rates supported)
    3. ATI Radeon 5750 Card #2 MiniDisplayPort - 1920 x 1080 projector as secondary running MP at 50 Hz (24, 50 and 60 Hz supported among others)
    Playing a 24 fps video using MediaPortal from this Area 51 thread changes the secondary display to 24 Hz correctly and the correct stats are displayed:
    MediaPortal DRR on Secondary monitor.jpg

    When using MediaPortal 1.4 final, then refresh rate is not changed and stats shows Display refresh rate from the wrong monitor.
     

    vuego

    Documentation Group
  • Team MediaPortal
  • August 5, 2006
    1,639
    764
    Göteborg
    Home Country
    Sweden Sweden
    Now I also tested another setup and all is good :)
    1. ATI Radeon 5750 Card #1 DVI - 2560 x 1440 monitor as primary at 60 Hz (no other refresh rates supported)
    2. ATI Radeon 5750 Card #2 MiniDisplayPort - 1920 x 1080 projector as secondary running MP at 50 Hz (24, 50 and 60 Hz supported among others)
    I also tested setting the MediaPortal screen to primary as well.
     

    Sebastiii

    Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    • Thread starter
    • Moderator
    • #8
    That good news :)

    So know it could be nice to port the change with Win7 API but after days of trying, seems really hard for me.
    So this branch fix the issue by using Win32 API and not WIN7 one.
     

    Sebastiii

    Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    • Thread starter
    • Moderator
    • #10
    Hi Guys,

    Installer updated in first post (V3).
    Win7 API is back to have decimal value for refresh rate display stats (that needed also for C++ components (MPAR ?) :) )
    Little tweak to get the current screen setup in MP config and not where MP windows is.
    D3D init MP based on the screen selected in MP config, so we should stay on that value all the time (even if you move MP between screen) it keep this based reference.

    Strangely, on my WIN8, running Primary screen to 60Hz and a movie @ 50Hz on secondary monitor (it where i have set to start MP), the line were flat and no stutter :) (not sure if it's placebo or Win8).

    The only way (for me) to have flat line on Win7 when the setup is configured with multiscreen :
    • Where MP is displayed : the screen should be primary
    • or
    • Have the same refresh rate for both screen
    • or
    • Disable Aero (but Aero/Vsync is needed to avoid tearing )
    So right now on Win8 (flat line) and this mod i have :
    • MP screen not set to primary
    • Different refresh rate
    • Aero (integrated on Win8)
    Thanks :)
     
    Last edited:

    Users who are viewing this thread

    Top Bottom