1 (edited by Nintendo Maniac 64 10-07-2015 06:25:54)

Topic: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

I just updated to 3.1.7 today and everything seemed fine, but I was watching nothing but 30fps videos on a 60hz display.

When I tried 24fps and 25fps videos, I found that I get this really weird stuttering after 5-10 seconds or so to the point that both 2x and 3x of 24 and 25fps looked smoother even though my display was running at 60hz.  GPU acceleration is not being used and I'm using the exact same stand-alone copy of MPC-HC that I used perfectly fine with SVP 3.1.6.  Note that this stuttering also occurs with "To screen refresh rate" if its interpolating by a fractional amount.


I've only tested this on one PC currently, and I'll update this post accordingly once I test on a second PC.

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

CPU load is less then you use 2x, 3x and so on... integer smooth factor.
If you use non integer smooth factor you need more CPU power. Look at your SVP Performance Graphs window. What CPU load is shown there?

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Wait, even 3x uses less CPU load than 2.5x?  O_o  That was why I made special mention of it - I thought the likes of 2.5x would be inbetween 2x and 3x when it came to CPU utilization.

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Nintendo Maniac 64
3x = o i i o i i o i i o i i... 24 original 48 interpolated frames in one second
2,5x = o i i i i o i i i i o... 12 original (12 original is dropped) 48 interpolated frames in one second

So they have the same number of interpolated frames in one second and it must gives the same CPU load.

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Then shouldn't the CPU utilization be the same?  So then why is 3x smoother for 24fps content even though I'm at 60hz and MPC-HC is dropping 12 frames anyway?

6 (edited by dlr5668 10-07-2015 19:58:24)

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Nintendo Maniac 64
24->60: 12 original 48 interpolated = 20% original
24->72: 24 original 48 interpolated = 33% original
more original frames -> more smooth

7 (edited by Nintendo Maniac 64 10-07-2015 20:20:40)

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

dlr5668 wrote:

24->72: 24 original 48 interpolated = 33% original
more original frames -> more smooth

Except...

1. I'm displaying at 60hz, so 12 frames are being dropped anyway.

2. Even 2x to 48fps is smother than 2.5x, and again I'm displaying at 60hz, so 12 frames are being repeated.

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Nintendo Maniac 64
12 frames are being dropped anyway

they dropped away after they were created
if "GPU acceleration is not being used" every frame created is taking some (a lot of) CPU

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

I recommend to overcloack ur monitor to 71.928 or downcloack to 48 Hz. It looks much better than 60

10 (edited by Nintendo Maniac 64 10-07-2015 21:38:23)

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Seriously I should just take a video of the issue because it's really obvious, even when recording at 30fps.

dlr5668 wrote:

I recommend to overcloack ur monitor to 71.928 or downcloack to 48 Hz. It looks much better than 60

Can't do that with an 8-year old Intel GPU in a laptop (read: Intel 965GMA)...I'll gladly accept free computers and PC parts as donations however. tongue

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Nintendo Maniac 64
I'll gladly accept free computers and PC parts as donations however.

this isn't cool today
start your own crowdfunding campaign, be the man!!! big_smile

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Here's my camera recording showing the issue:
https://www.youtube.com/watch?v=eHXoZjWLMQg

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

and the renderer is... ?
try it with "overlay", "VMR9" and "EVR" (not the "custom presenter" one)

14 (edited by Nintendo Maniac 64 11-07-2015 01:08:10)

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Chainik wrote:

and the renderer is... ?

EVR Custom Presenter D3D Fullscreen

Chainik wrote:

try it with "overlay", "VMR9" and "EVR" (not the "custom presenter" one)

Would it really make a difference when I can play VP9-encoded 1080p 60fps content perfectly smoothly on the same PC through the same MPC-HC setup but with SVP closed?  For reference the video I showed in the recording wasn't even 640x480.

I do recall however that, when I first tried YouTube's 60fps content on this PC, I found that EVR Custom Presenter D3D Fullscreen was the only way to get perfectly smooth 60fps playback with my display at 1920x1080@60hz.

15 (edited by Nintendo Maniac 64 11-07-2015 03:53:51)

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Changing the presenter does nothing.  However, oddly enough, if I have SVP's "Turn off on seek" setting to 'Don't turn off', then once the video starts playing, if I hit stop and start it again, it'll be perfectly smooth.  Alternatively, instead of hitting stop, I can just hit the 'Home' key on the keyboard to re-load the current video and it'll also play perfectly smooth.


Nevertheness, I figured out a fix, but I have no idea why it fixes it...

SVP's "Processing threads" setting was set to '2'; when I set it to 3 or 4, the issue completely went away.

For reference I have a Core 2 Duo T8300.


EDIT: Unfortunately though my CPU utilization is like 5-10% higher compared to SVP using 2 threads.

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

so that 5-10% are needed for smooth playback in 5:2 mode

2 threads... you're kidding?
don't try to be smarter than "auto" mode  big_smile

17 (edited by Ghosthree3 11-07-2015 11:54:17)

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

I've had a similar issue since updating. Once SVP kicks in to smooth mode the video is fine, but since updating it will attempt to resmooth every time I play the video after having it paused for a couple of seconds. It also takes longer to hit the smooth stage and the period in which it is 'smoothing' is laggier than it was before.

I'm going to downgrade to 3.1.6. Wish I hadn't deleted it. Found a link for the original installer but having to dig harder for the hotfix that came out for it.

EDIT: Ooooh, this may have been an installer free upgrade from 3.1.5. I assumed it was an update because it came out much later.

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Ghosthree3
it will attempt to resmooth every time I play the video after having it paused for a couple of seconds

could you show the log?

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Which log and where do I find it? Also do I need to do anything before pasting the log like have it screw up a bunch of times?

Worth noting that since I downgraded to 3.1.6 the issue has resolved itself by the way.

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Ghosthree3
Which log and where do I find it?

Information -> Last launch log

downgraded to 3.1.6

this's not the right way to resolve issues...

21 (edited by Ghosthree3 11-07-2015 16:43:02)

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Ok so here is the launch log for 3.1.6 using the following steps.
- Close everything
- Open SVP
- Open MPC-BE
- Play video for 10 seconds then pause
- Wait 1 minute then play the video for 10 seconds and exit MPC

2:24:32.155; Start: SVPMgr 3.1.6 (1041) starts...
2:24:32.155; AppDataPath: C:\ProgramData (ANSI)
2:24:32.156; Start: read settings file settings.ini
2:24:32.156; Start: load language file - English. Duration: 20 ms
2:24:32.176; Start: check launched instance of SVP-manager
2:24:32.176; Start: check Avisynth installed. Duration: 176 ms
2:24:32.352; Start: clear Logs folder
2:24:32.353; Start: CPU and threads count detection
CPU: Intel Core i5-3570K @ 3.40GHz [4 threads] (1899)
2:24:32.354; Start: SVPMgr folders prepare
2:24:32.359; Start: read settings file SVPMgr.ini
2:24:32.361; Start: GPUs settings detection
GPU_11: GeForce GTX 770 (2820)
2:24:32.434; Start: monitors settings detection
Display#00010001: 1920 x 1080 @ 144
Display#00010003: 1920 x 1080 @ 60
Display#00010005: 1440 x 900 @ 60
2:24:32.435; Start: disable LNG-file write when UAC enabled
2:24:32.435; Start: change SVP-manager priority
2:24:32.436; Start: register hotkeys
2:24:32.440; Start: get versions of modules used
ffdshow.ax/avisynth.dll: 1.3.4530.0/2.5.8.6
svpflow1/2.dll: 1.3.5.0/1.5.7.0
svpflow_cpu/gpu.dll: 1.7.2.0/1.8.3.0
2:24:32.440; Start: refresh autostart state in registry
2:24:32.440; Start: some more work with registry
2:24:32.443; Start: create menu
2:24:32.448; Start: update settings file settings.ini. Duration: 10 ms
2:24:32.458; Start: prepare "About the program" window. Duration: 9 ms
2:24:32.467; Start: enable ffdShow waiting mode
2:24:32.468; Start: prepare to work is complete
2:24:32.469; RefreshSVP
2:24:32.471; ===== Waiting for ffdshow video

2:25:06.453; ===== Detected playback with ffdShow. AppName: mpc-be.exe PID: 4236
2:25:06.455; GetDimensionAndFPS_fromOSD start. Duration: 81 ms
2:25:06.536; GetDimensionAndFPS_fromOSD result: 608x336 29.97 1/1
2:25:06.537; T1T: begin. Duration: 1205 ms
2:25:07.742; screen settings refinement: Display#00010003: 1920 x 1080 @ 60
2:25:07.744; T1T: GetAllMediaParams
2:25:07.745; ### CorrectStereoModeByAppAndFilename: Some file.avi
2:25:07.746; T1T: SettingsPrepare
2:25:07.749; T1T: Preparing smooth playback...
2:25:07.750; T1T: WriteAllMediaParamsToIni
2:25:07.751; SVPMgr: main "C:\ProgramData\SVP 3.1\" 608 336 29.97 608 336 2 1. Duration: 182 ms
2:25:07.933; ===== Playback
29.97 * (2 : 1) = 59.94 fps
2:25:07.933; SetPriorityPlayer: 2. Duration: 5069 ms
2:25:13.002; FalseVFR ffdShow-framerate: -Dwn-> 21.122 -Up-> 22.21 -Up-> 28.442 -Up-> 29.791 -Up-> 29.97 fps
2:25:13.003; express clear interval
2:25:13.003; stabilized ffdShow-framerate: 29.97 fps. SVP Index: 1.01/1.00
2:26:11.565; RefreshSVP
2:26:11.567; ===== Waiting for ffdshow video

And here is the log  for 3.1.7 using the exact same steps

2:32:22.472; Start: SVPMgr 3.1.7 (68) starts...
2:32:22.472; AppDataPath: C:\ProgramData (ANSI)
2:32:22.473; Start: read settings file settings.ini
2:32:22.473; Start: load language file - English. Duration: 20 ms
2:32:22.493; Start: check Avisynth installed
2:32:22.494; Start: clear Logs folder
2:32:22.495; Start: CPU and threads count detection
CPU: Intel Core i5-3570K @ 3.40GHz [4 threads] (1899)
2:32:22.496; Start: SVPMgr folders prepare
2:32:22.501; Start: read settings file SVPMgr.ini
2:32:22.502; Start: GPUs settings detection
GPU_11: GeForce GTX 770 (2820)
2:32:22.534; Start: monitors settings detection
Display#00010001: 1920 x 1080 @ 144
Display#00010003: 1920 x 1080 @ 60
Display#00010005: 1440 x 900 @ 60
2:32:22.536; Start: disable LNG-file write when UAC enabled
2:32:22.536; Start: change SVP-manager priority
2:32:22.536; Start: register hotkeys
2:32:22.541; Start: get versions of modules used
ffdshow.ax: 1.3.4530
avisynth.dll: Avisynth MT, 2.5.8.6 (SVP edition) (CRC32:5ED58E27)
svpflow1.dll: 2.0.3
svpflow2.dll: 2.0.2
2:32:22.542; Start: refresh autostart state in registry
2:32:22.542; Start: some more work with registry
2:32:22.544; Start: create menu
2:32:22.549; Start: update settings file settings.ini. Duration: 13 ms
2:32:22.562; Start: prepare "About the program" window. Duration: 9 ms
2:32:22.571; Start: enable ffdShow waiting mode
2:32:22.571; Start: prepare to work is complete
2:32:22.573; RefreshSVP
2:32:22.574; ===== Waiting for ffdshow video

2:32:30.197; Performance statistics:
  Waiting for ffdshow video
  CPU usage 15%  Duration: 0:06  SVP Index 0x
  Memory used at start:0 at end:0 stable
2:32:30.197; ===== Detected playback with ffdShow. AppName: mpc-be.exe, PID: 4376, supports 4GB RAM
2:32:30.207; used avisynth.dll: Avisynth MT, 2.5.8.6 (SVP edition) (CRC32:5ED58E27) from C:\Windows\system32\
2:32:30.209; GetDimensionAndFPS_fromOSD start. Duration: 81 ms
2:32:30.290; GetDimensionAndFPS_fromOSD result: 608x336 29.97 1/1
2:32:30.291; T1T: begin. Duration: 1206 ms
2:32:31.497; screen settings refinement: Display#00010003: 1920 x 1080 @ 60
2:32:31.498; T1T: GetAllMediaParams
2:32:31.499; ### CorrectStereoModeByAppAndFilename: Some file.avi
2:32:31.500; T1T: SettingsPrepare
2:32:31.504; T1T: Preparing smooth playback...
2:32:31.505; T1T: WriteAllMediaParamsToIni
2:32:31.505; SVPMgr: play "C:\ProgramData\SVP 3.1\" avs x86. Duration: 74 ms
2:32:31.579; Selected profile: 720x576@25
2:32:31.583; ===== Playback
29.97 * (2 : 1) = 59.94 fps
2:32:31.584; SetPriorityPlayer: 2. Duration: 1045 ms
2:32:32.629; ===== Playback
2:32:37.308; FalseVFR ffdShow-framerate: -Dwn-> 21.122 -Up-> 22.21 -Up-> 28.442 -Up-> 29.791 -Up-> 29.97 fps
2:32:37.309; express clear interval
2:32:37.309; stabilized ffdShow-framerate: 29.97 fps. SVP Index: 0.99/1.01
2:32:43.955; Performance statistics:
  Playback: 608 x 336 @ 29.97 * (2 : 1) = 59.94 fps
  CPU usage 20%  Duration: 0:11  SVP Index 1x
  Memory used at start:348 at end:348 stable
2:32:43.955; ===== Pause
2:33:13.989; RefreshSVP
2:33:13.990; Performance statistics:
  Pause
  CPU usage 11%  Duration: 0:30  SVP Index 0x
  Memory used at start:348 at end:348 stable
2:33:13.992; ===== Waiting for ffdshow video

2:33:14.500; ===== Detected playback with ffdShow. AppName: mpc-be.exe, PID: 4376, supports 4GB RAM
2:33:14.507; used avisynth.dll: Avisynth MT, 2.5.8.6 (SVP edition) (CRC32:5ED58E27) from C:\Windows\system32\
2:33:14.509; GetDimensionAndFPS_fromOSD start. Duration: 501 ms
2:33:15.010; ===== The player is in pause state

2:33:17.542; GetDimensionAndFPS_fromOSD start. Duration: 61 ms
2:33:17.603; GetDimensionAndFPS_fromOSD result: 608x336 9.909 1/1
2:33:17.605; T1T: begin
2:33:17.606; T1T: GetAllMediaParams
2:33:17.607; ### CorrectStereoModeByAppAndFilename: Some file.avi
2:33:17.608; T1T: SettingsPrepare
2:33:17.611; T1T: Preparing smooth playback...
2:33:17.612; T1T: WriteAllMediaParamsToIni
2:33:17.613; SVPMgr: play "C:\ProgramData\SVP 3.1\" avs x86. Duration: 68 ms
2:33:17.681; Selected profile: 720x576@25
2:33:17.685; ===== Playback
9.909 * (6 : 1) = 59.454 fps
2:33:17.686; SetPriorityPlayer: 2. Duration: 963 ms
2:33:18.649; ===== Playback
2:33:22.299; FalseVFR ffdShow-framerate: -Up-> 21.721 -Up-> 28.173 -Up-> 29.725 -Up-> 29.97 fps
2:33:22.299; express clear interval
2:33:22.300; stabilized ffdShow-framerate: 29.97 fps. SVP Index: 1.05/1.05
2:33:22.302; SVPMgr: play "C:\ProgramData\SVP 3.1\" avs x86. Duration: 114 ms
2:33:22.416; Performance statistics:
  Playback: 608 x 336 @ 29.97 * (6 : 1) = 179.82 fps
  CPU usage 22%  Duration: 0:04  SVP Index 1.03x
  Memory used at start:0 at end:354 growth:87 MB/sec
2:33:22.419; ===== Playback
29.97 * (2 : 1) = 59.94 fps
2:33:22.419; Selected profile: 720x576@25. Duration: 7884 ms
2:33:30.303; RefreshSVP
2:33:30.303; Performance statistics:
  Playback: 608 x 336 @ 29.97 * (2 : 1) = 59.94 fps
  CPU usage 23%  Duration: 0:08  SVP Index 0.97x
  Memory used at start:350 at end:350 growth:12 MB/min
2:33:30.305; ===== Waiting for ffdshow video

Same video used in both tests. Tested it twice with both versions, same problem. The 3.1.7 version hitches after a minute - video visibly changes a little - then restarts really sluggishly, takes about 10s to kick into smooth mode and lags the whole time it's trying. In 3.1.6 and the first time I play a video - or don't pause for long between playing it in 3.1.7 - it only takes about 1 second before it kicks in very nicely.

Downgrading may not be the right way to resolve issues from a dev point of view, but if there's no way to fix the problem in the latest version then there's no reason for me to use it. I've noticed no difference otherwise, so the change has been all negative.

From what I can gather from the logs myself, particularly this line '2:33:13.992; ===== Waiting for ffdshow video', it seems 3.1.7 is losing focus on the media player briefly before rediscovering it. Almost like it's timing out from not being used. At that particular point in the log the media player was just idling.

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Ghosthree3
if there's no way to fix the problem

you can't tell until you'll ask smile

The 3.1.7 version hitches after a minute - video visibly changes a little

this's may be not a bug but a feature  big_smile
it frees GPU resources on long pauses

23 (edited by Ghosthree3 11-07-2015 17:21:51)

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Chainik wrote:

this's may be not a bug but a feature  big_smile
it frees GPU resources on long pauses

Hm perhaps. That wouldn't be so bad, if it didn't start lagging so hard when it tried to restart. I'm literally talking 10 seconds of 5fps playback before it kicks in again instead of normal playback for 1 second before entering smooth.

Regardless, I don't like the behaviour so unless you have a toggle option I'm going to stick with 3.1.6 for the meantime. Looking forward to 4.0 though!

24 (edited by nemoW 11-07-2015 17:41:14)

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

Ghosthree3 wrote:

Regardless, I don't like the behaviour so unless you have a toggle option I'm going to stick with 3.1.6 for the meantime. Looking forward to 4.0 though!

MAG79 wrote:

Hidden settings:
;smoothness off on pause delay, need to free GPU memory and cores (seconds, min: 10, max: 300, 0 and other values - do not turn off)
DisableSmoothnessOnPauseDelay=0

Chainik
Maybe this should be added to wiki.

Re: 24->60fps has wierd stuttering; 24->72fps looks smoother even on 60hz!

nemoW wrote:
MAG79 wrote:

Hidden settings:
;smoothness off on pause delay, need to free GPU memory and cores (seconds, min: 10, max: 300, 0 and other values - do not turn off)
DisableSmoothnessOnPauseDelay=0

Chainik
Maybe this should be added to wiki.

I reinstalled 3.1.7 and hunted for that option. Found it in C:\Program Files (x86)\SVP\Resources\Settings\SVPMgr.ini but it's already set to 0. Either the var is broken or there's somewhere else it should be?