Log in

View Full Version : madVR - high quality video renderer (GPU assisted)


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329

Kado
3rd May 2009, 11:38
Will this renderer work in x64?

madshi
3rd May 2009, 11:38
Oh right, I thought it was just rendering in 10-bit and always ended up as 8-bit for output from a PC no matter what.
I'm not sure what EVR 10bit really does inside. I think it's supposed to actually deliver 10bits to the DAC (when using analog output) or to HDMI (when using HDMI 1.3 DeepColor). But I've no idea if it actually works that way, or if the GPU dumbs it down to 8bit internally somewhere...

Do you think that using more bits for processing (32/64-bit FP) and/or linear processing would improve things at all, or is madVR currently as good as it'll get as far as posterisation is concerned?
As long as you don't scale, there won't be any improvement, as far as posterisation is concerned, because madVR is already as good as it gets in that area. It shows exactly that amount of posterisation which is in the source. Not more and not less. The only chance for further improvements would be to either add more dither than you technically need (which would mask posterisation somewhat) or to run a preprocessing algorithm which detecs and removes posterisation from the source.

Would enabling the 10-bit output have any effect on the image at the display when madVR is used?
You mean adding 10bit output to madVR? Technically, if it actually worked (which I'm not sure about) it would decrease dithering noise level. I doubt that the difference would be visible. Maybe the image could feel ever so slightly more calm.

madshi
3rd May 2009, 11:40
Will this renderer work in x64?
The renderer should already work in x64 OSs, but currently only in 32bit media players. Support for x64 media players may come in a later version, but it's really low priority for me right now...

Hypernova
3rd May 2009, 12:03
Ok, here goes

http://img54.imageshack.us/img54/7114/madvr.th.png (http://img54.imageshack.us/my.php?image=madvr.png)
http://img54.imageshack.us/img54/2433/evrcp.th.png (http://img54.imageshack.us/my.php?image=evrcp.png)

The file name will say which is which. I won't say it here since it might serve as blind test for some :cool: I think it's so obvious though.

The effect is stll there. Personally I would say that it's not due to the scaling. At least not much. From the screenshot, I also notice that EVR CP give a slightly "green"-ish color. Is that one of the thing that madVR fixed? Or my eyes just deceiving me?

Edit: Just notice that it is still not the same frame. It's 4:20 in the morning so I'm going to sleep, if you still want the exact same frame I could do that tomorrow.

nuhi
3rd May 2009, 13:29
Ok, here goes

http://img54.imageshack.us/img54/7114/madvr.th.png (http://img54.imageshack.us/my.php?image=madvr.png)
http://img54.imageshack.us/img54/2433/evrcp.th.png (http://img54.imageshack.us/my.php?image=evrcp.png)

The file name will say which is which. I won't say it here since it might serve as blind test for some :cool: I think it's so obvious though.

The effect is stll there. Personally I would say that it's not due to the scaling. At least not much. From the screenshot, I also notice that EVR CP give a slightly "green"-ish color. Is that one of the thing that madVR fixed? Or my eyes just deceiving me?

Edit: Just notice that it is still not the same frame. It's 4:20 in the morning so I'm going to sleep, if you still want the exact same frame I could do that tomorrow.

LOL on the pic choice, it shows it was late when you picked it ;)

Btw if you toggle evr 10bit you'll notice the color difference, 10bit off is similar/same to madvr and with 10bit enabled on the evr looks more red, less green/yellowish. But which one is more correct I do not know, it would be interesting to know but the red color gets highlighted on evr 10bit so I doubt that's correct.

racerxnet
3rd May 2009, 14:59
Yada, Yada, Yada, Yada..... When is the next update going to be ???????????

Have a wonderful weekend,

MAK

madshi
3rd May 2009, 17:00
From the screenshot, I also notice that EVR CP give a slightly "green"-ish color. Is that one of the thing that madVR fixed? Or my eyes just deceiving me?
The difference is almost too big to be explained by just calculation "exactness". That looks to me as if EVR CP just uses a different color conversion matrix. Maybe you still have some color controls active in your ATI/NVidia control panel?

Edit: Just notice that it is still not the same frame. It's 4:20 in the morning so I'm going to sleep, if you still want the exact same frame I could do that tomorrow.
Exact same frame would be nice. And I think I liked the scaled ones more cause the difference was more obvious on a quick check... :) But you should try to find out why EVR shows such different colors. That looks like wrong settings to me somehow...

madshi
3rd May 2009, 17:09
madVR 0.9 released

http://madshi.net/madVR.zip

* bigger part of initialization is done before playback is allowed to start
* if Direct3D device is lost and can't be recovered, playback is paused
* if paused playback is restarted, madVR tries to recover lost device again
* decoders are now forced to deliver video width which is devidable by 16
* reduced CPU consumption a bit
* changed video -> GPU uploading method -> lower GPU rendering times (?)
* OSD lists texture uploading times again
* OSD now only increases CPU consumption in detailed mode (2x Ctrl+J)
* external shader*.dat files are gone, compiler 41 is now always used
* when final VSync estimate if off a lot, a file "vsync.dat" is created
* fixed: 3dlut colors were ever so slightly incorrect
* fixed: shader math colors were slightly incorrect
Both CPU consumption and GPU rendering times should be down (= better). Could you guys please confirm?

Those of you for which the final refresh rate estimate is off big time, could you please reproduce the problem, and then look into the madVR folder? There should be a file named "VSync.dat" there with detailed VSync data, which will hopefully help me find out what's going wrong on your PCs. Could you please zip and upload the file? Thanks! The file is only created if madVR detects that the final estimate is probably wrong.

nijiko
3rd May 2009, 17:40
0.9 works smoothly very well.
But there is a problem.
When first time to load a very large file.
It will be black screen for a while. (several seconds)
Stop and restart playing again will fine.

nijiko
3rd May 2009, 17:48
I just think there is a preload action when starting to load.
But because of no pause, so will skip some seconds.
These seconds will have no pictures so that shows a black screen.
Is it?
Because stop and restart playing (not exit MPC) it will not reload again, it works fine now.
Is it?

madshi
3rd May 2009, 17:49
When first time to load a very large file.
It will be black screen for a while. (several seconds)
Stop and restart playing again will fine.
Hmmmm... Is that with 3dlut activated or deactivated? Try switching 3dlut on/off to see whether that makes any difference?

nijiko
3rd May 2009, 17:59
Hmmmm... Is that with 3dlut activated or deactivated? Try switching 3dlut on/off to see whether that makes any difference?

With 3dlut activated.
I suggest pause a while waiting for ready to render.Is it OK?

nijiko
3rd May 2009, 18:07
Newly report:
No this problem with 3dlut deactivated.
And without 3dlut, both CPU consumption and GPU rendering times should be down a bit more!!
Does it mean that being better to not use 3dlut???

yesgrey
3rd May 2009, 18:22
madVR 0.9 released
Both CPU consumption and GPU rendering times should be down (= better). Could you guys please confirm?
For me, GF8600GT 256MB, the rendering times increased by 3 ms. I've tryed with several resamplers and the result is always the same (more 3ms), so I presume that it should be due to the new video uploading method that is taking more 3 ms.
With the CPU consumption, I only see a significative difference with the statistics displayed; if disabled I get the same CPU consumption.
3dlut was disabled; if enabled I get more 1ms of gpu rendering time.

Thanks for the new release.:)

Peuj
3rd May 2009, 18:25
@madshi, Could you edit the first page with information like:
* "Ctrl+J" to toggle OSD
* Information about the different settings

Most of these information are already in the thread but it's easier to regroup them at the same place.

Thanks

noee
3rd May 2009, 18:34
Interesting... for my SD playback (upscaled to 1080), I'm seeing much better CPU usage (3-5% less than .08) but AVG GPU Rendering is up from ~18ms to ~21ms. Playback is on my secondary monitor @ 24Hz. 3dlut is turned off.

I don't see an appreciable perf. difference with my AVCHD material.

XPSP3, HD2600XT, CCC9.4, AMD X2 3.0Ghz, Reclock, MPC-HC, CoreAVC 1.9.5
Dual-Monitors: (Prim) Samsung 60Hz (1280x1024) - (Sec) LG 37 24/60Hz (1080P-TV Levels)
Source material: SD = 23.976@24Hz AVC in MKV, HD = 29.970@60Hz AVCHD in M2TS (1080P)

madVR: PC Levels, 3DLut=OFF, Lanczos4, SoftCubic100

madshi
3rd May 2009, 18:43
With 3dlut activated.
I suggest pause a while waiting for ready to render.Is it OK?
I'm already pausing until the 3dlut is loaded and madVR is ready to go. So I don't understand why audio playback seems to start before video playback for you.

Can anybody else confirm that problem?

And without 3dlut, both CPU consumption and GPU rendering times should be down a bit more!!
Does it mean that being better to not use 3dlut???
What do you mean with "should be down"? Do you mean they are lower? Or do you mean that you think they should be lower than they actually are? I'm not sure...

Using the 3dlut currently only has benefits if you actually use custom 3dlut settings. That may change in the future, or not. I don't know...

Could you edit the first page with information like:
* "Ctrl+J" to toggle OSD
* Information about the different settings
That would make sense.

For me, GF8600GT 256MB, the rendering times increased by 3 ms.
for my SD playback (upscaled to 1080), I'm seeing much better CPU usage (3-5% less than .08) but AVG GPU Rendering is up from ~18ms to ~21ms.
I'm sorry, I should have been more clear.

madVR 0.8 did not measure the time needed to upload the textures to the GPU. madVR 0.9 does measure this time and includes it in the GPU rendering statistics. Which means that if you compare madVR 0.8 statistics to madVR 0.9, you have to substract the madVR 0.9 "uploading textures" time from the average GPU rendering time. I'm aware that this is not really intuitive. The problem is that madVR 0.8 simply did not show the complete numbers. However, strange enough, madVR 0.9 shows lower GPU rendering times for me even without doing this math...

Chumbo
3rd May 2009, 18:47
Well, I just finally jumped to try this thing out. :) I wanted to report a few items. Tested using HTPC built on:
Intel Core 2 Quad 9400
Sapphire HD 4830 PCIe 512MB DDR3 (CCC 9.4)
2G RAM

OS: Windows XP Pro with Sp3 and latest patches/fixes via Windows Update with March 2009 DirectX.

Player: MPC HC - SVN 1079, Decoder: MPC VC-1 no DXVA, Renderer: madVR 0.9 with default settings

- 1280x720 @ 60Hz - tearing exists and playback is very slightly jerky. Material is 1080, so this is a downscale and may not be relevant?

1920x1080 resolution
--- @30Hz - smoothest playback and no tearing, however, not completely smooth. It's still a bit jerky where VMR and EVR CP in D3D is seemlessly smooth. Some good examples to use are: The opening sequence of Babylon A.D. that zooms in from space to street level, the jerkiness is noticeable on the periphery. It's ever so slight, but noticeable. Another good example of the jerkiness of horizontal and vertical pan shots are in I Am Legend. Between approximately 2:25 to 3:17, especially the overhead of the city for vertical. After that the horizontal (left-to-right pan) of the street level in the Mustang.

--- @60Hz - Smooth like 30Hz but tearing exists

--- @24Hz - Not smooth and tearing. It's pretty much a mess, but that goes for all renderers. I don't know much about this stuff, but it doesn't seem to be a renderer issue?

Please let me know if there's anything specific you want me to test or look for like settings or whatever. Thank you and nice job madshi! :)

nijiko
3rd May 2009, 19:05
I'm already pausing until the 3dlut is loaded and madVR is ready to go. So I don't understand why audio playback seems to start before video playback for you.

Can anybody else confirm that problem?


Not audio playback before video playback.
Just lost some first seconds of video.
Only in first time to play.
With no exiting MPC, stop and restart to play again will be fine.


What do you mean with "should be down"? Do you mean they are lower? Or do you mean that you think they should be lower than they actually are? I'm not sure...

Using the 3dlut currently only has benefits if you actually use custom 3dlut settings. That may change in the future, or not. I don't know...




Yes. I mean lower. That fact is lower usage.

nijiko
3rd May 2009, 19:20
And another thing. I forgot to say.
madVR can not work with NVidia video decoder (MPEG2).
I confirm it's in YV12 mode.

yesgrey
3rd May 2009, 19:53
Which means that if you compare madVR 0.8 statistics to madVR 0.9, you have to substract the madVR 0.9 "uploading textures" time from the average GPU rendering time.
The uploading textures time is ~4.6ms. The Increase in total time is around 2-3ms, so, subtracting, with v0.9 I get less 2ms in the total rendering time. Good work.;)

However, strange enough, madVR 0.9 shows lower GPU rendering times for me even without doing this math...
What's you memory bandwidth?

I've performed some tests with overclocking and increasing the memory clock gives very little improvement, around 1% decreasing of gpu times with a 30% memory clock increase. The core and shader clock increase gives me a real gain, less 10% times for a 10% clock increase. It seems my gpu is shader limited.

madshi
3rd May 2009, 20:24
1920x1080 resolution
--- @30Hz - smoothest playback and no tearing, however, not completely smooth.
madVR is not optimized for smooth playback yet.

--- @60Hz - Smooth like 30Hz but tearing exists

--- @24Hz - Not smooth and tearing. It's pretty much a mess, but that goes for all renderers. I don't know much about this stuff, but it doesn't seem to be a renderer issue?
Have you tried VMR or EVR fullscreen exclusive mode? That always got rid of any tearing for me. Unfortunately madVR does not support fullscreen exclusive mode yet.

madVR can not work with NVidia video decoder (MPEG2).
Can anybody confirm this problem?

What's you memory bandwidth?
10.7 GPixels/s. 10.7 GTexels/s. 427 GFLOPS.

I've performed some tests with overclocking and increasing the memory clock gives very little improvement, around 1% decreasing of gpu times with a 30% memory clock increase. The core and shader clock increase gives me a real gain, less 10% times for a 10% clock increase. It seems my gpu is shader limited.
I guess it's time for you to stop using Nearest Neighbor scaling then... :p

Seriously, are these numbers with 1:1 display or with scaling active? I guess with 1:1 display memory bandwidth is not that much of a problem. But IIRC you had a 8600? That one really has low shader power. That may explain why you're shader limited...

Egh
3rd May 2009, 20:28
Not bad. SD content now (upscaled to 720p on playback) is really low in CPU consumption. 704x400avc upscaled to fit on 1280x1024 screen typically uses less than 10% CPU.

As for 720p avc content, difference is less impressive. Compared with Haali over the same file, mVR uses approx. 10%CPU extra for each scene (i.e. if scene is 12% with Haali then it is about 20-25% with mVR, if Haali uses 20% CPU then mVR uses 30%).

However new totals for average time are actually higher than before. However after doing the maths and subtracting the texture update time, it is somewhat better with 0.9 version. Now the average timings are as follows (3dluts disabled):
roughly 60% for update texture, 25% render, 15% resample (720p content no rescale)
roughly 30% for update texture, 45% render, 25% resample (720p content slight downscale to fit in the window)
roughly 20% for update texture, 30% render, 50% resample (704x400 upscaled to 720p)

Interesting to check the times for the actual scaling. As for the absolute values, roughly 1.5ms rendering no rescale and 5ms rendering with rescale (720p). Update texture time is pretty much same in both cases. Resample is roughly three times larger with rescaling as well.

6233638
3rd May 2009, 20:37
0.9 seems to be running significantly smoother here on my 9400 with 1080p content.

Previously, I was seeing rendering times in the 60-70ms region. Now, I can get that down to an average of 22ms if I use bilinear and no 3D LUT. (I realise that this removes a lot of the advantages of madVR, but I get almost smooth playback with this)

Max GPU times are still around 45ms at times though. (which is more than a frame at 23.976)

If I use madVR's chroma upsampling (I find softcubic 50 to look best) average rendering times are around 38ms with max GPU times around 60,65ms.

Frame queue is generally at 16/16, though it has dropped as low as 13. With 0.8 it was hovering around 1/2. (the higher the better, right?)


I'm a bit confused about the max GPU rendering time though. It seems to jump around a lot, whereas I thought the max would simply update for higher numbers and not lower ones, giving you the true peak value for a film.

LoRd_MuldeR
3rd May 2009, 20:41
I agree that v0.9 runs significant smoother for HD content :)

Still it renders at 60 fps, although the video only has a framerate of 24 fps. My question: Isn't that a huge wast of processing power? And can it be avoided, like other renders obviously do?

(Sorry if this was answered already. This is a really huge thread, so I may have missed something)

madshi
3rd May 2009, 20:53
Not bad. SD content now (upscaled to 720p on playback) is really low in CPU consumption. 704x400avc upscaled to fit on 1280x1024 screen typically uses less than 10% CPU.

As for 720p avc content, difference is less impressive. Compared with Haali over the same file, mVR uses approx. 10%CPU extra for each scene (i.e. if scene is 12% with Haali then it is about 20-25% with mVR, if Haali uses 20% CPU then mVR uses 30%).
I think/hope that CPU consumption will go further down once I redesign the display logic for smooth playback.

As for the absolute values, roughly 1.5ms rendering no rescale and 5ms rendering with rescale (720p). Update texture time is pretty much same in both cases. Resample is roughly three times larger with rescaling as well.
Sounds pretty good to me.

0.9 seems to be running significantly smoother here on my 9400 with 1080p content.

Previously, I was seeing rendering times in the 60-70ms region. Now, I can get that down to an average of 22ms if I use bilinear and no 3D LUT. (I realise that this removes a lot of the advantages of madVR, but I get almost smooth playback with this)

Max GPU times are still around 45ms at times though. (which is more than a frame at 23.976)

If I use madVR's chroma upsampling (I find softcubic 50 to look best) average rendering times are around 38ms with max GPU times around 60,65ms.

Frame queue is generally at 16/16, though it has dropped as low as 13. With 0.8 it was hovering around 1/2. (the higher the better, right?)
The higher the better. You getting higher numbers is probably a consequence of the lowered CPU usage.

I'm a bit confused about the max GPU rendering time though. It seems to jump around a lot, whereas I thought the max would simply update for higher numbers and not lower ones, giving you the true peak value for a film.
Statistics are currently always done for 1s and then reset. The purpose of resetting the max numbers is to allow testing the effect of different settings on max numbers.

I agree that v0.9 runs significant smoother for HD content :)
Happy to hear that many of you guys notice smoother results with v0.9!

However, smooth playback is still not really implemented yet. That's still due for a future version. So you can expect further improvements. v0.9 just lowered CPU and GPU consumption a bit...

Still it renders at 60 fps, although the video only has a framerate of 24 fps. My question: Isn't that a huge wast of processing power?
It's a waste of processing power, yes. I think it's at least partially responsible for the higher CPU usage compared to other renderers. The render logic will change once I implement smooth motion playback (should be soon now).

Egh
3rd May 2009, 20:59
Still it renders at 60 fps, although the video only has a framerate of 24 fps. My question: Isn't that a huge wast of processing power? And can be avoided, like other renders obviously do?

(Sorry if this was answered already. This is a really huge thread, so I may have missed something)

Madshi typically replies in jumbo monster posts, so it is possible to miss it :) I think your question has been answered.

As well, I wonder about paused gpu timings.

Even if 720p video is paused, it still takes roughly same average time. Why update and resample textures times are any different from zero? :confused: I'd say only rendering time needs to be used in such a case. What is even more confusing, even the window is staying still here, max rendering times are still higher than average by same roughly 50%. Why would some shader passes take considerably more time than average for the same frame? (i.e. resample texture passes take roughly double the average time).
If no rescaling is used, then things are even more shocking :rolleyes: 720p no rescale when paused uses <1ms for average resampling time and about 5-6 for max resampling time :confused:

6233638
3rd May 2009, 21:01
The higher the better. You getting higher numbers is probably a consequence of the lowered CPU usage.
Hmm, that's disappointing. I had been told a 2.5GHz Pentium Dual Core (which is almost the same performance as a Core2Duo) should have been plenty for even the highest bitrate VC1/AVC blu-ray content. I guess that's not the case. (from looking at cpu load, it seems like that was the problem)

I wish I had found out about madVR before building this HTPC a few weeks ago. What sort of CPU should I need to decode 40mbps AVC/VC1 content and run madVR smoothly? (I realise that you've not fully optimised it and have smooth playback features implemented yet)

Is there a chance of madVR ever working with DXVA (I assume that's something the MPC-HC guys have to fix, rather than it being a madVR problem) or would the additional GPU load then end up being too much?

LoRd_MuldeR
3rd May 2009, 21:02
It's a waste of processing power, yes. I think it's at least partially responsible for the higher CPU usage compared to other renderers. The render logic will change once I implement smooth motion playback (should be soon now).

That sounds like good news :cool:

racerxnet
3rd May 2009, 21:07
And another thing. I forgot to say.
madVR can not work with NVidia video decoder (MPEG2).
I confirm it's in YV12 mode.


Works fine for me using the Nvidia audio and video decoders with YV12.. Hope to see the smooth playback efforts soon as stated.

MAK

yesgrey
3rd May 2009, 21:10
I guess it's time for you to stop using Nearest Neighbor scaling then... :p

Seriously, are these numbers with 1:1 display or with scaling active? I guess with 1:1 display memory bandwidth is not that much of a problem. But IIRC you had a 8600? That one really has low shader power. That may explain why you're shader limited...
I'm scaling BR for 1280x960, using Lanczos8 for Luma and SoftCubic100 for chroma. I only used Lanczos8 for testing purposes, because it's the most gpu intensive of all. I know that for downsampling using Lanczos8 is a bad idea, because with bicubic I should get the same image quality... Even bilinear would be pretty close...

madshi
3rd May 2009, 21:20
As well, I wonder about paused gpu timings.

Even if 720p video is paused, it still takes roughly same average time. Why update and resample textures times are any different from zero? :confused: I'd say only rendering time needs to be used in such a case. What is even more confusing, even the window is staying still here, max rendering times are still higher than average by same roughly 50%. Why would some shader passes take considerably more time than average for the same frame?
The stats may be wrong in paused state, I'm not sure about that.

Hmm, that's disappointing. I had been told a 2.5GHz Pentium Dual Core (which is almost the same performance as a Core2Duo) should have been plenty for even the highest bitrate VC1/AVC blu-ray content. I guess that's not the case. (from looking at cpu load, it seems like that was the problem)
Well, madVR did use (and still uses) more CPU than most other renderers. Hopefully I'll be able to get that down to "normal" levels sooner or later. Then maybe you'll be fine with VC1/AVC content. I can't tell you what kind of CPU you need for decoding. Maybe your HTPC was built to make use of DXVA? In that case obviously with madVR you're out of luck, because madVR does not support DXVA and never will.

What sort of CPU should I need to decode 40mbps AVC/VC1 content and run madVR smoothly?
I've no idea. Generally my target is to make madVR run smoothly when VMR/EVR are smooth *without DXVA*, too. Provided that the GPU is fast enough to keep up with the rendering work...

Is there a chance of madVR ever working with DXVA
No chance. CUDA works, though.

Works fine for me using the Nvidia audio and video decoders with YV12.
Thanks. It seems that nijiko has more problems with madVR than anybody else. And, I don't know why, but it seems that most of his problems seem to not be reproducible by other people.

@nijiko, at least that one weird 700x218 clip you sent me should work properly with v0.9 now. That was the one clip where I was able to reproduce a problem.

I'm scaling BR for 1280x960, using Lanczos8 for Luma and SoftCubic100 for chroma. I only used Lanczos8 for testing purposes, because it's the most gpu intensive of all.
And you are still shader limited when using Lanczos8? Well, then I think you really do need a new GPU... :eek: Lanczos8 is rather heavy on memory, while shader math for scaling is relatively low.

I know that for downsampling using Lanczos8 is a bad idea, because with bicubic I should get the same image quality... Even bilinear would be pretty close...
While downscaling differences may be smaller compared to upscaling differences, I still think that Lanczos downscaling is not a bad idea at all. I once tried upscaling+downscaling an image. And using Lanczos+Lanczos produced the best results. Noticeably better than Lanczos+Bicubic. With Lanczos+Lanczos the scaled image was very near to the original. Using Lanczos+Bicubic the scaled image was noticeably softer compared to the original.

Hypernova
3rd May 2009, 21:38
Here are the same frame (from 0.8, will install 0.9 right after). Could you or anyone point out to me where I could make mistake for EVR CP (or put me to a place that does)? In Catalyst Avivo all setting is either "use application settings" or not enable. I didn't do anything on Color page as well. I can try include mplayer's OpenGL renderer, is that gonna help? (setting: vo=gl:yuv=0:rectangle=2:lscale=5:cscale=5)

http://img300.imageshack.us/img300/2433/evrcp.th.png (http://img300.imageshack.us/img300/2433/evrcp.png)
http://img300.imageshack.us/img300/7114/madvr.th.png (http://img300.imageshack.us/img300/7114/madvr.png)
http://img300.imageshack.us/img300/9576/shot0001p.th.png (http://img300.imageshack.us/img300/9576/shot0001p.png)
http://img522.imageshack.us/img522/9471/haali.th.png (http://img522.imageshack.us/img522/9471/haali.png)

Add Haali renderer shots. Now it's hard to see the difference, but it's still there. Again, I would be happy if anyone can help me improve EVR CP result. I have to live with that until madVR got subtitle, which is still some time in the future. :)

6233638
3rd May 2009, 21:41
Well, madVR did use (and still uses) more CPU than most other renderers. Hopefully I'll be able to get that down to "normal" levels sooner or later. Then maybe you'll be fine with VC1/AVC content. I can't tell you what kind of CPU you need for decoding. Maybe your HTPC was built to make use of DXVA? In that case obviously with madVR you're out of luck, because madVR does not support DXVA and never will.
Unfortunately, I think the 2.5GHz recommendation was based on the fact that I was getting a motherboard that has a 9400 and therefore would do all the processing on-board.

I've never been one for overclocking really (I'd rather run at the rated speeds without risk) but rather than go out and replace most of the components in this computer two weeks after buying it, I'm now running at 3GHz with a 10% overclock on the GPU and it's eliminated almost all spikes to 100% on the CPU graph when playing back video. (though I need to test and see what the highest bitrate/most demanding film I have is)

I've just noticed now though that, even though the GPU times are ok, CPU is at 100% usage if I enable the 3D LUT.

Perhaps once CPU usage is lowered by rendering at 24/30fps rather than 60, it'll be able to cope properly.

I'll have to see just how much I can push this system and have it still run reliably.

Hypernova
3rd May 2009, 21:45
Quick report on 0.9: The reduce in GPU render time is about 5ms I think. (Bilinear/Bilinear, upscaling from 848x480 to 2560x1600) (I didn't take note on CPU's before, sorry). I also attach VSync.dat here

tetsuo55
3rd May 2009, 22:13
What sort of CPU should I need to decode 40mbps AVC/VC1 content and run madVR smoothly

The 40mbps AVC requires a 3ghz C2D for the toughest scenes.
Add madVR to the mix and we would currently need a 3.3ghz C2D

Your pentium dualcore doesn't even come close, you would need to OC it to between 3,8 and 4,2 ghz to get a similar performance.

Most AVC's don't have tough scene's and will work fine on a slower cpu, i'm personally not going to take any changes and have ordered a e8400 (3ghz)

nijiko
3rd May 2009, 22:24
No output with NVidia.
See snap in pic named no_op.jpg.
This Video clip is HD!

But works fine in SD.
See snap in pic named tmp_op.jpg.

honai
3rd May 2009, 22:34
The 40mbps AVC requires a 3ghz C2D for the toughest scenes.
Add madVR to the mix and we would currently need a 3.3ghz C2D

Your pentium dualcore doesn't even come close, you would need to OC it to between 3,8 and 4,2 ghz to get a similar performance.

Most AVC's don't have tough scene's and will work fine on a slower cpu, i'm personally not going to take any changes and have ordered a e8400 (3ghz)

Not true. I had an Pentium Dual-Core (E5200) in my rig and swapped it for an E8400 - but only to get additional headroom in post-processing (LSF etc). The E5200 played all content just fine, even Pirates of the Caribbean AVC at 40mbps, and never hit 100%.

I'm not saying that more CPU power is unnecessary, though. ;)

6233638
3rd May 2009, 22:58
The 40mbps AVC requires a 3ghz C2D for the toughest scenes.
Add madVR to the mix and we would currently need a 3.3ghz C2D

Your pentium dualcore doesn't even come close, you would need to OC it to between 3,8 and 4,2 ghz to get a similar performance.

Most AVC's don't have tough scene's and will work fine on a slower cpu, i'm personally not going to take any changes and have ordered a e8400 (3ghz)
Thanks for the info. Everything I had read suggested that there was almost no difference between a Pentium Dual-Core and a Core2Duo of equivalent clockspeed for the majority of tasks. (Dual-Core not Pentium D, which is much slower)


Due to the 12.5x multiplier on this, it means I'm not having to push the fsb so hard to get fairly substantial overclocks.

I don't want to speak too soon, but it seems to be running stable at 3.7GHz, and not even that hot. (15℃ below operating limits under load with the stock HSF—which I'll upgrade if I decided to keep running it like this, or faster if it'll do it)

Not true. I had an Pentium Dual-Core (E5200) in my rig and swapped it for an E8400 - but only to get additional headroom in post-processing (LSF etc). The E5200 played all content just fine, even Pirates of the Caribbean AVC at 40mbps, and never hit 100%.

I'm not saying that more CPU power is unnecessary, though. ;)
Good to hear. I wonder if there's something wrong with my software setup then, as it seems to be underperforming.

yesgrey
3rd May 2009, 23:18
And you are still shader limited when using Lanczos8? Well, then I think you really do need a new GPU... :eek:
Well, my rendering times without L8 are <20ms, so I think I will keep it a little more, until madVR is a little more mature and then I will see if I need to change it or not...;) The 4770 is very tempting, but my last experience with an ATI card (radeon 9500) was not very good... analog vga output with low quality and the drivers were not also very good handling two displays, so I'm a bit affraid of spending money in an ATI again...

I once tried upscaling+downscaling an image...
But that's different than just downscaling. I've performed some tests with Avisynth, because I'm backing up a BR movie to a lower resolution, and I have tryed the opposite: downscaling+upscaling. In the Avisynth user's guide they say that for downscaling bilinear should give the same results (or better) than bicubic, but it's not true; the image is softer. Between Bicubic, Spline64 and Lanczos, there was no visible difference.
This is only true for downsampling; upsampling is a different story, then, Lanczos shows all its quality...

yesgrey
3rd May 2009, 23:21
Good to hear. I wonder if there's something wrong with my software setup then, as it seems to be underperforming.
I have a similar cpu, mine is a E2160, a little slower than yours. Mine is overclocked to 2.7GHz. I can play AVC pretty fine. I use CoreAVC or ffdshow-mt, and it performs well. Which decoder are you using?

6233638
3rd May 2009, 23:45
I have a similar cpu, mine is a E2160, a little slower than yours. Mine is overclocked to 2.7GHz. I can play AVC pretty fine. I use CoreAVC or ffdshow-mt, and it performs well. Which decoder are you using?
I had run the CoreAVC trial (with or without CUDA) ffdshow and the ArcSoft 2.2 decoder and couldn't get smooth playback at all with Apocalypto last week (even without madVR) and I think that's AVC.

Playing in PowerDVD7 with DXVA was the only thing I could get smooth playback from.

When you're running at 2.7GHz, are you just getting smooth playback? E.g. you're running at 90,95% CPU usage? I'm starting to think that the E5200 at its stock 2.5GHz was maybe just too slow, as I've seen people saying they're getting smooth playback on 2.7, 2.8GHz Dual-Core machines.



I've just tested Apocalypto again now that I'm running at 3.7GHz though. (296×12.5) I let it run for about 5/6 minutes to get a decent graph of CPU usage. (set to fastest update speed)

http://img72.imageshack.us/img72/4629/apoc.png

This is just running the m2ts file straight off the disc in MPC-HC with CoreAVC (software) and madVR enabled with no 3DLUT and Bilinear resampling. No subtitles or anything else running. (though you would need them for this film…)

As you can see, there are peaks there which are around 85, 90% which means a 3.2, 3.3GHz machine would be required to play it back smoothly?


I hope I'm not taking things too far off topic here.

Mark_A_W
4th May 2009, 00:06
I have a Q6600 Quadcore overclocked from 2.4 to 3.0ghz, and I can play all AVC material, including Apoc, with about 35% CPU usage (using CoreAVC). One core will be a bit higher than the others however...balancing is the tricky part.


I have enough CPU left over I can apply sharpening filters, resample the audio to 96khz with libsamplerate, run Digital Room Correction on 6 channels.....ok, depending on the sharpening filter that starts to push it too far...but just "playing a Bluray" in software is a trivial task.

Aim high as you can (and stick the PC in the next room to the HT!!).

yesgrey
4th May 2009, 00:30
couldn't get smooth playback at all with Apocalypto
I will also try Apocalypto and will let you know...

6233638
4th May 2009, 00:44
I will also try Apocalypto and will let you know...
Ok, thanks. I should point out that it's the UK disc I played, but I don't think that will make any difference. (the main m2ts file is 32.2GB on the disc)

This has been running stable at 3.7GHz for a good few hours now, so I think I'm ok to leave it running at that, and it seems to have fixed things as far as CPU usage is concerned. (Apocalypto has been the most demanding disc I've found so far)

I'm not getting perfectly smooth playback yet, but that's probably a madVR issue as CPU usage isn't going over 90% even at the most stressful bits. (with it typically being in the 60-80% range)

cyberbeing
4th May 2009, 00:45
I can confirm that madVR doesn't work with the NVIDIA MPEG2 decoder when I tried playing some 1920x1080 and 1440x1080 transport streams (black screen, no stats or anything). DVDs on the other hand play fine with madVR and the NVIDIA decoder.

Egh
4th May 2009, 01:18
Thanks for the info. Everything I had read suggested that there was almost no difference between a Pentium Dual-Core and a Core2Duo of equivalent clockspeed for the majority of tasks. (Dual-Core not Pentium D, which is much slower)


I have no idea what you call Pentium Dual-Core. Can you tell the model index at least?

As for comparison v. 3.1GHz c2d (E8500) here. I've just tried mVR playing native 1080p avc content from bluray. I don't have 40mbps, however it is still quite good, 25mbps stream AVC High Profile. No DXVA/CUDA anything as my gfx doesn't support it yet.

50-60% CPU usage with mVR and 30-40% with Haali (so roughly 20% CPU consumption difference).

Chumbo
4th May 2009, 02:07
madVR is not optimized for smooth playback yet.

No problem, thanks.


Have you tried VMR or EVR fullscreen exclusive mode? That always got rid of any tearing for me. Unfortunately madVR does not support fullscreen exclusive mode yet.

Yes, VMR and EVR CP both play fine in D3D mode. The only problem I have is I can never have any UI elements, but that's another thread. ;) I'll keep hammering on it as new versions come out.

TinTime
4th May 2009, 02:24
I can confirm that madVR doesn't work with the NVIDIA MPEG2 decoder when I tried playing some 1920x1080 and 1440x1080 transport streams (black screen, no stats or anything). DVDs on the other hand play fine with madVR and the NVIDIA decoder.

This decoder doesn't work here either. But with further testing it's not only madVR that it doesn't play nicely with. I also tried AviSynth DirectshowSource / VDub using this decoder and got nothing. Well, I got 1920x1080 grey pixels :). SD material works ok with AviSynth DirectshowSource / Vdub though, as well as normal playback in Zoom Player.

Nvidia -> ffdshow -> madVR in Zoom Player results in a corrupt picture (luma and chroma don't match up or something like that) with HD material. However Nvidia -> ffdshow -> any other renderer results in no picture at all. Again there were no problems with SD.

I think the Nvidia decoder is fussy in some way when it comes to HD, but this is either a decoder oddity or a problem with my pc. Presumably the former as others have had issues with this decoder. Certainly the problems I've found with it aren't exclusive to madVR, and everything works fine with madVR when using DScaler5, ffdshow or PowerDVD filters to decode instead.

cyberbeing
4th May 2009, 02:49
The thing is, madVR is the only renderer that has issues with the NVIDIA decoder playing high-def content (VMR9, Overlay, EVR, & Haali are all fine). Since that is the case, you would assume madVR is at fault. On my machine NVIDIA -> ffdshow -> any other renderer (VMR9, Overlay, EVR, & Haali) and I get a perfect picture. NVIDIA -> ffdshow -> madVR gets misaligned luma and chroma, as you mentioned.