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. |
26th April 2009, 17:49 | #621 | Link |
Registered User
Join Date: Jun 2008
Posts: 45
|
Win XP SP3, MPC-HC b1070, P4 3.2HT, 2GB, HD3850AGP, Reclock 1.8.4.2, PowerStrip 3.8x:
Display estimate 1 is always too high (about 2.5 Hz), Display estimate 2 seems ok though it jumps a bit up and down, Display estimate 3 is roughly the same as 2, but more stable. Unfortunately it occassionally displays weird values (0.00000Hz) when maximizing/minimizing MPC-HC. On a side note, Reclock 1.8.4.2 doesn't work with MadVR. It is unable to detect the proper refresh rate after Powerstrip changes it and the System Clock correction no longer works. PS: When going to Filters --> Madshi Video Renderer in MPC-HC, I cannot see any text after the check-boxes (only see black bars). Might be because I use WindowBlinds. PS2: After Playback, MPC-HC seems to go haywired, using 50% CPU. Trying to quit MPC-HC result in the same and needs an "End Task" through the task manager. Last edited by Klaus_1250; 26th April 2009 at 17:55. |
26th April 2009, 17:51 | #622 | Link |
Registered User
Join Date: Jun 2005
Posts: 630
|
I disagree with KoD as we have numbers as well, so measuring is not subjective. It is hard to measure of course, as we don't have a log of CPU or GPU usage so we cannot directly compare. But the difference is substantial enough here to be taken note of.
Tested with a different 720p AVC file and still figures are pretty much same. Even average time is higher for version40 here, by a factor of roughly 1.5. That makes is almost as long as max time for v31 for instance I tried to dig deeper and found out that for average time (which is 10 for v3x/v41 and 16 for v40) is divided more or less equally between resampling time and rendering time. So it is about 5ms each for 3x and 8ms each for 40. As for maximum time it is divided by 2/3 to resampling and 1/3 to render. And this ratio is pretty much same both for v3x and v40. So, I wonder, why max(resamping)=2*avg(resampling) ? Thing is that original and target sizes for the texture should be always same... Also, render time greatly depends on the target resolution, if I make a window very small (just to fit half of the OSD there) mVR can achieve less than 1ms render times. BUT! Then resample time takes about 10ms and thus average time is still about same |
26th April 2009, 19:02 | #624 | Link |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Shader 41, 39, 36, 34, 31, and 24 Avg 4-5ms, Max 8-12ms
Shader 40, Avg 7-8ms, Max 10-13ms (the oddball, worse then the others) CPU usage is virtually identical between all versions. Personally, I would just choose Shader 41, since it is the newest. Shader 40 is completely a no-go. Last edited by cyberbeing; 26th April 2009 at 19:05. |
26th April 2009, 19:05 | #625 | Link | |||||||
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Are you trying to tell me that you know better than I do?
Quote:
Quote:
Quote:
(1) All current performance comparisons between madVR and other renderers are still preliminary, because madVR is still in early beta. (2) When using e.g. MPC HC with VMR9, you do not get bilinear scaling, but MPC HC does bicubic scaling via shaders. That's why you get better results with VMR9 compared to madVR bilinear scaling. Still you can't say that madVR loses all advantages if you activate bilinear scaling. For one: If you have 1:1 display (which is the best option for image quality, anyway!) you don't have to scale (luma) at all. Furthermore there is much more to madVR than just scaling quality. (3) Obviously some CPU/GPU combinations will not be able to handle high bitrate h264 movies without hardware accelerated decoding. But that doesn't mean that VMR9 is the only option. E.g. EVR is also an option. Or you could use madVR with CUDA accelerated decoding (only with NVidia GPU). Quote:
Quote:
Quote:
Quote:
Search this thread for "Mitchell". The first hit is what you're looking for. |
|||||||
26th April 2009, 19:09 | #626 | Link | |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
Anyway, nobody reported major problems or much lower GPU loads with the latest shader compiler version 41, while several people reported 41 to work at least as well as (or even better than) any older version, so I guess I'll keep using 41 as the default compiler version. |
|
26th April 2009, 19:22 | #627 | Link | |
Registered User
Join Date: Apr 2009
Posts: 37
|
Quote:
Start Zoomplayer (V6.00), load a file that has black bars encoded and is 2.35:1 (i use a "Ratatouille" Blu-Ray Rip as mkv, but basicly every 2.35:1 file will do) go to Options -> Playback -> Video & Subtitles -> Presets -> Custom AR. Change one to Width 1.33333 and Height 1, click "fetch". Now the picture fills the 16:9 panel fully (need this for my ISCO to do the horizontal stretch) and your OSD is gone ;-) Its new for me too, till before madVR i did this in ffdshow, just because of the lanczos resizing, but now madVR should handle this, to keep ffdshow out of the filter chain. Thanks for your help ! |
|
26th April 2009, 20:11 | #629 | Link |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Any developers with experience in video render programming reading here?
I'd like to make decoders (which connect to madVR) output images in a nice resolution instead of using odd resolutions (like e.g. 777x333) to avoid problems with pitchs/offsets. I see that VMR9 somehow requests a width of 2048 pixels for 1920x1080 movies. How can I do something like this? Thanks! |
26th April 2009, 20:12 | #630 | Link | |
Hi-Fi Fans
Join Date: Dec 2008
Posts: 222
|
Quote:
I think weather it's because of my CPU. My CPU is 3.0G. If some program not working fully supported on multi-threading, single core is better than dual core. |
|
26th April 2009, 20:23 | #631 | Link |
Hi-Fi Fans
Join Date: Dec 2008
Posts: 222
|
According to so many people above.
But according to many times and repeated testings on my computer. 40 is much more better than any others. So I also wonder to know why... Here is my setting: Code:
[scaling settings] luma resampler=SoftCubic50 chroma resampler=Bilinear [trade quality for performance] don't resample chroma=1 don't use dithering=1 use 10bit luma buffer=0 use 10bit chroma buffer=0 disable anti-tearing fix=1 [output settings] video levels=0 use 3dlut=1 |
26th April 2009, 20:47 | #633 | Link | |
Registered User
Join Date: Jun 2005
Posts: 630
|
Quote:
|
|
26th April 2009, 21:06 | #635 | Link | ||
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
Quote:
Resample textures: This is a first processing step which uploads the YCbCr 4:2:0 data (coming from the decoder) to GPU RAM, then usually resamples chroma in X direction and (only if X luma scaling is needed) scales luma in X direction. Under certain circumstances there is a 2nd processing step added, which still falls in the "Resample textures" category, which resamples chroma in Y direction and (only if Y luma scaling is needed) scales luma in Y direction. So this stage consists of at least 1 and at most 4 shader passes. Each shader pass stores the resulting data in 16bit (per channel) buffers. Clear: Simply clears the "backbuffer". madVR skips this step if it's safely possible to do so. However, if the final rendering process only covers a part of the backbuffer, clearing is necessary to avoid garbage pixels at the borders of the backbuffer. Init Samplers: This is just some setup work, telling Direct3D which textures we want to use for the final rendering pass. Usually this step should not consume any noticeable resources. Render: This is the final rendering step, which eventually upsamples chroma in Y direction and eventually scales luma in Y direction (only if not already done in the "Resample textures" stage). Furthermore, still in the same shader pass, the fully scaled YCbCr 4:4:4 data is converted to RGB, either by using the 3dlut file or by using shader math (depending on the settings). Finally, dithering noise is added. The "Render" stage is always executed in exactly one shader pass. |
||
26th April 2009, 21:25 | #636 | Link | |
Hi-Fi Fans
Join Date: Dec 2008
Posts: 222
|
Quote:
Are the info. you wanted like those below? The snapshot I got it randomly. |
|
26th April 2009, 22:33 | #637 | Link |
Registered User
Join Date: Feb 2006
Posts: 293
|
Short report on shaders: I get the same number for 39-41. ~15ms for 720p video with my setting.
[scaling settings] luma resampler=Bilinear chroma resampler=Nearest Neighbor [output settings] video levels=0 use 3dlut=0 [trade quality for performance] don't use dithering=0 use 10bit luma buffer=0 use 10bit chroma buffer=0 disable anti-tearing fix=1 |
26th April 2009, 23:36 | #638 | Link | |
Registered User
Join Date: Dec 2001
Location: Israel
Posts: 34
|
Quote:
http://msdn.microsoft.com/en-us/libr...68(VS.85).aspx. You can also derive an allocator that allocates memory directly on the GPU (like VMR) if you're at it |
|
26th April 2009, 23:44 | #639 | Link |
Registered User
Join Date: Jun 2005
Posts: 630
|
@Madshi:
interesting algorithm indeed. Does it perform X and Y scaling in the first step if target resolution is less than 50% on each dimension? Does it also mean that Y scaling is essentially "free" as it is done with the RGB conversion? There is one other technical issue I wonder: Haali doesn't accept YV12, only YUY2 (or RGB). I was under impression this is done for performance reasons. |
27th April 2009, 07:43 | #640 | Link | |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
I've now overwritten "CRendererInputPin::SetMediaType" and the changed resolution does show in MPC HC's pin info dialog. However, the decoder still sends the old resolution. How can I notify the decoder about the mediatype change? Hmmmm... That would be an option. But I'm not sure if that won't interfere with my VSync/anti tearing fix. Right now I'm flushing the GPU and wait until it's idle before I call "Present". That's the only way to get rid of tearing in windowed mode for me. But if I upload incoming frames directly to GPU RAM, I fear that the "is GPU idle?" check will stop working reliably... |
|
Tags |
direct compute, dithering, error diffusion, madvr, ngu, nnedi3, quality, renderer, scaling, uhd upscaling, upsampling |
Thread Tools | Search this Thread |
Display Modes | |
|
|