MP1 EVR Presenter/dshowhelper community development (1 Viewer)

Holzi

Super Moderator
  • Team MediaPortal
  • April 21, 2010
    7,934
    2,235
    Ba-Wü
    Home Country
    Germany Germany
    Hello!
    First I wanna thank you for your amazing work! I just did some tests two weeks ago because I got bored and I saw a lot of people say v92 works great and they use it. But for me the original files coming with MP 1.2.2 (I just replaced the TSReader.ax with the fix from here) do perfect and I use them now.
    Hopefully disaster123 can provide you useful logs as I don't have access to my HTPC this week.
     

    disaster123

    MP Donator
  • Premium Supporter
  • May 14, 2008
    3,558
    434
    Home Country
    Germany Germany
    Same with V0092a_no_dwm. I can't provide a screenshot as is still don't know how to make a screenshot with remote and IRSS.

    Here are the Loglines:
    Code:
    22-02-2012 15:22:40.248 [13d8]Dropping frame, NST -61.35 ms, AveRNST 7.50 ms, last sleep 0.00 ms, last pres -88.00 ms, paint 88.37 ms, queue count 1, SOP 390, EOP 863, RawFRRatio 1, dropped 3, drawn 1765, late 0
    22-02-2012 15:22:40.248 [26c]Dropping sample from the past (24.10 ms, last call to NotifyWorker: 0.02 ms, Queue: 1, Dropped: 3)
    22-02-2012 15:22:40.250 [13d8]Dropping frame, NST -42.95 ms, AveRNST 7.50 ms, last sleep 0.00 ms, last pres -90.00 ms, paint 88.37 ms, queue count 0, SOP 390, EOP 863, RawFRRatio 1, dropped 4, drawn 1765, late 0
    22-02-2012 15:22:40.250 [26c]Dropping sample from the past (5.67 ms, last call to NotifyWorker: 0.02 ms, Queue: 0, Dropped: 4)
     

    disaster123

    MP Donator
  • Premium Supporter
  • May 14, 2008
    3,558
    434
    Home Country
    Germany Germany
    Owlsroost
    i could "fix" the 2 minute stuttering by using the latest available git Accurate_Sync branch and applying the following patch (it just groups the important settings) and enables MCSS for the threads (except DWM) and sets all priorities to HIGH for them.
    Code:
    diff --git a/dshowhelper_DWM_mod/source/EVRCustomPresenter.h b/dshowhelper_DWM_mod/source/EVRCustomPresenter.h
    index 7aac199..82af208 100644
    --- a/dshowhelper_DWM_mod/source/EVRCustomPresenter.h
    +++ b/dshowhelper_DWM_mod/source/EVRCustomPresenter.h
    @@ -29,6 +29,7 @@ using namespace std;
     //Disables MP audio renderer functions if true
     #define NO_MP_AUD_REND false
     
    +
     //Enables DWM parameter changes if true
     #define ENABLE_DWM_SETUP true
     //#define ENABLE_DWM_SETUP false
    @@ -36,6 +37,19 @@ using namespace std;
     //Enables reset of DWM parameters if true
     #define ENABLE_DWM_RESET true
     
    +//Bring Scheduler/Worker/Timer threads under Multimedia Class Scheduler Service (MMCSS) control if 'true'
    +#define SCHED_ENABLE_MMCSS true
    +#define WORKER_ENABLE_MMCSS true
    +#define TIMER_ENABLE_MMCSS true
    +
    +//MMCSS priority levels for Scheduler/Worker/Timer threads
    +#define SCHED_MMCSS_PRIORITY  AVRT_PRIORITY_HIGH
    +#define WORKER_MMCSS_PRIORITY AVRT_PRIORITY_HIGH
    +#define TIMER_MMCSS_PRIORITY  AVRT_PRIORITY_HIGH
    +
    +//Bring DWM under Multimedia Class Scheduler Service (MMCSS) control if 'true'
    +#define DWM_ENABLE_MMCSS false
    +
     //Enables repeated rendering of last sample when queue becomes empty if true
     #define ENABLE_EMPTY_RENDER true
     //#define ENABLE_EMPTY_RENDER false
    @@ -71,24 +85,10 @@ using namespace std;
     //skip DwmInit() if display refresh period is > 25.0 ms (i.e. below 40Hz refresh rate)
     #define DWM_REFRESH_THRESH 25.0
     
    -//Bring Scheduler/Worker/Timer threads under Multimedia Class Scheduler Service (MMCSS) control if 'true'
    -#define SCHED_ENABLE_MMCSS false
    -#define WORKER_ENABLE_MMCSS true
    -#define TIMER_ENABLE_MMCSS true
    -
    -//MMCSS priority levels for Scheduler/Worker/Timer threads
    -#define SCHED_MMCSS_PRIORITY  AVRT_PRIORITY_HIGH
    -#define WORKER_MMCSS_PRIORITY AVRT_PRIORITY_NORMAL
    -#define TIMER_MMCSS_PRIORITY  AVRT_PRIORITY_LOW
    -
     //MMCSS 'Task' type
     #define MMCSS_REG_TASK  L"Playback"
     #define MMCSS_SCH_REG_TASK  L"Playback"
     
    -//Bring DWM under Multimedia Class Scheduler Service (MMCSS) control if 'true'
    -#define DWM_ENABLE_MMCSS false
    -
    -
     // magic numbers
     #define DEFAULT_FRAME_TIME 200000 // used when fps information is not provided (PAL interlaced == 50fps)
     

    Owlsroost

    Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    If that works on your system it's fine, but be careful with MMCSS - it's a pretty 'aggressive' scheduler so it's easy to mess up the performance of other threads if you go too high with the priorities (been there, got the tee-shirt :))

    Tony
     

    disaster123

    MP Donator
  • Premium Supporter
  • May 14, 2008
    3,558
    434
    Home Country
    Germany Germany
    Hi disaster123,
    could you please post your new dll. thanks in advance.
    attached

    Remember to add some logging information so Tony doesn't have to wonder about possible odd reports people are writing (behavior not matching the actual code :))
    For sure. Added Disaster123 v0.01 dshowhelper as an additional log line.
     

    kilik360

    MP Donator
  • Premium Supporter
  • September 3, 2010
    576
    235
    Home Country
    Canada Canada
    Hi Guys, I don't like jumping to conclusion but, dshowhelper_092 with DWM (what's this DWM ???) has improved my viewing experience in LiveTV using the Hauppauge Colossus and my HD STB. I was pleased with the orignal one of MP1.2.2 (055f) all lines was flat with some drop here and there. But the 092w/DWM gives me almost no drops. My 3 lines graph is kind of "wavey" ~~~~~~~~~~ but the result is great.

    I'll stay with dshowhelper_092w/DWM and report my experience back.

    again, keep up the great work.
     

    Owlsroost

    Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    DWM = Desktop Window Manager = 'Aero' desktop. (Aero isn't just eye candy - it changes the way rendering to the screen works).

    The 'DWM' versions of dshowhelper enable 'queued mode' rendering in the DWM, which seems to improve performance with some video cards/drivers. The standard and 'no_DWM' versions don't have this enabled.

    Tony
     

    Users who are viewing this thread

    Top Bottom