Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
15th March 2014, 15:38 | #24981 | Link | |
Registered User
Join Date: Jan 2007
Posts: 530
|
Quote:
Unfortunately, I had no other material to check and I did not verify NNEDI3 doubling. I am hoping to build another here soon and do a more thorough analysis.
__________________
Win7Ult || RX560/4G || Ryzen 5 |
|
15th March 2014, 15:44 | #24982 | Link | |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
Unfortunately the log doesn't tell Direct3D changes the display mode. Which means that Direct3D does that through an API which the API Monitor didn't hook/watch... So back to square one: I can probably only do anything about this if I'm able to reproduce it on my PC, which currently I can't. |
|
15th March 2014, 15:55 | #24983 | Link | |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Quote:
Code:
D3D9 StretchRect: 7083 fps D3D9 HLSL PixelShader: 7765 fps Error Diffusion DirectCompute: 171 fps Error Diffusion DirectCompute interop: 166 fps Error Diffusion DirectCompute interop 2: 164 fps |
|
15th March 2014, 16:21 | #24984 | Link | |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
|
|
15th March 2014, 16:27 | #24985 | Link | |
Registered User
Join Date: Apr 2009
Posts: 1,019
|
Quote:
I do sometimes notice a slight flicker/pulsing brightness in the smooth areas of the image (e.g. the sky) which always has me questioning whether it's in the source or due to the fact that dither is not linked to the framerate. (it's most likely the source, but now that idea is in my head, I notice it all the time) |
|
15th March 2014, 16:45 | #24986 | Link | |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
|
Quote:
D3D9 StretchRect: 2312 fps D3D9 HLSL PixelShader: 2258 fps Error Diffusion DirectCompute: 276 fps Error Diffusion DirectCompute interop: 374 fps Error Diffusion DirectCompute interop 2: 350 fps
__________________
LAV Filters - open source ffmpeg based media splitter and decoders |
|
15th March 2014, 16:55 | #24987 | Link | |
Registered User
Join Date: Jan 2013
Posts: 18
|
Just for the sake of to see how a low end GPU, Radeon 5730M, (but still beefy enough for everything, bar NNEDI) would perform, here are my results:
Quote:
Last edited by sajara; 15th March 2014 at 17:06. |
|
15th March 2014, 17:33 | #24990 | Link |
Registered Developer
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
|
That is assuming it increases as raw performance increases.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders |
15th March 2014, 17:38 | #24992 | Link | ||
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
Quote:
I think it should. |
||
15th March 2014, 17:49 | #24993 | Link |
MPC-HC Developer
Join Date: May 2010
Location: Poland
Posts: 586
|
And my poor HD5870
Code:
--------------------------- speed measurements: --------------------------- D3D9 StretchRect: 2245.072021 fps D3D9 HLSL PixelShader: 4834.187012 fps OpenCL copy: 4395.217773 fps OpenCL kernel: 3370.635010 fps OpenCL copy interop: 91.733017 fps OpenCL kernel interop: 98.520515 fps Error Diffusion OpenCL: 401.759674 fps Error Diffusion OpenCL interop: 13.235280 fps Error Diffusion OpenCL interop 2: 52.057819 fps Error Diffusion DirectCompute: 228.971298 fps Error Diffusion DirectCompute interop: 218.831314 fps Error Diffusion DirectCompute interop 2: 214.933136 fps Code:
--------------------------- speed measurements: --------------------------- D3D9 StretchRect: 5446.919922 fps D3D9 HLSL PixelShader: 5224.660645 fps OpenCL copy: 4317.416504 fps OpenCL kernel: 3300.330078 fps OpenCL copy interop: 91.844238 fps OpenCL kernel interop: 97.938782 fps Error Diffusion OpenCL: 401.779083 fps Error Diffusion OpenCL interop: 13.242332 fps Error Diffusion OpenCL interop 2: 51.752998 fps Error Diffusion DirectCompute: 227.469162 fps Error Diffusion DirectCompute interop: 218.710220 fps Error Diffusion DirectCompute interop 2: 213.650116 fps Last edited by kasper93; 15th March 2014 at 18:09. |
15th March 2014, 17:50 | #24994 | Link |
Registered User
Join Date: May 2012
Posts: 447
|
Could be that the maximum FPS (on the stretchrect and shader tests) is capped by memory bandwidth or bus speed, whereas the directcompute stuff is capped by processing power. In that case the Maxwell 750 is still something like 276 / 171 ≈ 60% faster than the Kepler 770. Of course that's purely speculation. It seems a bit weird that the versions with interop are faster on the Maxwell though.
__________________
Test patterns: Grayscale yuv444p16le perceptually spaced gradient v2.1 (8-bit version), Multicolor yuv444p16le perceptually spaced gradient v2.1 (8-bit version) |
15th March 2014, 17:51 | #24995 | Link | |
Registered User
Join Date: Jan 2008
Posts: 589
|
Quote:
So I did what you suggested and then some: I used Process Monitor to find if any other processes were doing anything while the frame drops happen. I disabled all background processes I could find in the resulting traces. Then I tried disabling as much hardware as possible (unplugging all USB except mouse and keyboard, unplugging network, disabling onboard devices in BIOS, switching SATA controllers, etc.). I switched all power options (GPU and Windows) to maximum performance. I changed MPC-HC process priority to High. None of that makes any difference. I tried going back to NVidia driver 321.10. I suspect it's slightly better but nevertheless, I still get frame drops. Then I tried using XPerf and while I'm still unable to fix the problem, I managed to observe some interesting phenomenon: It appears that every ~7 seconds, a madVR thread (blue spiky line) is blocked during a significant amount of time (10-15 milliseconds). Stack information indicates that during these spikes the vast majority of the time is spent in GetRasterStatus(). madshi: does that make sense to you? This happens all the time and with both NVidia drivers 321.10 and 335.23. Reading the documentation for GetRasterStatus() I am confused as to why any code would spent so much time in this seemingly lightweight non-blocking method like that, especially with such weird periodicity. Now this might or might not be related to the frame drops, but I suspect it is because every time a frame drop happens it appears to be time-aligned with one of these spikes. In fact with 335.23 (and maybe with 321.10, I'm not sure) in some (not all) frame drop instances it can get much worse: The blue line is the madVR thread with the aforementioned spike. The green spike is a massive CPU spin in a kernel thread with a nvlddmkm.sys (NVidia driver) stack trace. It lasts for an enormous amount of time (230 ms in this instance), during which an entire CPU core is hosed and madVR seems to freeze, resulting in a burst of 5+ frame drops. What's interesting there is that the green spike seems to directly follow the blue spike, and the correlation doesn't seem to be a coincidence (the blue spike happens every 7 seconds and the green one follows less than 100 milliseconds after that - or maybe even less due to the sampling resolution). Technically that's probably a NVidia driver bug as it's never supposed to do that but maybe some behavior in madVR is triggering it. madshi: here are some logs. The "try15" one is with 335.23 and relates to the graph above. The drop happens at timestamp 00439135 in the log. The "try16" one is with 321.10 and the drop happens at timestamp 01562318. In both runs, care has been taken to disable all unnecessary hardware and background processes to make the test as "pure" as possible. All madVR options are set to defaults except for Smooth Motion which is enabled. Sorry for the giant "try16" log - I sometimes have to wait a long time before the issue shows up again. I really hope you can make sense of this, because I'm *really* out of options now. My only possible next steps are nuclear options like a Windows reinstall or even replacing the GPU or motherboard... By the way, feature request: it would be nice if madVR could log the current system time in human-readable form every second or so, as it makes it easier to correlate the entries in the log with external tools like Process Monitor or XPerf. Last edited by e-t172; 15th March 2014 at 19:14. |
|
15th March 2014, 19:22 | #24998 | Link | |||||
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
Quote:
I agree with you, there's no possible reason why a call to GetRasterStatus() would block for any serious amount of time. Furthermore, madVR intentionally uses a separate D3D9 device to call GetRasterStatus() to avoid any conflicts with the rendering and presentation devices! So there's basically one D3D9 device which is used for nothing else but calling GetRasterStatus() once every millisecond (Sleep(1)). Such a block for 10-15ms could cause problems in windowed/overlay mode, but I believe FSE mode should not even notice that, unless the driver internally blocks, too, and fails to flip to an already planned video frame via VSync hardware interrupt. That would then be one situation which would end up as a presentation glitch. Quote:
Quote:
Quote:
True. Though, usually users don't really know how to interpret logs, and I personally don't have much use for such timestamps from the users' PCs because I never got logs from other tools from a user yet. |
|||||
15th March 2014, 19:25 | #24999 | Link |
Guest
Posts: n/a
|
madshi, I uninstalled madVR using uninstall.bat from ALL locations, then did the same for restore default settings.bat, then I removed all the files from all location, ran several file cleaners, registry cleaners, restarted, re-downloaded the latest madVR, ran restory default settings.bat again, opened madTPG and the screen turned gray again (not due to 16-235 range)...
Here is what happens when I open madTPG.exe. At first Windows shows me the Security Warning. I press RUN. Then madTPG appears and it has a valid black screen. Then, I get madHcCtrl.exe Security Warning. As soon as I press RUN - madTPG screen goes from black to gray and then I get Windows Access problem... so it is something in madHcCtrl.exe I presume (not saying its madVR's issue), a setting or something... yet, all is at default, no old settings used. I really have no idea... Maybe the latest 335 nVidia drivers did this... |
15th March 2014, 19:29 | #25000 | Link | ||
Registered User
Join Date: Jun 2011
Location: London, UK
Posts: 10
|
Quote:
Yes, I cannot do that with the recent builts. Quote:
While not a question, I can't unpress both of these buttons (at least one of the buttons will be blue no matter what I try). I suspect it has do with the logic controlling the buttons... when disable VideoLUTs is grey (ie the VideoLUT is enabled), and disable 3dlut is blue (ie disabled), pressing the disable 3dlut button toggles the state of Both buttons. |
||
Tags |
direct compute, dithering, error diffusion, madvr, ngu, nnedi3, quality, renderer, scaling, uhd upscaling, upsampling |
|
|