-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.xml
3479 lines (3332 loc) · 342 KB
/
search.xml
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
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>Youtube下载工具youtube-dl教程</title>
<url>/uncategorized/2020-12-31-youtube-dl-install-use/</url>
<content><![CDATA[<p>简单介绍youtube-dl的下载和使用。</p>
<a id="more"></a>
<h1 id="使用环境"><a href="#使用环境" class="headerlink" title="使用环境"></a>使用环境</h1><p><code>youtube-dl</code> 是一款采用 <code>Python</code> 编写的免费、开源、命令行程序,可一次下载单个视频、多个视频或整个播放列表,且同时支持 GNU/Linux、macOS 和 Microsoft Windows 这三大主流操作系统平台。</p>
<p>youtube-dl需要Python 版本 2.6, 2.7, or 3.2+,windows不用安装,因为Python已嵌入二进制文件中。</p>
<h1 id="下载"><a href="#下载" class="headerlink" title="下载"></a>下载</h1><h2 id="针对GNU-Linux、macOS系统"><a href="#针对GNU-Linux、macOS系统" class="headerlink" title="针对GNU/Linux、macOS系统"></a>针对GNU/Linux、macOS系统</h2><p>官方推荐的 Youtube-dl 安装方式非常简单,可以直接下载到<code>PATH</code>路径中,即可执行开始使用,或者下载到其他自己喜欢的目录里执行,下载通过命令行:</p>
<figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl</span><br><span class="line">sudo chmod a+rx /usr/local/bin/youtube-dl</span><br></pre></td></tr></table></figure>
<p>如果没有curl,也可以用wget:</p>
<figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl</span><br><span class="line">sudo chmod a+rx /usr/local/bin/youtube-dl</span><br></pre></td></tr></table></figure>
<p>也可以使用pip:</p>
<figure class="highlight plain"><table><tr><td class="code"><pre><span class="line">sudo pip install --upgrade youtube_dl</span><br></pre></td></tr></table></figure>
<p>除了直接从官方下载以外,很多主流 Linux 发行版本的官方存储库中都收录了 youtube-dl,例如:</p>
<ul>
<li>Arch Linux <code>sudo pacman -S youtube-dl</code></li>
<li>Debian 或 Ubuntu <code>sudo apt install youtube-dl</code></li>
<li>Fedora <code>sudo dnf install youtube-dl</code></li>
</ul>
<h2 id="Windows"><a href="#Windows" class="headerlink" title="Windows"></a>Windows</h2><p>win就比较简单下载exe文件就行:</p>
<p><a href="http://ytdl-org.github.io/youtube-dl/download.html" target="_blank" rel="noopener">http://ytdl-org.github.io/youtube-dl/download.html</a></p>
<h1 id="常用下载命令"><a href="#常用下载命令" class="headerlink" title="常用下载命令"></a>常用下载命令</h1><ul>
<li><p>youtube-dl后面添加视频地址就行,或者包含多个视频的视频列表网址:</p>
<p><code>youtube-dl "https://www.youtube.com/watch?v=yHafN0M2kl0"</code></p>
<p>下载多个不同的视频,用空格将多个网址分隔开就可以。</p>
</li>
<li><p>按质量下载</p>
<p><code>youtube-dl -f best "https://www.youtube.com/watch?v=yHafN0M2kl0"</code></p>
<p><code>-f</code>后面输入相应的质量代码:</p>
<p><code>best</code> 选择最佳质量的音/视频文件<br><code>worst</code> 选择质量最差的格式(视频和音频)<br><code>bestvideo</code> 选择最佳质量的仅视频格式(例如DASH视频),可能无法使用。<br><code>worstvideo</code> 选择质量最差的纯视频格式,可能无法使用。<br><code>bestaudio</code> 选择最优质的音频格式,可能无法使用。<br><code>worstaudio</code> 选择质量最差的音频格式,可能无法使用。</p>
<p>只下载音频:</p>
<p><code>youtube-dl -f bestaudio "https://www.youtube.com/watch?v=yHafN0M2kl0"</code></p>
<p>也可组合:</p>
<p><code>youtube-dl -f bestvideo+bestaudio "https://www.youtube.com/watch?v=yHafN0M2kl0"</code></p>
</li>
<li><p>下载所需不同质量的视频和音频文件</p>
<p>先列出视频包含哪些格式:</p>
<p><code>youtube-dl --list-formats "https://www.youtube.com/watch?v=yHafN0M2kl0"</code></p>
<p>或者简写命令:<code>youtube-dl -F</code></p>
<p>就会得到有数字标识的名称</p>
<p><img src="youtube-dl-F.png" alt=""></p>
<p>想下载哪个就输入前面的数字:</p>
<p><code>youtube-dl -f 299 "https://www.youtube.com/watch?v=yHafN0M2kl0"</code></p>
</li>
</ul>
<p>还有很多下载情况,详见<a href="https://github.com/ytdl-org/youtube-dl/blob/master/README.md#readme" target="_blank" rel="noopener">官网</a>。</p>
]]></content>
<tags>
<tag>Youtube</tag>
<tag>Tools</tag>
</tags>
</entry>
<entry>
<title>20201118-madVR详解(转载自万年冷冻库)</title>
<url>/HTPC/2020-11-18-madvr/</url>
<content><![CDATA[<p>转载自<a href="http://lysandria1985.blogspot.com/2013/01/3-madvr.html" target="_blank" rel="noopener">系列之3─最強渲染器-madVR</a>,作者: <a href="https://www.blogger.com/profile/00513318288992936483" target="_blank" rel="noopener">暮星</a> </p>
<p>2018/06/20更新madVR教學文部分內容(對應v0.92.14)</p>
<p>感谢!</p>
<a id="more"></a>
<h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p>在介紹這東西之前,先用張圖來複習一下上回提到的播放過程:</p>
<p><img src="madVR_001.jpg" alt=""></p>
<p>這邊可以看到視訊輸出的最後一道過程就是Video Renderer(視訊渲染器)的部分,同時這個部份也是對畫質影響最吃重的一個部分,在來源檔案相同的前提下,可以說影像播放的畫質好壞取決於渲染器之上也不為過,而madVR正是以此為最大賣點的渲染器,此渲染器是由DOOM9論壇上的madshi所開發,不惜一切效能代價以換取最大的畫質表現,也因此這個渲染器對顯卡的要求稍微吃重些,超越了我們一般對播放軟體之硬體要求的常識(這個常識是指,只有玩遊戲才需要用到較高階的顯卡,影像播放只需要低階顯卡甚至內顯已可勝任),我們最好以run一個遊戲的標準來看待其所需要的效能。但並不是說只有好的顯卡才能用這個渲染器,事實上madVR內部的選項相當彈性,根據設置的不同它可以讓低階卡跟內顯順順跑,也可以把TiTan操爆,一般來說,我建議在能力許可的範圍內選擇一張不算太差的獨立顯卡才能發揮它該有的戰力。</p>
<p>翻譯一下開發者madshi提到關於madVR的一些特色:</p>
<ul>
<li>高品質的chroma upscaling(下面內文會再解釋這東西)</li>
<li>高品質的scaling(各種升降頻演算法)</li>
<li>高品質的YCbCr→RGB轉換</li>
<li>對螢幕執行gamut和gamma的調色校正</li>
<li>內部演算皆為16bit的高精度處理</li>
<li>最後處理完成的16bit訊號dithered降轉成8bit RGB輸出</li>
<li>避開各種顯卡內加料(對畫質有負面影響)的演算法</li>
<li>所有作業皆透過GPU shaders完成(IVTC運算除外)</li>
<li>以追求最高品質為第一優先</li>
</ul>
<p>再重申一個觀念,視訊檔案的播放,解碼吃的是CPU效能(硬解例外,硬解是使用顯卡上的解碼模組,既不吃CPU也不吃GPU效能),而渲染才是吃顯卡GPU效能,使用madVR時,GPU的效能很重要。</p>
<h1 id="madVR下載"><a href="#madVR下載" class="headerlink" title="madVR下載"></a>madVR下載</h1><p>接下來進入正題,首先先到官方討論頁下載最新版的madVR</p>
<p><a href="http://forum.doom9.org/showthread.php?t=146228" target="_blank" rel="noopener">http://forum.doom9.org/showthread.php?t=146228</a></p>
<p>或是到madVR官網下載:<br><a href="http://madvr.net/" target="_blank" rel="noopener">http://madvr.net/</a><br><a href="http://madvr.com/#" target="_blank" rel="noopener">http://madvr.com/</a></p>
<p>madVR目前還沒有安裝檔,madshi說他想到v1.0時再做安裝檔,所以下載後解壓縮完自行將資料夾丟到想放的位置,像我還是習慣丟到Program Files (x86)下面,之後進madVR資料夾裡點一下”install.bat”就會出現濾鏡註冊成功的訊息,以後要更新madVR只需要將資料夾整個蓋過去即可。<br>“restore default settings.bat”這個執行檔可回復所有的madVR設定到初始預設值,如果設定時亂了套或是出現問題,可以點擊這個執行檔,重新開始。<br><font color=Chocolate>madVR的初始預設值是重視效能取向和穩定性的,也就是讓大部分的顯卡都可以正常運作為前提的設置,懶的研究設置的朋友用預設值也可以順順使用madVR,但如果想要進一步發揮madVR強大的功能,我們就再繼續看下去。</font></p>
<p><img src="madVR_002.png" alt=""></p>
<p>到MPC-BE裡的選項>視訊底下應該可以選擇madVR了</p>
<p><img src="madVR_003.png" alt=""></p>
<p>播放影片時,右鍵>篩選器,底下選擇madVR可以打開madVR的設定頁,或是右下角的工具列madVR圖示上點右鍵並選擇”Edit madVR settings”,<font color=Chocolate>或是直接按Ctrl+S</font>,或是在外掛濾鏡裡加入madVR並點兩下都可以打開設定頁</p>
<p><img src="madVR_004.jpg" alt=""></p>
<p><img src="madVR_005.png" alt=""></p>
<p><img src="madVR_006.png" alt=""></p>
<h1 id="madVR設置"><a href="#madVR設置" class="headerlink" title="madVR設置"></a>madVR設置</h1><p>打開設定頁,並將項目展開:</p>
<p><img src="madVR_007.png" alt=""></p>
<h2 id="devices"><a href="#devices" class="headerlink" title="devices"></a>devices</h2><p>“devices”底下為目前連接的螢幕,目前顯卡抓到幾個這邊看到的就是幾個,將螢幕底下的項目展開可再針對各個螢幕做設定</p>
<p>第一個要先選擇螢幕的種類,我想應該不用多做解釋了,是哪種螢幕就選哪種,一般液晶/電漿/OLED螢幕或電視選擇”Digital Moniter/ TV”即可,如果是投影機則選擇”Digital Projetor”</p>
<p><img src="madVR_008.jpg" alt=""></p>
<h3 id="properties"><a href="#properties" class="headerlink" title="properties"></a>properties</h3><p>到”properties”這頁,選擇該螢幕的output level,一般而言電腦螢幕選0-255,電視的話選16-235,不過有些較新的電視也接受0-255的訊號,這邊注意電視的設置與madVR的設置要一致,否則有些色階會被切掉,俗稱黑位錯誤。(顯卡控制介面上的設置則一律設為”由應用程式決定”即可,madVR會決定最後輸出的output level)<br>詳細可參考我的另一篇:淺談HTPC與色彩管理─緒論與前置作業(1/4)<br><a href="http://lysandria1985.blogspot.tw/2014/06/htpc14.html#more" target="_blank" rel="noopener">http://lysandria1985.blogspot.tw/2014/06/htpc14.html#more</a></p>
<p>而bitdepth的選擇,這邊可以維持預設的”auto”讓madVR自行判斷即可。<br>如果螢幕是原生8bit(16.7百萬色)或更高,或6bit dither(抖色)處理後有辦法完整顯示16.7百萬色,則選單裡可選擇8bit;如果螢幕是6bit dither(抖色)成8bit且只能顯示16.2百萬色的話,且螢幕自身的抖色效果不佳的話,選單裡可選6bit或7bit,madVR會增加抖色(dithered)輸出的強度,色階過渡會比較好點(但會增加一些噪點),一般而言TN面板的LCD螢幕6bit抖色的居多,IPS/VA面板比較有可能是原生8bit或以上。<br><font color=Chocolate>至於10bit輸出,除非能完全確定螢幕能夠接受10bit訊號輸入並且顯卡驅動程式也能夠輸出10bit,才去選擇這個選項,如果不能100%確定,那還是建議選擇8bit輸出,madVR的dithered 8 bit輸出的效果跟10bit輸出其實差異很小,實際觀賞時肉眼幾乎難以查覺差異。</font><br><font color=Chocolate>另外需注意,10bit輸出,只有在D3D11 的FSE(全螢幕獨佔)模式下(這是general serttings那邊的設定)或是win10作業系統下的視窗全螢幕模式才能達成(不過目前排除了NV卡,因為其驅動以此法輸出10bit會有造成banding的bug出現,故NV卡目前除了FSE模式外都是強制輸出8bit)。</font></p>
<p><font color=Chocolate>如果你無法確定你的螢幕要選擇哪種bit數,請自行用灰階影片來測試,看選擇哪一個bit數的色階過渡效果最好,色階斷層(banding)最不明顯,那個就是最適合你的螢幕的bit數設置。</font></p>
<p>另外關於6bit以下的選項,那些只是給你做dither算法的測試時使用的,不要做為常駐選項</p>
<p>關於dither這技術的原理可參考此篇文章<br><a href="http://www.ptt.cc/bbs/LCD/M.1374130301.A.402.html" target="_blank" rel="noopener">http://www.ptt.cc/bbs/LCD/M.1374130301.A.402.html</a></p>
<p>3D format這項,在觀看3D影片時才有作用,一般設為auto就好,如果顯示裝置接受特定的3D顯示形式才需要去切換</p>
<p><img src="madVR_009.png" alt=""></p>
<h3 id="calibration"><a href="#calibration" class="headerlink" title="calibration"></a>calibration</h3><p>到”calibration”這頁,可以看到四個選項,一般螢幕如果沒有經過校色器校色過或是不確定色域的話可維持選第一項”disable calibration controls for this display”就好了,最下面那個”disable GPU gamma ramps”如果沒有校色過的話就不要勾選</p>
<p><img src="madVR_010.jpg" alt=""></p>
<p>如果該螢幕經過校色器校色過或是螢幕有色域選項而且其出廠標準可以信任的話,可以選第二項”this display is already calibrated”,gamut跟 gamma就依校色時的條件去選擇<br>第三項”用yCMS校色”跟第四項”用3DLUT檔校色”,一樣需要有校色器的配合,yCMS是將校色過後的三原色跟灰階資訊自行輸入,而3DLUT則是用校色後的資訊產生一個獨立的3DLUT檔來使用,<font color=Chocolate>目的都是為了能讓片源配合螢幕及環境光源狀況達到最正確的輸出,能夠呈現影片製作者原本要表達的畫面,而不會因為顯示器和傳輸媒介的個別差異而被扭曲得亂七八糟</font>。後面兩項使用的話顯卡記憶體必須要有至少1GB以上,因為這兩項功能會建立Lookup tables,會占用大量的顯卡記憶空間。</p>
<p>有興趣的朋友可先參考此網址:<br><a href="http://www.avsforum.com/t/1471169/madvr-argyllcms" target="_blank" rel="noopener">http://www.avsforum.com/t/1471169/madvr-argyllcms</a><br>目前由於ArgyllCMS和dispcalGUI的兩位開發者都把madVR加入支援,所以已經有一套很完善而且簡單的校色流程,只需要去租用一個校色器(建議是光譜儀 colormunki photo、colormunki design或i1 pro之類的),照上面網址教學操作很簡單就能完成,做出必要的3DLUT檔。<br>當然校色的領域博大精深,其中有不少的know-how,所以也請原諒我的無限期拖稿,等小弟玩出些心得會再另發專文分享。</p>
<p><img src="madVR_011.jpg" alt=""></p>
<h3 id="display-modes"><a href="#display-modes" class="headerlink" title="display modes"></a>display modes</h3><p>到”display modes”這頁,這部分是在播放影片時即時改變顯示模式用的,可選擇播放時改變或是全螢幕時再改變,然後再選擇結束播放或是結束全螢幕時要不要改回來。這部份的功能是在顯示裝置有支援多種顯示模式時使用的(像有些電視或投影機有24P輸入模式,或要在59Hz和60Hz之間切換),可讓其配合影片更改螢幕更新率或是解析度,若<font color=Chocolate>螢幕沒支援的話這部分不用勾選</font>。<br>解釋一下選項:<br>switch to matching display mode…(啟用播放時切換顯示模式)<br> …when playback stars (只要開始播放就切換)<br> …when media player goes fullscreen (只要全螢幕播放時才切換)<br>restore original display mode…(結束播放時切換回原來的顯示模式)<br> …when media player is closed (播放器關閉時才切回去)<br> …when media player leaves fullscreen (只要退出全螢幕就切回去)</p>
<p><font color=Chocolate>要使用自動切換功能,必須在下方的”list all display modes madVR may switch to:”底下那個空格填入螢幕能使用的顯示模式,沒填的話就沒有自動切換作用。</font></p>
<p>以我的panasonic電視為例子來說,它的更新率在1920*1080下支援23Hz(實際約23.976附近)、24Hz、29Hz(實際約29.970附近)、30Hz、59Hz(實際約59.94附近)、60Hz這六種,將其輸入可以讓madVR更精確的切換電視螢幕更新率以對應不同幀率的影片,以上面例子來說,我會在欄位輸入1080p23、1080p24、1080p59、1080p60這四種(29Hz跟30Hz沒必要,因為用其倍數的59Hz跟60Hz來顯示更好),1080p23對應幀率23.976 fps的影片,1080p24對應幀率24 fps的影片,1080p59對應幀率29.970和59.940 fps的影片,1080p60對應幀率30和60 fps的影片。<br><font color=Chocolate>當然這些只是舉例,如果是用2K或4K螢幕的話,前面請自行換成1440p_或2160P _</font></p>
<p>另外有個”treat 25p movies as 24p”這功能要配合Reclock使用,目的是讓歐規PAL 25p的影片能夠降速到24p去配合24p的顯示模式,如果沒有在看歐規影片的話這部分也不用理會。</p>
<p>而”hack Direct3D to make 24.000Hz and 60.000Hz work”這個選項,在系統是win8.1或win10時才有作用,win8.1和win10,有時候會發生螢幕更新率無法在需要時(要對應24fps或60fps影片時)變更成24Hz和60Hz(螢幕更新率會鎖在23.976Hz或59.940Hz),這個選項可以解決這個問題,但可能有個副作用是會造成presentation queues填不滿,所以依個人需要決定要不要勾。</p>
<p><img src="madVR_012.png" alt=""></p>
<p><img src="madVR_013.png" alt=""></p>
<p>此外,”display modes”這頁的設定還有另一個分頁”custom modes”,這是madVR的另一項有用的螢幕更新率自訂及微調功能,詳情請參考我的另一篇介紹文章:</p>
<p><a href="https://lysandria1985.blogspot.tw/2018/04/3reclock-madvr.html" target="_blank" rel="noopener">系列番外篇之3─是時候拋棄Reclock了? madVR螢幕更新率微調功能簡介與實作</a></p>
<h3 id="color-amp-gamma"><a href="#color-amp-gamma" class="headerlink" title="color & gamma"></a>color & gamma</h3><p>到”color & gamma”這頁,如果方才的”calibration”那頁裡面選擇的是第一項”disable calibration controls for this display”,gamma是預設為pure power curve 2.2,這時勾選”enable gamma processing”並設定為pure power curve 2.2的話不會有任何改變,如果設為其他值才會改變gamma</p>
<p>“calibration”這項如果有設定,舉個例子,假設我設定gamma為BT.709 1.8,這時不勾選或是勾選”enable gamma processing”並設定為BT.709 1.8的話都不會有任何改變,但如果設為其他值就會改變gamma的輸出</p>
<p>現在回到為什麼要改變gamma輸出的問題,主要是為對應校色時跟你實際觀看的環境的差別,例如你的螢幕可能是在暗室校色為gamma2.4,那麼在同樣的暗室觀賞,不用去動gamma值就可以看到影片中的亮部跟暗部細節,但是你如果把同樣的螢幕拿到明室中來觀看,因為人的眼睛會根據環境光線調整瞳孔大小,所以這時一樣的設定可能會讓你看不到影片中的暗部細節,這時就要把gamma降到2.2或是更小來輸出,才能得到同樣在暗室觀賞的效果,但madVR不會知道你在哪種環境底下來看影片,所以才需要”enable gamma processing”這項來手動更改gamma輸出</p>
<p>如果是用校色器校色,而且你看影片的環境光線跟校色時選用的gamma曲線能夠配合的話,那就不需要勾選”enable gamma processing”來修正gamma值了。</p>
<p>這邊我還是假設各位是未校色的螢幕並且”calibration”那頁裡面選擇的是第一項”disable calibration controls for this display”,那麼此處建議底下選擇”pure power curve”,gamma值一般正常預設2.2,不過可依環境光源來做調整,較暗的環境中,可增加gamma值到2.4,全暗環境甚至可到2.6,如此可看到較細微的階調變化;在較亮的環境中,就必須減少到2.0或更低,否則就會看不到暗部細節,不過個人建議還是先設2.2,實際播放影片時再依當時環境用熱鍵做暫時性的微調就行了。</p>
<p><img src="madVR_014.jpg" alt=""></p>
<p>另外注意到上方有手動顏色控制,可調整對比、亮度、飽和度,色調的部分,這個一般不用去改,有需要再去調就好了(螢幕方面,我比較建議先調螢幕自身的控制面板,之後不滿意再來調這個地方)。<br>另外總結一下目前madVR可以做手動顏色控制的地方有三個:</p>
<ol>
<li>在madVR選項裡的”device”下的”color & gamma”,針對每個螢幕個別調整,也就是上面的那個。</li>
<li>熱鍵設定裡有一堆開頭”source”的項目,可建立熱鍵,在播放影片時隨時用熱鍵調整,調整結果不會被儲存。</li>
<li>播放軟體的調整介面,效果同1.,不過調整結果對所有螢幕都會有作用,如下圖:</li>
</ol>
<p><img src="madVR_015.png" alt=""></p>
<h3 id="HDR"><a href="#HDR" class="headerlink" title="HDR"></a>HDR</h3><p>到HDR這頁<br>如果你沒有觀看HDR(High Dynamic Range)影片的需求的話這邊設定可以不用去管它,<font color=Chocolate>它對於SDR(Standard Dynamic Range)的影片是沒有任何影響的,而我們目前觀看的絕大多數影片都是SDR的</font>,目前只有一些非常新的4K影片會採用HDR這項技術,HDR影片通常會是BT.2020色域、10bit色深。以下簡略解釋各選項</p>
<p><img src="madVR_017.png" alt=""></p>
<ul>
<li>“let madVR decide”,全部交給madVR自行判斷,如果螢幕支援HDR的話,madVR會送HDR 影片和metadata的訊號給螢幕(同第二項”passthrough HDR content to the display”);如果螢幕不支援HDR的話,madVR會使用 pixel shader math把HDR影片轉成SDR訊號送出(同第三項”convert HDR content to SDR by using pixel shader math”,但效果等同第三項未勾選”restore details in compressed highlights”,轉換後細節損失比較多,故螢幕不支援HDR的話我建議直接選擇第三項)。</li>
<li>“passthrough HDR content to the display”,<font color=Chocolate>將HDR內容和metadada不經處理直接送給螢幕,須注意選擇此選項螢幕必須完整支援HDR內容播放,螢幕不支援HDR這選項就沒有任何意義</font>。madVR在v0.91.11之後版本才能完整使用這個選項的功能,支援兩種API將影片的metadata傳送給電視去辨識。一種是NV或AMD卡專用的HDR API,必須搭配新的驅動,好處是win7、win8.1、win10皆可使用;另一種是win10內建的D3D11/DXGI APIs.,這個每家顯卡都可用,但只有win10下能用,播放時必須使用D3D11模式。(“calibration”設定裡有3DLUT檔的話會繞過)</li>
<li>“convert HDR content to SDR by using pixel shader math”,選擇此選項會將HDR之內容妥善轉換成SDR內容後輸出給一般SDR螢幕使用(“calibration”設定裡有3DLUT檔的話則會接在後面套用),<font color=Chocolate>如果螢幕不支援HDR的話我建議選擇此項。</font></li>
<li>“convert HDR content to SDR by using an external 3DLUT”,選擇此選項則須利用校色器跟軟體建立HDR→SDR轉換的3DLUT給它使用,轉換後輸出SDR內容給螢幕(“calibration”設定裡有3DLUT檔的話會繞過)</li>
<li>“process HDR content by using pixel shader math”,輸出HDR內容給螢幕,<font color=Chocolate>選擇此選項螢幕也必須支援HDR播放</font>,但是是由madVR來處理色域跟亮度的轉換,例如電視支援HDR,但是色域是DCI-P3的case(“passthrough HDR content to the display”那項則是由電視本身處理色域跟亮度的轉換),有時候電視本身沒辦法很好的處理HDR內容的色域跟亮度轉換時就適合選擇此項。(“calibration”設定裡有3DLUT檔的話會繞過)</li>
<li>“process HDR content by using an external 3DLUT”,選擇此選項則須利用校色器跟軟體建立HDR→螢幕色域轉換的3DLUT給它使用,<font color=Chocolate>選擇此選項螢幕也必須支援HDR播放</font>。(“calibration”設定裡有3DLUT檔的話會繞過)</li>
</ul>
<p>以下以第三項”convert HDR content to SDR by using pixel shader math”為例說明下方之子選項:</p>
<p>“target peak nits”<br>可設定範圍是120<del>10000,HDR影片使用的亮度範圍是0</del>10000 nits,它必須有一個支援HDR的顯示器才能正常顯示(當然還有顯卡也要支援),而一般SDR的顯示器最大亮度大概在80~300 nits(例如我的電漿電視校色後最大亮度設定在120nits),在SDR顯示器上播放HDR影片是沒辦法顯示正確亮度的,需要經過色調映射(tone mapping),這個選項就是讓你設定HDR影片轉換後的亮度,讓HDR影片可以在SDR螢幕上正確顯示,不過並不是螢幕亮度設多少這選項就一定要設多少,還必須實際播放測試後去找出最適合的選項。這邊設置的數值越低,亮度中間值會拉越高(整體畫面越亮),數值越高,亮度中間值拉越少(整體畫面越暗)。像我的電視亮度實際大約120nits,但是這一選項我設定在200nits看起來效果比較好。</p>
<p>“tone maping curve”<br>設定色調映射用的曲線,建議選擇預設的BT.2390。</p>
<p>“gamut mapping algorithm”<br>影片裡大於螢幕色域的畫素,如果什麼都不做的話,色彩座標超出的部分會被剪除(例如一個畫素RGB為50,320,40,螢幕255,255,255,則該畫素顯示時會變成50,255,40),會造成hue(色相)跟原本的產生差異,顏色會偏移,因此較好的做法是透過降低亮度或降低飽和,等比例去分配RGB值,以求在螢幕色域能顯示的範圍內儘量讓hue保持不變。此項是選擇色域轉換所使用的演算法,不同的演算法設定會造成轉換後的顏色呈現有些微的差異,有興趣的話可慢慢測試不同設定,不然建議先維持預設選項即可。</p>
<p>“fix too bright & saturated pixels by:”<br>luminance reduction(降亮度)、saturation(降飽和),要用哪個則是個難題,有些HDR片源適合降亮度,有些適合降飽和,這邊建議維持預設”dynamic luminance & saturation reduction”,讓madVR自行判斷並做動態調整。</p>
<p>“measure each frame’s peak luminance”<br>勾選這項會讓madVR自己計算每一幀的巔峰亮度值,雖然這項資訊HDR metadata裡面有但未必是準確的,因為只有單一數值,而每個幀的亮度是一直變化的,實時測量才能讓madVR達成更精確的亮度轉換(tone mapping)</p>
<p>“restore details in compressed highlights”<br>在壓縮高亮度區域的數值時,因為數值會非常接近,可能導致該區域的細節遺失,勾選此選項的話,會在需要時透過銳化的方式讓細節比較容易保留下來</p>
<p>“activate anti-bloating filter”<br>AB濾鏡,因為上面有用到銳化故建議勾選</p>
<p>“activate anti-ringing filter”<br> AR濾鏡,因為上面有用到銳化故建議勾選</p>
<p>此外,關於HDR metadata輸出通道,做一些補充說明:</p>
<p>1.Windows 10 Creator’s Update底下的螢幕設定裡面有個選項叫”HDR and advanced color”(不太確定中文版翻成什麼),關掉的話螢幕永遠跑SDR模式,開了的話有HDR的螢幕永遠跑HDR模式,Windows目前無法根據使用者是否跑HDR影片或HDR遊戲而自動把螢幕在SDR或HDR模式之間切換。</p>
<p>2.關掉”HDR and Advanced Color” 這選項的話PC永遠會送SDR內容給螢幕(使用A或N卡自身的HDR API時例外,見第4.項),這時候如果用madVR播放HDR影片並選擇第一項”passthrough HDR content to the display”,如果是Intel內顯,OS/GPU會自己做一個品質比較低的HDR -> SDR 轉換,這時候HDR影片看起來還是OK的,但品質差強人意。SDR影片則不受影響,仍然是完美的。</p>
<p>3.打開”HDR and Advanced Color” 這選項的話PC永遠會送HDR內容給螢幕(使用win10內建的API),這時候madVR選擇”passthrough HDR content to the display”的話,播放HDR影片時是完美的,但播放SDR影片時,OS/GPU會自己做SDR -> HDR 轉換,這時候SDR影片看起來還是OK的,但品質稱不上完美。非影片的部分,像桌面跟網頁那些,也可能造成顏色異常。</p>
<p>4.Nvidia和AMD 自己的HDR API解決了上面提到的無法自動切換HDR跟SDR的問題,<font color=Chocolate>N卡和A卡使用者只要把win10的”HDR and Advanced Color” 這選項關掉,madVR就自動會使用顯卡自己的HDR API,如此一來就可以自動切換螢幕的SDR和HDR模式</font>,讓SDR和HDR影片都可以的到最完美的播放效果。</p>
<p>5.N卡驅動建議更新到390.65之後版本,太舊的會不支援顯卡自身的HDR API或是有bug。</p>
<p>6.AMD的HDR API限制較多,只能在10bit D3D11輸出模式下使用,而且必須在全螢幕下才能使用,N卡的HDR API則無此限制。</p>
<p>7.<font color=Chocolate>除非A卡或N卡的HDR API無法正常運作,不然非常不建議去開win10自身的HDR選項。</font></p>
<h2 id="processing"><a href="#processing" class="headerlink" title="processing"></a>processing</h2><h3 id="deinterlacing"><a href="#deinterlacing" class="headerlink" title="deinterlacing"></a>deinterlacing</h3><p>到”deinterlacing”這頁,建議如圖設定:<br>這邊是關於是否啟動去交錯的一些判斷原則,我們讓madVR自己判斷,並選擇在懷疑時不啟動去交錯。<br>下方”only look at pixels in the frame center”這個選項只對film型式的交錯式(隔行掃描 interlaced)影片有影響,也就是說這選項在啟動madVR的film mode時才有作用(文後有解釋)<br>我們知道對於這類影片必須對其作IVTC讓它還原成24p(60i→24p),但實際上我們有時候會發現錄了一部電視播放的電影或動畫下來,電視台常常在四邊打上跑馬燈或台標之類的東西,而這個跑馬燈或台標卻是video型式的interlaced訊號(真正的60i 無法IVTC),因此我們要作IVTC時如果是對整個畫面的像素作偵測,遇到這種情形時就很容易產生誤判。因此勾選這個選項時就只會對畫面中央部分的像素作偵測,避開那些跑馬燈或台標可能出現的位置以免作IVTC時產生誤判,但缺點就是這樣偵測的效率較低,遇到動畫這類常常有靜止畫面的影片在偵測是哪一類pulldown時就會花比較久的時間。<font color=Chocolate>如果會看電視台播放的電影或動畫的話,建議勾選此選項,如果是看DVD原盤的話,則建議取消勾選。</font><br><font color=Chocolate>這選項對progressive的影片完全沒有影響,如果照字面理解為這選項不利於動畫的話那是錯誤的理解,因為很多動畫片源只要是藍光或是錄製下來壓製時做過IVTC的,都會是progressive而非interlaced。電視台錄製下來的原始TS檔或是DVD原盤才有可能是interlaced。</font></p>
<p><img src="madVR_018.png" alt=""></p>
<h3 id="zoom-control"><a href="#zoom-control" class="headerlink" title="zoom control"></a>zoom control</h3><p>接下來到zoom control這項,這邊是設定畫面縮放的一些控制條件,一般來說並不需要做任何設定,不過某些情形下這些選項是很有用的,這邊稍微解釋一下各個選項及其可能適用的範圍</p>
<p><img src="madVR_016.png" alt=""></p>
<p>“disable scaling if image size changes by only”:設定片源跟目標解析度低於幾個像素時不執行縮放演算,而以添加黑邊代替</p>
<p>“move subtitles”:移動字幕到畫面底部或是影片可視範圍內(搭配下面的偵測跟移除黑邊功能)</p>
<p>“automatically detect hard coded black bars”:自動偵測影片內部的黑邊,這裡的黑邊,並不是指影片比例跟螢幕比例不一樣產生的那種黑邊,而是指<font color=Chocolate>影片編碼時就被包含在其中的黑邊</font>,這邊我舉兩個例子來說明。</p>
<p>例1:很多電影是用21:9這種超寬比例來拍攝,但是發行BD時,仍然按照規範採用16:9的畫面比例編碼(影片解析度1920*1080),也就是會在21:9的畫面中加入上下兩道黑邊讓它變成16:9的畫面(如下圖所示),這在一般16:9或16:10的顯示器上播放當然沒有什麼問題,但是如果在21:9的顯示器上播放的話,就會變成除了上下兩道黑邊外再加上左右兩道黑邊,因為要把16:9的畫面塞到21:9的顯示器中,不破壞畫面比例的話左右必然會有黑邊。但我們可以發現它的影像實際畫面範圍就是21:9,明明放到21:9螢幕上卻白白多加了上下左右四道黑邊,這是一種浪費,於是madVR這個選項就是讓它去偵測出實際的畫面範圍,以便讓21:9的影像內容確實填滿21:9的螢幕,不用浪費在四道黑邊上面。<br>而就算我們在16:9的顯示器上播放這類影像,用這功能把實際的畫面範圍抓出來的話,亦可以減少渲染輸出時的效能消耗,因為渲染的範圍減少了(例如原本連黑邊要渲染1920<em>1080的解析度範圍,抓出實際範圍後只渲染有畫面的1920</em>823的那部分)</p>
<p><img src="madVR_019.png" alt=""></p>
<p>例2:有些SD的訊號源,像電視的SD頻道,它的比例都是4:3(640*480),但其實裡面的節目有些是16:9的畫面,只是它塞在4:3的框架裡去播,多加了上下兩道黑邊,如果放到16:9的螢幕上看的話,左右也會多出黑邊(如下圖),一樣也是白白浪費了上下左右四道黑邊的範圍。這選項也是可以把16:9的畫面抓出來填滿16:9的螢幕</p>
<p><img src="madVR_020.png" alt=""></p>
<p>繼續解釋一下下面的子選項<br>“if black bars change pick one zoom factor”:如果黑邊改變的話選取一個縮放比例</p>
<ul>
<li>不損失任何畫面內容為原則</li>
<li>砍除25%黑邊</li>
<li>砍除50%黑邊</li>
<li>砍除75%黑邊</li>
<li>砍除全部黑邊</li>
</ul>
<p>“if black bars change quickly back and forth”:如果黑邊改變很快速的話</p>
<ul>
<li>不切換縮放比例低於2秒、5秒、15秒或45秒</li>
<li>選定一個通用的縮放比例(不損失原則、25%黑邊、50%黑邊、75%黑邊、全部黑邊)</li>
</ul>
<p>“notify media player about cropped black bars”:多久通知一次播放器縮放比例改變(即時、2秒、5秒、15秒、45秒)</p>
<p>“always shift the image”:切齊畫面頂部或是底部</p>
<p>“keep bars visible if they contain subtitles”:如果上面有字幕的話保留黑邊(字幕出現後保留黑邊5秒、15秒、45秒、3分、10分、30分、90分或永遠)</p>
<p>“cleanup image borders by cropping”:除了黑邊外也切掉一些實際畫面邊緣(給一些邊緣比較糟糕的影像使用),可切1~7個像素,從有移除黑邊的地方切或是不管有沒有黑邊直接切</p>
<p>“if there are big black bars”:有大範圍黑邊的話,直接移除25%、50%、75%或全部黑邊並放大影像(有超出螢幕範圍可能,小心使用)</p>
<p>“zoom small black bars away”:有小範圍黑邊的話直接裁掉放大,不過為了維持原畫面比例會多裁到一點實際畫面 (不是很確定,待確認)</p>
<p>“crop black bars”:勾選後會把片源視為裁切黑邊後的解析度跟寬高比例去處理,會影響到profile的判定(如果有設置的話)</p>
<p><font color=Chocolate>請注意,如果你覺得影片有被切的怪怪的情形發生時,請先把zoom control底下的選項都先全部取消勾選看看</font></p>
<h3 id="image-enhancements"><a href="#image-enhancements" class="headerlink" title="image enhancements"></a>image enhancements</h3><p>接下來到image enhancements這項,<font color=Chocolate>這個選項是針對影片本身銳利度不足的片源,經由勾選的算法進行銳利化處理,其處理是在放大演算之前(pre-processing)</font>,所以對於1:1呈現的影像也有效果。在這邊,不論選擇哪一種算法,銳化的效果都相當顯著,但相對的,片源中的缺陷(雜訊)也很容易被凸顯出來,跟後面的upscaling refinement(post-processing)比較起來,同樣的銳化算法,副作用也會更明顯,故<font color=Chocolate>不建議當作常駐選項</font>。這邊建議是製作Profile,像下圖那樣,第一個Profile是常駐,不勾選任何銳化算法的,其他Profile則有開銳化算法,並設定熱鍵,視片源需要用熱鍵來開啟銳化算法。</p>
<p><img src="madVR_021.png" alt=""></p>
<p>關於image enhancements的銳化算法,理論上是越乾淨的片源越適合開,而且應該是有需要才開,有些片源銳化後整體觀感不見得比較好。如果片源不夠乾淨,你覺得有需要銳化,也可以開,自行取捨,看銳利度跟細節的提升願不願意用畫面雜訊或是鋸齒變多這個代價去換。個別演算法的簡介到upscaling refinement那邊一起寫。</p>
<h3 id="artifact-removal"><a href="#artifact-removal" class="headerlink" title="artifact removal"></a>artifact removal</h3><p>接下來到artifact removal這項<br>“reduce banding artifact”<br>banding,即色階斷層或稱色帶, google一下就能看到一堆範例圖了,這個選項是debanding(去色階斷層)功能,ffdshow video decoder裡面也有個”去斷層”,跟這個基本上是一樣的作用,但madVR的debanding因為處理的精度更高,偵測像素變化的機制更好,故效果會比ffdshow video decoder裡面的去斷層更好,使用這個的話就不需要再使用ffdshow video decoder的去斷層了。<br>第一個選項是一般畫面的debanding強度,第二個選項是光影淡入淡出時的debanding強度,建議設置如下,保持在low就有不錯的效果,或是第二個選項可以選擇medium或high,因為光影淡入淡出是比較容易出現banding的地方,但基本上還是看片源而定。越高的設定有越好的debanding效果,不過相對的也可能損失一些畫面細節。<br>這個選項會吃掉一些顯卡效能,但不會太多,顯卡不差的話建議常時保持在low,有一定的debanding效果,而且幾乎不會吃到畫面細節。<br>不過對於一些4K”原生”10bit以上的影片而言,比較不容易出現banding,這個選項就不需要開,可以省下一些效能,像我自己是設一個profile讓它播放4K 10bit的影片時不啟用</p>
<p><img src="madVR_022.png" alt=""></p>
<p><img src="madVR_023.png" alt=""></p>
<p>這邊也簡單討論一下banding,維基上有個簡介:<br><a href="http://zh.wikipedia.org/wiki/色彩帶" target="_blank" rel="noopener">http://zh.wikipedia.org/wiki/%E8%89%B2%E5%BD%A9%E5%B8%B6</a><br>基本上,我們現在可以取得的大部分片源,包括BD,或電視台播送的訊號,RGB都是只有8bit的色深而已,也就是說,電影母帶在製作成BD時就可能會有banding產生了。再來,如果我們對BD或電視訊號再進行壓製編碼,由於流量或色深的不足,這個過程也可能再產生banding(這也是為何現在有人喜歡用10bit壓製影片的原因,因為在同量的流量下可以很好的抑制banding的產生)。再來,影片都是以YUV色域儲存的,在電腦上播放時還必須經過YUV→RGB的轉換以及Y/C伸張(16<del>235伸張成0</del>255),這個轉換的過程如果精度不夠高也可能產生banding,而madVR本身的高精度轉換和dithered輸出就很好的避免了這個步驟下banding的產生,但別忘了我們無法控制來自片源的banding,所以madVR才又加入debanding的演算法來進一步消滅掉所有的banding問題,這也是為何我會建議把這個選項常時開啟的原因,就算是觀看BD原盤它還是有作用在的。</p>
<p>這邊提供一個測試影片:<br><a href="https://www.mediafire.com/?4ubjm6jjbsz8dct" target="_blank" rel="noopener">https://www.mediafire.com/?4ubjm6jjbsz8dct</a><br>各位可以試試看在EVR-CP底下關閉全浮點運算、EVR-CP開啟全浮點運算、madVR預設值、madVR啟用debanding這四種狀況來比較banding的差異,基本上第一種情形banding最明顯,第二、第三種會有接近的結果,第四種則幾乎沒有banding了,色階的過渡會非常平滑。</p>
<p>這邊也提供一個madVR的debanding改善壓製過程產生的banding的範例,看到以下四張圖片(點圖放大):</p>
<p>madVR無開啟debanding,可發現渣介臉上有明顯條紋</p>
<p><img src="madVR_024.png" alt=""></p>
<p>開啟debanding,low</p>
<p><img src="madVR_025.png" alt=""></p>
<p>開啟debanding,medium</p>
<p><img src="madVR_026.png" alt=""></p>
<p>開啟debanding,high</p>
<p><img src="madVR_027.png" alt=""></p>
<p>可見low就有不錯的效果了,諸如此類各位可自行測試,針對不同的片源,善用熱鍵或是profile來設置必要的debanding強度。(profile的使用方法我PO在另一篇文中介紹)<br><a href="https://lysandria1985.blogspot.com/2014/01/2madvr-profile.html" target="_blank" rel="noopener">https://lysandria1985.blogspot.com/2014/01/2madvr-profile.html</a></p>
<p>而下面的”reduce ringing artifects”,要先認識一下ringing,詳細請看WIKI:<br><a href="https://zh.wikipedia.org/wiki/振鈴效應" target="_blank" rel="noopener">https://zh.wikipedia.org/wiki/%E6%8C%AF%E9%88%B4%E6%95%88%E6%87%89</a></p>
<p>madVR裡的眾多演算法,很多都有搭配anti-ringing濾鏡,就是為了抑制這個震鈴效應。而這邊這個選項,則是為了處理<font color=Chocolate>影片本身就存在的ringing</font>,影片會有ringing出現,通常是高解析度的母片在後製成較低解析度的產品輸出時(例如DVD),使用了較差的降頻演算法時產生的。<font color=Chocolate>這個選項比較沒必要常駐開啟,而是明顯觀察到影片上有ringing時再開就好了(可設定熱鍵)。</font>下面的子選項,”reduce dark halos around bright edges, too”,是針對明亮物體邊緣的深色系光環(這類似乎在黑白電影比較常見),這選項不適用在動畫類。</p>
<p>以下是一組有明顯ringing的例子,跟deringing後的效果(點圖放大):</p>
<p>原圖</p>
<p><img src="madVR_028.png" alt=""></p>
<p>deringing</p>
<p><img src="madVR_029.png" alt=""></p>
<p>接下來看到”reduce compression artifacts”,以下簡稱RCA,此項作用為去除壓縮失真,嚴格來說它具備有去除區塊失真(deblocking)、畫面雜訊跟噪點的作用,但缺點就是可能會對畫面細節造成破壞,故不建議常駐使用,建議設置熱鍵在需要時手動開啟即可。其可調強度為1<del>14,強度越高,畫面淨化效果越強,但相對的畫面細節也會被抹去越多,畫面可能變的平面化,失去立體感,因此使用上需注意,建議在畫面淨化效果可接受的情況下儘可能選擇較低的強度。以個人經驗來說,真人影片類大部分開1</del>6之間即可,動畫類6~10之間,但這非準則,實際仍要視當下片源狀況而定,有些乾淨的片源根本不需要開,有些則是開了發現細節被破壞,這時就必須降低強度,有些片源雜訊失真非常嚴重,這時就需要增加強度。<br>qualily的部分,則是處理的品質,very high的品質最好,能夠更精確的判斷雜訊跟細節,high次之,依此類推,但從high到very high所增加的效能消耗非常多,而且跟影片放大的目標解析度成正比,須注意。(如果不搭配NGU sharp使用的話,建議開到high就好)<br>底下子選項”process chroma channels, too”,如果勾選的話,RCA也會在chroma升頻時介入處理,但會消耗較多的效能,而且chroma升頻時做RCA的效果並不明顯,因此並不建議勾選此選項。(這項不勾選的時候,RCA就只有在luma升頻時才會介入,因此影片1:1播放時就不會有RCA的效果)<br>子選項”activate only if it comes for free(as part of NGU sharp)”,<font color=Chocolate>這項勾選的話則RCA將只有在升頻演算法使用NGU sharp的時候啟用後才會有作用,但是完全不會增加任何額外的效能消耗</font>,勾選後qualily的部分視NGU sharp的運算強度是使用low、normal、high還是very high,而自動對應,但是不管如何對應,RCA的部分都不會增加額外效能消耗,<font color=Chocolate>因此如果升頻演算法使用NGU sharp的話強烈建議勾選此選項,但如果升頻演算法不是用NGU sharp的話則不要勾選,否則RCA啟用後也不會有作用。</font></p>
<p>最後是”reduce random noise”,以下簡稱RNN,此項作用為去除粒狀雜訊跟噪點(denoise),其去除噪點的效果比上面的”reduce compression artifacts”還要顯著許多,但相對的也更容易破壞畫面細節,因此一樣不建議常駐使用,建議設置熱鍵在需要時手動開啟即可。其可調強度為1~10,強度越高,去噪點效果越強,但畫面細節破壞也越嚴重,須謹慎使用。<br>子選項”process chroma channels, too”的部分同RCA</p>
<p>以下提供一些RCA跟RRN的效果範例:<br>640x480→1440x1080 NGU-sharp (點擊放大)</p>
<p><img src="madVR_030.png" alt=""></p>
<p>640x480→1440x1080 NGU-sharp+RCA 5 (點擊放大)</p>
<p><img src="madVR_031.png" alt=""></p>
<p>640x480→1440x1080 NGU-sharp+RRN 3 (點擊放大)</p>
<p><img src="madVR_032.png" alt=""></p>
<p>640x480→1440x1080 NGU-sharp (點擊放大)</p>
<p><img src="madVR_033.png" alt=""></p>
<p>640x480→1440x1080 NGU-sharp+RCA 5 (點擊放大)</p>
<p><img src="madVR_034.png" alt=""></p>
<p>640x480→1440x1080 NGU-sharp+RRN 3 (點擊放大)</p>
<p><img src="madVR_035.png" alt=""></p>
<p>1280x720→1920x1080 NGU-sharp (點擊放大)</p>
<p><img src="madVR_036.png" alt=""></p>
<p>1280x720→1920x1080 NGU-sharp+RCA 6 (點擊放大)</p>
<p><img src="madVR_037.png" alt=""></p>
<p>1280x720→1920x1080 NGU-sharp+RCA 8 (點擊放大)</p>
<p><img src="madVR_038.png" alt=""></p>
<p>1280x720→1920x1080 NGU-sharp+RCA 10 (點擊放大)</p>
<p><img src="madVR_039.png" alt=""></p>
<p>1280x720→1920x1080 NGU-sharp+RCA 14 (點擊放大)</p>
<p><img src="madVR_040.png" alt=""></p>
<p>另外介紹一下這邊熱鍵設置的幾種方法</p>
<p><img src="madVR_041.png" alt=""></p>
<p>第一,可以到keyboard shortcuts底下,找到我圈起來的那幾項,會調到的幾項,後面自己輸入習慣的熱鍵<br>debanding - toggle strength (debanding強度切換)<br>debanding - toggle on/off (debanding開關)<br>debanding custom settings - toggle (debanding自訂參數切換)<br>deringing - toggle (deringing開關)<br>deblocking - toggle (RCA開關)<br>deblocking strength - increase (RCA強度增加)<br>deblocking strength - decrease (RCA強度降低)<br>denoise - toggle (RRN開關)<br>denoise strength - increase (RRN強度增加)<br>denoise strength - decrease (RRN強度降低)</p>
<p>第二,設置profile,並以組別設置熱鍵方便快速切換,並搭配上面的強度熱鍵快速調整,例如下圖,我設置了”Tab”跟”Back”兩個熱鍵來快速切換兩組profile:</p>
<p><img src="madVR_042.png" alt=""></p>
<p><img src="madVR_043.png" alt=""></p>
<p><img src="madVR_044.png" alt=""></p>
<h2 id="scaling-algorithms"><a href="#scaling-algorithms" class="headerlink" title="scaling algorithms"></a>scaling algorithms</h2><p>接下來要進入重頭戲,關於scaling演算法的設置,這部分是影響效能最大也是影響畫質表現最明顯的地方,也是madVR的最大特色,我們可以看到有四個地方需要設置演算法,分別是chroma upscaling、image downscaling、image upscaling和upscaling refinement</p>
<p><img src="madVR_045.png" alt=""></p>
<p>簡單解釋一下這四者的意義:</p>
<ol>
<li>chroma upscaling是指色度升頻,通常我們常見的YCbCr 4:2:0的影像檔就是經過色度抽樣的,人眼對色度的改變不及亮度敏感,所以用較多的資訊儲存亮度資訊(Y),較少的資訊儲存色度資訊(CbCr)以節省頻寬,以YCbCr 4:2:0而言,水平方向及垂直方向的色度解析度都只有YCbCr 4:4:4的一半。舉例來說,一個解析度1920<em>1080的影片,在4:4:4的情況下,亮度解析度是1920</em>1080,色度解析度也是1920<em>1080,但是在4:2:0的情況下,亮度解析度一樣是1920</em>1080,色度資訊水平和垂直都只取一半,也就是說色度解析度是960*540。常見的影視內容多半是抽樣成4:2:0儲存,因此我們播放一個YCbCr 4:2:0的影像檔時,首先要將其色度資訊升頻到原始解析度,也就是YCbCr 4:4:4,這時就會用到色度升頻的演算法。關於色度取樣的相關知識也可參考維基百科:<a href="http://zh.wikipedia.org/wiki/色度抽样" target="_blank" rel="noopener">http://zh.wikipedia.org/wiki/%E8%89%B2%E5%BA%A6%E6%8A%BD%E6%A0%B7</a></li>
<li>image downscaling就是指影像降頻,也就是影像縮小,只要目標解析度小於原始解析度就會用到這部分的演算法。</li>
<li>image upscaling就是指影像升頻,也就是影像放大,只要目標解析度大於原始解析度就會用到這部分的演算法。</li>
<li>upscaling refinement這部分是銳化演算法,跟前面的iamge enhancements不同,<font color=Chocolate>其目的在於改善放大演算後造成的模糊,作用在放大演算之後,屬於post-processing</font>。如果是1:1無放大的影像,這部分勾選了也不會有作用。</li>
</ol>
<p><font color=Chocolate>通常一個影像檔播放,到渲染器這步驟時,渲染器會先對其做色度升頻,然後再將其原始解析度依需要做影像升降頻到目標解析度,也就是說,一個1080p YCbCr 4:2:0的檔案,就算在解析度1920*1080的螢幕播放,它不需要做任何影像升降頻演算,但還是需要做色度升頻的演算。</font><br><font color=Chocolate>chroma upscaling裡面指定的的演算法,在完成原始解析度YCbCr 4:2:0→RGB 4:4:4的升頻後即完成任務,之後影像要放大縮小都跟其無關。後續的resize需要的亮度和色度升降頻由image upscaling或是image downscaling所指定的演算法來負責。</font></p>
<p><font color=Chocolate>在對視覺感受的影響上,影像升降頻演算法的影響比色度升頻演算的影響要大得多。換句話說,改變影像升降頻的演算法,你比較容易感覺的到差別,改變色度升頻的演算法比較難感受到差別。</font></p>
<p>接下來我們來看看演算法內容,右上角有個表格,每種演算法有不同的數值,通常綠色是優點(sharpness = 銳利度),越高越好,紅色部分是失真,缺陷(aliasing = 鋸齒、ringing = 振鈴效應),越低越好。</p>
<p>再來以各演算法的消耗效能來說,Nearest Neighbor、bilinear、DXVA2這幾種消耗的效能最低(DXVA2在此處是指DXVA-scaling,這項演算優劣直接受顯卡影響,因卡而異,有些類似bilinear,有些則類似Bicubic或Lanczos的水準),再來是Cubic(Mitchell-Netravali、Catmull-Rom、Bicubic、Softcubic)這幾種,消耗效能其次,再來是Lanczos、Spline,消耗效能又高一點,再來是Jinc和super-xbr,消耗效能更高,不過效果也比前面幾種都好,再來是NGU系列,NGU-low消耗跟 Jinc差不多;NGU-med以上消耗比Jinc多,但效果也更好。<br>此外,勾選”activate anti-ringing filter”(以下簡稱AR)能夠有效的抑制演算法本身產生的振鈴效應,相對的也會增加一點點效能消耗。</p>
<h3 id="chroma-upscaling"><a href="#chroma-upscaling" class="headerlink" title="chroma upscaling"></a>chroma upscaling</h3><p><strong>看到chroma upscaling這頁</strong>,上面也提過chroma upscaling的提升對整體畫面的影響比較難察覺,通常只會影響一些顏色邊緣、色塊,在一些對比高的場景才會看得到一點點差別(紅底黑字或黑底紅字之類),故不用投資太多效能在這裡。<br>幾個建議的設置是super-xbr 100以上+ AR、NGU Anti-Alias(以下簡稱NGU AA)low、med、high(chroma upscaling這邊設到very high沒必要)、Bilateral(soft或sharp)或Reconstruction(soft)。<br>NGU-Sharp則在銳利度的表現不錯,其銳利度僅次於Reconstruction sharp和placebo,但有些地方會有點銳化過頭,個人不是很喜歡。另外就是抑制artifacts的能力,這邊我沒有做太多測試,doom9上有幾位認為這一項super-xbr + AR或Reconstruction soft又比NGU-Sharp好一點,僅供參考。<br>super-xbr + AR、NGU-low或med、Bilateral soft、Reconstruction soft這幾個效能消耗都差不多。<br>上面幾個跑不動的話,再退一步則是Cubic(Bicubic 75)+AR,或不開AR,還是跑不動的話才用Bilinear。</p>
<p>根據madshi說法NGU在這邊還非最終版本,以後還會像Bilateral一樣加入luma channel做為參照,所以也許NGU的一些不足之處還有進步空間,可以期待一下。</p>
<p>這邊提一下Bilateral,它是以亮度頻道(luma channel)做為色度的參考,但是其結果比較極端,受片源影響很大,有些片源它的色度升頻效果明顯比NNEDI3和super-xbr甚至目前的NGU還要好,但有些卻又比較糟糕。<br>Bilateral有三個版本,old是原始版本,消耗的資源很少,大概跟Bicubic差不多,但上面提到的受片源影響最明顯,soft和sharp則是改良版本,資源消耗跟super-xbr差不多,sharp比soft銳利一些。<br>Bilateral soft或sharp拿來當常駐選項也是一個不錯的選擇,個人喜歡soft多於sharp</p>
<p>而Reconstruction算是基於Bilateral的改造版本,也有三個版本,soft比較泛用,不會那麼極端,但相對優點就沒那麼明顯,sharp跟placebo則強化了銳利度(另外兩個是各加了AR濾鏡),但有時候會讓人覺得銳化過頭了,而且效能消耗比soft高太多,個人不是很建議,不過請自行判斷,也許有人喜歡。<br>Reconstruction系列中個人認為比較適合當常駐的是Reconstruction soft</p>
<p>下面AR濾鏡基本上能開就開,至於要不要開SuperRes則見仁見智,個人是不喜歡開(這邊的SuperRes跟後面upscaling refinement裡面的SuperRes並沒有關係,是各自獨立的選項,但一樣都是額外做銳化處理)</p>
<p>在我個人的測試中Bilateral soft是我最喜歡的選項,銳利度跟抑制artifacts效果都很棒很平衡,其次是NGU-AA high,但我不是很確定Bilateral soft會不會有表現比較糟的片源,所以這個僅供參考。super-xbr100或125 + AR和Reconstruction soft則是doom9上比較多人推薦的選項,但我個人覺得有點不夠銳利就是了。</p>
<p>另外值得注意的是,不同解析度/幀率的片源對於chroma upscaling的效能消耗也不同,像4K>>1080>480,這方面的差別,需要透過設置profile才能達到最大限度的顯卡資源應用。</p>
<p><img src="madVR_046.png" alt=""></p>
<h3 id="image-downscaling"><a href="#image-downscaling" class="headerlink" title="image downscaling"></a>image downscaling</h3><p>在image downscaling的部分,SSIM是目前表現最好的演算法,在縮小畫面的同時很好的保留了原解析度的細節跟銳利度,不過效能消耗也比較大。1D是以Bicubic為基礎,2D則是以Jinc為基礎,在4K→FHD的場合,某些場景中2D比1D稍微好一點點,但是效能消耗大很多,請斟酌使用。(以GTX 960來說,4K@60p→FHD螢幕,只能開到1D,2D會負荷不了)後面的強度%數越高畫面越銳利,但相對的可能會讓畫面有些刺刺的,哪個強度比較適合自己請自行測試。另外建議勾選”activate anti-ringing filter”(以下簡稱AR)跟”scale in linear light”(以下簡稱LL)。<br>AR濾鏡後面有一個strict(soft)跟relaxed,前者是AR濾鏡預設強度,後者是降低AR濾鏡強度,換得一些銳利度的提升(但ringing也會比較多),relaxed個人認為一些本身就比較柔和的演算法比較適合,像Catmull-Rom,不過這個沒有絕對,自己試試看比較重要。</p>
<p>至於”activate anti-bloating filter”(以下簡稱AB),它會強化高頻訊號並移除低頻訊號,用在SSIM上面,效果很類似直接把強度%數降低,不過madshi認為某些場景用AB濾鏡效果比直接降低%數好,需不需要用這個濾鏡,要用的話要開多強,也是請各位自行測試,每個人喜好跟觀賞環境不一樣。</p>
<p>如果顯卡跑不動SSIM的話,次一級的選項是Cubic(Bicubic 150)+AR+LL,再次一級是Cubic(Catmull-Rom)+AR+LL,如果還是跑不動再依次把LL跟AR拿掉,還是跑不動的話最後再去考慮bilinear或DXVA2<br>值得注意的是,降頻演算跟升頻演算一樣,各種演算法的差異也是倍率差越多越明顯,例如在4K→1080的場合,有些場景我可以觀察到SSIM 2D跟SSIM 1D的差別,但如果是1440→1080的場合,就很難看出差別了,而如果是升頻再降頻的場合,例如720→1440→1080,由於升頻上去的影像本來細節就比原生高解析度的影像少,因此這時候SSIM 1D和Bicubic 150的差別也很小了。如何對各種不同解析度的影片作最適合的設置以達到最好的效能利用,就要靠profile設置了。<br><font color=Chocolate>備註madVR v0.91.4之後,”升頻再降頻”所使用的降頻演算法不在image downscaling裡設定,而是在image upscaling裡的子選項”if any(more) scaling needs to be done:”裡設定</font></p>
<p><img src="madVR_047.png" alt=""></p>
<h3 id="image-upscaling"><a href="#image-upscaling" class="headerlink" title="image upscaling"></a>image upscaling</h3><p>接下來看到image upscaling,Bilinear和DXVA2,是對於一些比較弱的顯卡或內顯,效能無法負擔其他任何演算法時的選擇,但其效果遠不如其他演算法。<br>Cubic系列(image upscaling這邊一般使用下拉式選單裡的Bicubic,後面數字越高銳化越高,但超過100的不建議)Lanczos、Spline這幾種,效能消耗在伯仲之間(Lanczos、Spline比Cubic略高),而效果互有利弊,可參考右上角圖表,一般來說Lanczos比Spline和Bicubic好一點。而Jinc,效能消耗比上面三種高一點,銳利度稍低於Lanczos,但對於artifacts的抑制做得很好,綜合表現在上面三種之上。使用這幾種演算法時,下面的”activate anti-ringing filter”(AR濾鏡)都建議勾選,至於”scale in sigmoidal light”這個選項,照madshi的說法它在有些場景可以稍微降低一些鋸齒(aliasing),但某些場景可能又糟一些些,故各位自行測試決定要不要勾。</p>
<p>至於super-xbr和NGU系列,比較特別一點,它只能做2的次方倍的放大(2倍、2倍再2倍=4倍),不過NGU-(Sharp、Standard、Soft)可以做4倍的直接放大。就效果而言,這幾種演算法(尤其是NGU系列)跟其他幾種完全不是同一等級,提升非常明顯,當然效能消耗也會比較大。同時,很多情形下2的次方倍放大不會剛好等於目標解析度,所以還會需要其他的升降頻算法輔助把畫面scale到目標解析度。</p>
<p>NGU系列下面第一個下拉式選單裡,algorithm quality–luma doubling,即亮度解析度的翻倍,選擇luma的運算強度,有四個等級,very high(非常高)、high(高)、med(一般)、low(低),越高運算越精密,消耗的效能也越多,low 的效能消耗大概跟Jinc差不多。在銳利度上四者有一點點差別但不是差很大那種,very high在線條的聚焦上會稍微好一點點,最主要是差在artifacts的抑制程度,越高抑制效果越好。</p>
<p>第二個下拉式選單,luma quadrupling,這項選擇”let madVR decide”的話,會自動根據luma doubling裡的翻倍強度設定來決定二次翻倍是否啟用和強度。NGU Anti-Alias(以下簡稱NGU-AA) luma doubling選low<del>med,”let madVR decide”不會啟用二次翻倍,luma doubling選high</del>very high則”let madVR decide”二次翻倍會使用med。<br>選擇”disable”則是不啟用二次翻倍。<br>另外NGU-(Sharp、Standard、Soft)可以自行指定四倍放大時是使用”翻倍後再翻倍”的再次翻倍double again模式,或是直接四倍放大direct quadruple模式(NGU-(Sharp、Standard、Soft)限定,AA沒有)。純以銳利度來說double again會比direct quadruple高一點,但direct quadruple效能消耗會比double again低很多,而且對於雜訊抑制和整體自然感而言direct quadruple都比較好,個人推薦direct quadruple,NGU-(Sharp、Standard、Soft)選擇”let madVR decide”的話預設也就是用direct quadruple。</p>
<p>第三個下拉式選單,chroma,影響色度升頻到目標解析度所使用的演算法,選擇”let madVR decide”時,luma doubling選擇low~high,會使用 Bicubic60+AR;luma doubling選擇very high,會使用NGU-med。<br>normal = Bicubic60+AR<br>high = NGU-low<br>very high = NGU-med (此項如果luma doubling設定high時會跳回high)</p>
<p>第四個下拉式選單,activate doubling,是設定翻倍的啟用條件,達到條件才會啟用NGU進行翻倍。<br>NGU-AA的選項:<br>選擇”let madVR decide”時,預設是目標解析度寬或高大於或等於原始解析度1.2倍時啟用,沒達到1.2倍啟用條件的話則會使用Jinc+AR替代。</p>
<p>NGU-(Sharp、Standard、Soft)的選項:<br>選擇”let madVR decide”時,預設是目標解析度寬或高大於或等於原始解析度1.2倍時啟用,沒達到1.2倍啟用條件的話則會使用Jinc+AR替代。</p>
<p>其他選項:<br>…only if scaling factor is 2.0x (or bigger) 當目標解析度寬或高大於或等於原始解析度2倍時啟用<br>…only if scaling factor is 1.5x (or bigger) 當目標解析度寬或高大於或等於原始解析度1.5倍時啟用<br>…only if scaling factor is 1.2x (or bigger) 當目標解析度寬或高大於或等於原始解析度1.2倍時啟用<br>…only if any upscaling is needed 只要目標解析度寬或高大於原始解析度就啟用<br>…always - supersampling 強制啟用,即一般所謂的”超取樣”</p>
<p><font color=Chocolate>關於取樣,選擇此項的話即使在1:1播放時(例如1920*1080影片在1920*1080螢幕上播放),也會啟用翻倍算法(看選的是super-xbr還是NGU),強制升頻後再降頻回來,這個使用在super-xbr或NGU-AA時一般是搭配upscaling refinement裡面的銳化算法一起用來取得銳利度的強化,當獨使用並沒什麼效果。或是使用在NGU-Sharp時,可以受惠於它自帶的deringing效果。不過這個選項並不是很建議,除非你的顯卡效能非常強非常夠用,而且實際使用上也真的看的出1:1播放強制升頻再降頻的畫面區別才去用它,千萬不要盲目的認為用了畫質一定會變好。</font></p>
<p>第五個下拉式選單,activate quadrupling,是設定二次翻倍的啟用條件,達到條件才會啟用NGU進行二次翻倍。<br>NGU-AA的選項:<br>選擇”let madVR decide”時,預設是目標解析度寬或高大於或等於原始解析度2.4倍時啟用。(但如果前項手動設定成1.5倍啟用的話這邊會變成3倍啟用;如果前項手動設定成2倍啟用的話這邊會變成4倍啟用)</p>
<p>NGU-(Sharp、Standard、Soft)的選項(第二個選單選擇double again時):<br>選擇”let madVR decide”時,預設是目標解析度寬或高大於或等於原始解析度2.4倍時啟用。(但如果前項手動設定成1.5倍啟用的話這邊會變成3倍啟用;如果前項手動設定成2倍啟用的話這邊會變成4倍啟用)</p>
<p>NGU-(Sharp、Standard、Soft)的選項(第二個選單選擇direct quadruple時):<br>選擇”let madVR decide”時,預設是目標解析度寬或高大於或等於原始解析度2.00001倍時啟用。(直接四倍消耗比再次翻倍小很多,所以自動啟用判定很寬鬆)</p>
<p>其他選項:<br>…only if scaling factor is 4.0x (or bigger) 當目標解析度寬或高大於或等於原始解析度4倍時啟用<br>…only if scaling factor is 3.0x (or bigger) 當目標解析度寬或高大於或等於原始解析度3倍時啟用<br>…only if scaling factor is 2.4x (or bigger) 當目標解析度寬或高大於或等於原始解析度2.4倍時啟用<br>…only if any upscaling is needed 只要目標解析度寬或高大於原始解析度就啟用</p>
<p>第六個下拉式選單,if any(more) scaling needs to be done – upscaling algo,則是當翻倍或二次翻倍後,可能還小於目標解析度,必須再升頻到目標解析度,這個選項影響此時使用的升頻演算法,選擇”let madVR decide”時,luma doubling選擇NGU- low~high,會使用Bicubic60+AR;luma doubling選擇NGU-very high,會使用Jinc+AR。也可以直接指定想用的算法。</p>
<p>第七個下拉式選單,if any(more) scaling needs to be done – downscaling algo,則是當翻倍或二次翻倍後,可能大於目標解析度,必須再降頻一次到目標解析度,這個選項影響此時使用的降頻演算法,選擇”let madVR decide”時,Luma選擇NGU- low~high,會使用Bicubic150+AR;Luma選擇NGU-very high,會使用SSIM1D100+AR。<br>如果不想用上面兩種算法,可以選擇”use image downscaling settings”,沿用image downscaling裡面的設定。或也可直接指定選單裡任何一種你想用的算法。(doom9有很多使用者認為升頻再降頻用的算法不需要加LL,當然這個主要還是看個人喜好)</p>
<p><font color=Chocolate>現在madVR版本,使用NGU系列時其實幾乎只要指定luma (doubling和quadrupling)的強度就好,其它交給”let madVR decide”就自動幫你選擇好了,其實非常方便,對於新手來說友善多了,也避免了一些無謂浪費效能的設定。</font></p>
<p>另外關於super-xbr,個人認為它可以被NGU取代,不過有些人還是會想要使用它(可能因為效能消耗夠低,約等於Jinc+AR的程度,或是其它原因等等),這部分選項上跟NNEDI3和NGU大同小異,第一個下拉選單是選擇銳化程度,一般選擇100左右,可依自己喜好調整。第二個下拉式選單是選擇是否要二次翻倍及二次翻倍銳化程度。<br>第四個下拉式選單,選擇”let madVR decide”時,預設是目標解析度寬或高大於或等於原始解析度1.2倍時啟用,沒達到1.2倍啟用條件的話則會使用Jinc+AR替代。<br>第五個下拉式選單,選擇”let madVR decide”時,預設是目標解析度寬或高大於或等於原始解析度3倍時啟用(但如果前項手動設定成2倍啟用的話這邊會變成4倍啟用)。<br>而第六個下拉式選單(upscaling algo),選擇”let madVR decide”,會使用Bicubic60+AR;第七個下拉式選單(downscaling algo),選擇”let madVR decide”,會使用Bicubic150+AR。</p>
<p><img src="madVR_048.png" alt=""></p>
<p> 以下舉幾個例子來說明整個流程,設定如上圖,螢幕解析度是1920<em>1080,<br>當我要播放一個1280</em>720的影片時,首先:<br>YCbCr 1280<em>720 4:2:0 → RGB 1280</em>720 4:4:4 (chroma upscaling演算法)<br>RGB再轉回YCbCr 並把Y(亮度頻道)跟CbCr(色度頻道) 拆開處理<br>1280<em>720亮度解析度升為2560</em>1440 (符合1.2倍條件,NGU Sharp翻倍啟用,強度high)<br>1280<em>720色度解析度升為1920</em>1080 (chroma選項決定,此例會使用Bicubic60+AR)<br>亮度解析度2560<em>1440 → 1920</em>1080 (downscaling algo選項決定,此例會使用Bicubic150+AR)<br>合併色度資訊和亮度資訊,轉換為RGB輸出1920*1080到螢幕上</p>
<p><img src="madVR_049.png" alt=""></p>
<p>設定如上圖,當我要播放一個640<em>360的影片時,首先:<br>YCbCr 640</em>360 4:2:0 → RGB 640<em>360 4:4:4 (chroma upscaling演算法)<br>RGB再轉回YCbCr 並把Y(亮度頻道)跟CbCr(色度頻道) 拆開處理<br>640</em>360亮度解析度升為2560<em>1440 (符合2.00001倍條件,NGU Sharp直接四倍啟用,強度very high)<br>640</em>360色度解析度升為2560<em>1440 (chroma選項決定,此例會使用NGU-med直接四倍)<br>色度和亮度解析度2560</em>1440降為1920<em>1080 (downscale algo選項決定,此例會使用SSIM1D100+AR)<br>合併色度和亮度資訊,轉換為RGB輸出1920</em>1080到螢幕上</p>
<p>對於各種演算法的選擇,實際上還是要依顯卡等級,各種不同的片源及對各種演算法的主觀感受去調整,找出能夠順暢播放而且自己看了也喜歡的組合,強烈建議設置profile,可以編寫切換邏輯或設置熱鍵方便快速切換,這方面需要經過一定時間的測試才能找出最適合自己電腦的設定。</p>
<p>另外要如何判斷顯卡負荷不負荷的了此種演算法呢?第一個當然是看畫面會不會很頓,再來看看GPU使用率是否高達9X%快破表,再來也可以在播放時按Ctrl+J叫出OSD,看看有沒有掉幀(dropped frames),render queue是否一直很低,rendering time是否超過movie frame interval,如果都沒有那就恭喜啦,可以放心看片!</p>
<p>現在我們來談談關於NGU系列,在此之前不得不先談到NNEDI3,NNEDI3這個演算法原本是在轉檔編碼時用來升頻及去交錯等等處理的演算法,因為其消耗資源過大,速度不夠快到可以拿來做實時演算(real-time),因此一直沒被拿來用在影片播放時使用的升頻演算。直到Doom9上有高手重新編寫了這個演算法的OpenCL版本,madshi將之修改之後加入到早先的madVR版本之中實現了此演算法的實時演算(現今版本已經拿掉),即使如此,這個演算法消耗的顯卡資源仍然相當驚人,但它帶來的升頻效果也是同樣驚人,可以打趴一堆高階藍光機和高階電視號稱的4K影像升頻,絕不誇張。</p>
<p>我們可以看到madshi自己對這個演算法的說明和範例圖片:<br><a href="http://forum.doom9.org/showthread.php?p=1663610#post1663610" target="_blank" rel="noopener">http://forum.doom9.org/showthread.php?p=1663610#post1663610</a></p>
<p>基本上除了2^N倍的限制之外,這個演算法升頻出來的影像,銳利度和雜訊抑制程度相比Jinc+AR,都有著可說是跳躍性的進步,它有讓影片看起來不像是升頻上來的影片的實力,但是這個演算法也並非完美,它在某些場合中可能會出現一些莫名其妙的artifacts(原因似乎是因為它”太聰明”),madshi的範例裡就有這個現象,這些是在使用Jinc時不會出現的,提高運算強度的話可以減低這些artifacts的出現,但消耗的效能也是倍數成長。</p>
<p>這邊也提供一個簡單測試比較:<br>原始解析度640*360 (點圖放大)</p>
<p><img src="madVR_050.png" alt=""></p>
<p>目標解析度1440*810 (點圖放大) NNEDI3 64</p>
<p><img src="madVR_051.png" alt=""></p>
<p>目標解析度1440*810 (點圖放大) Jinc+AR</p>
<p><img src="madVR_052.png" alt=""></p>
<p>How amazing!! right?<br>不過其實Jinc+AR比較”忠於原味”,NNEDI3則把鋸齒狀線條都拉成直的還不失銳利度,整體觀感會比較討喜,當然這只是一個小例子,真要比較必須要用大量的影片來比較才會比較中肯。<font color=Chocolate>以實測的結果來說,NNEDI3對於低解析影片,多反差線條(遊戲或動畫的影片),鋸齒邊緣明顯的改善最為明顯且巨大,對於真人影片比較沒那麼神奇的效果,雖然仍就有非常優異的表現,但跟Jinc+AR的差別就沒上面那個例子那麼大了。所以由此可見,影片的內容也是選擇演算法的重要因素。</font></p>
<p>接下來談談NGU吧,這是madVR v0.91之後加入的新演算法,全名是”Next Generation Upscaling”,是madshi自己寫的演算法,據他的說法也花了不少時間研究、參考好幾篇論文加上他自己的idea才做出來的東西,就實測效果來看頗令人驚豔,在很多地方可以說已經超越了NNEDI3。NGU有四個版本(AA、Soft、Standard、Sharp),其中Sharp幾乎就是最原始的NGU版本,其目的是盡可能把低解析度影像還原到接近高解析度”母片”的程度,在不增加artifacts的前提下。下面兩個連結是madshi自己po的測試圖,裡面的NG1就是NGU之前暫定的名稱<br><a href="http://forum.doom9.org/showthread.php?p=1785599#post1785599" target="_blank" rel="noopener">http://forum.doom9.org/showthread.php?p=1785599#post1785599</a><br><a href="http://forum.doom9.org/showthread.php?p=1785876#post1785876" target="_blank" rel="noopener">http://forum.doom9.org/showthread.php?p=1785876#post1785876</a></p>
<p>可以發現,NGU的銳利度勝過NNEDI3不少,接近NNEDI3 256+SuperRes 4,而畫面又比NNEDI3 256+SuperRes 4更接近原圖,僅次於waifu2x(但waifu2x是對照用,運算太複雜不可能在實時演算使用)</p>
<p>不過高度還原這點雖然是優點但有些情形下也可能變成缺點,在我個人的測試中,NGU-Sharp的確非常適合真人類的影片,其他演算法沒有一個銳利度比它好而artifacts更少的,包括NNEDI3,NNEDI3要達到NGU-Sharp的銳利度至少要搭配SuperRes 4,但這個組合artifacts又比NGU嚴重一點,效能消耗也高很多。但對於動畫類而言,NGU-Sharp雖然也有很驚人的效果,但提前是片源必須夠”乾淨”,如果片源本身有很多artifacts或鋸齒的話,這些也會被NGU-Sharp當成細節如實的放大,出來的結果就有點殘念了,偏偏動畫類,尤其是低解析度或是高壓縮比的,這種情況還不少。NNEDI3,如同我前面提過的,對治這種片源缺陷的能力特別強大,而銳利度不足的地方則可以透過銳化演算法補齊,達到跟NGU-Sharp接近的銳利度。<br>在0.91.6版發佈時,madshi加入了NGU的另一個修改版本 ─ NGU-AA,這個版本跟原始NGU(NGU-Sharp)大不相同,不過度的強調細節還原,而是如同其字面意義Anti-Alias,強化消除線條鋸齒和畫面的artifacts等缺陷的能力,也就是說,跟NNEDI3非常的類似,但卻可以比NNEDI3花費更少的效能就做出相同甚至超越的結果。在我個人的測試中,某些畫面它消除鋸齒的能力比NNEDI3還要好,而線條也比NNEDI3更為聚焦,其它的畫面至少也跟NNEDI3差不多,而doom9上大部分使用者也認同畫面上NGU-AA略勝或不輸NNEDI3。因此最後madshi決定把NNEDI3自madVR中移除,把NGU系列作為madVR的招牌升頻演算法。<br>目前對於低解析度或是高壓縮比動畫類我個人會視情形,如果鋸齒不是很嚴重的話,我會使用NGU Sharp+RCA演算法,RCA對artifacts有很好的抑制效果,再配上NGU Sharp的高還原度可謂天作之合。如果是乾淨的片源則單獨使用NGU-Sharp。如果是鋸齒嚴重的片源,則使用NGU-AA,當然NGU-AA可以再搭配銳化算法使用,效果比單獨使用NGU-AA更好。</p>
<p>另外關於NGU-Soft和NGU-Standard,跟NGU-Sharp的基本調性是一樣的,只是降低銳化的程度,有些畫面用NGU-Sharp放大的結果可能會顯得太過銳利或刺眼,那它可能就比較適合用NGU-Standard。至於NGU-Soft,個人認為它的銳利度降得有點低(比NGU-AA還低),可能適用的場合並不多,不過還是以各位親自測試為準。NGU-Soft和NGU-Standard兩個並不像NGU-AA帶有消鋸齒的功能,所以跟NGU-Sharp一樣比較適用在乾淨的片源,或是搭配RCA使用。</p>
<p><font color=Chocolate>另外就是NGU-(Sharp、Standard、Soft)已經內建有deringing的效果,所以不要跟artifact removal底下的reduce ringing artifects(deringing)一起開,不然可能損害畫質。</font></p>
<p>下面看看幾張範例:<br>640<em>480→1440</em>1080(點圖放大)<br>一般的老動畫DVD放大到FHD的情形,注意衣服上的雜訊以及眼睛和頭髮的部分</p>
<p>Jinc+AR</p>
<p><img src="madVR_053.png" alt=""></p>
<p>NGU Sharp very high (direct 4X)</p>
<p><img src="madVR_054.png" alt=""></p>
<p>NGU Sharp very high(direct 4X) + RCA 6</p>
<p><img src="madVR_055.png" alt=""></p>
<p>NGU AA very high 2X > very high 2X</p>
<p><img src="madVR_056.png" alt=""></p>
<p>NGU AA very high 2X > very high 2X + RCA 6 (high)</p>
<p><img src="madVR_057.png" alt=""></p>
<p>NGU AA very high 2X > very high 2X + RCA 6 (high) + crispen edges 2.0 + thin edges 1.0 + AR (crispen edges和thin edges皆為upscaling refinement)</p>
<p><img src="madVR_058.png" alt=""></p>
<p>可發現這邊NGU Sharp very high(direct 4X) + RCA 6的組合可得到最理想的還原效果,雜訊也得到充分抑制,最後一張所使用的組合NGU AA very high 2X > very high 2X + RCA 6 (high) + crispen edges 2.0 + thin edges 1.0 + AR雖然也有接近的效果,但還原細節仍差了一點點,重點是消耗的效能高太多了,因此這類動畫最適合NGU Sharp + RCA的組合。</p>
<p>720<em>480→1920</em>1080(點圖放大)<br>注意衣服跟皮膚的細節,及線條邊緣輪廓</p>
<p>Jinc+AR</p>
<p><img src="madVR_059.png" alt=""></p>
<p>NGU Sharp very high (direct 4X)</p>
<p><img src="madVR_060.png" alt=""></p>
<p>NGU AA very high 2X > very high 2X</p>
<p><img src="madVR_061.png" alt=""></p>
<p>NGU AA very high 2X > very high 2X + SuperRes 4</p>
<p><img src="madVR_062.png" alt=""></p>
<p>可以發現銳利度NGU AA very high 2X > very high 2X + SuperRes 4可能稍微高一點點,但artifacts也比較多,而NGU Sharp very high (direct 4X)則把畫面細節還原的很好,artifacts也比較少,重點是這邊NGU Sharp very high (direct 4X)消耗的效能要少得多。</p>
<p>另外一個是上面用過的初音範例,再比較一次,可以看出NGU Sharp在低解析度動畫類並帶嚴重鋸齒的狀況可能遇到的問題<br>640<em>360→1920</em>1080(點圖放大)</p>
<p>Jinc+AR</p>
<p><img src="madVR_063.png" alt=""></p>
<p>NGU Sharp very high(direct 4X)</p>
<p><img src="madVR_064.png" alt=""></p>
<p>NGU Sharp very high(direct 4X) + RCA 6</p>
<p><img src="madVR_065.png" alt=""></p>
<p>NGU AA very high 2X > very high 2X</p>
<p><img src="madVR_066.png" alt=""></p>
<p>NGU AA very high 2X > very high 2X + RCA 7(high) + deringing + crispen edges 2.0 + thin edges 1.0 + AR (crispen edges和thin edges皆為upscaling refinement)</p>
<p><img src="madVR_067.png" alt=""></p>
<p>可以發現這個例子NGU Sharp就不太適合,即使它是很忠實的還原了原圖上的細節跟鋸齒,但那可能不是我要的,NGU AA消鋸齒效果良好但銳利度差了些,而NGU-AA再加上雜訊修飾跟銳化演算法結果就不錯,不過效能消耗也比較高。</p>
<p>另外doom9上也有網友收集了各種madVR的升降頻演算法以及artifact removal演算法的效果對比圖片,可至下列網址把圖片點開參考:</p>
<p><a href="https://forum.doom9.org/showthread.php?t=175429" target="_blank" rel="noopener">https://forum.doom9.org/showthread.php?t=175429</a></p>
<p>如果不想搞太複雜,只想要一組設定打天下,那就這樣設定吧,顯卡不夠強就自己換成med或low,顯卡夠力可換成very high,片源不夠乾淨再加個RCA即可。但有心的話自己可以慢慢去做不同組別的設定來對應不同的解析度/幀率/片源,madVR的profile功能,讓我們可以用各種不同的設置去應付各種不同的狀況,最大限度去利用有限的顯卡效能,這部分我在另一篇文章皆有說明。</p>
<p><img src="madVR_068.png" alt=""></p>
<h3 id="upscaling-refinement"><a href="#upscaling-refinement" class="headerlink" title="upscaling refinement"></a>upscaling refinement</h3><p>接下來看到upscaling refinement的部分,這邊可將其視為改善放大演算法專用的銳化演算,跟前面image enhancements相較,這邊處理過後的影像差距不會太巨大,但銳化造成的副作用也會小很多,<font color=Chocolate>這邊我的習慣仍然是第一組profile常駐的不啟用任何銳化算法,其它幾組設置熱鍵視情況切換</font>。開啟銳化算法也會增加顯卡負擔,務必注意。另外原則上,可以同時開1~3種算法,只要注意互補性,不要過度重疊,不要銳化過度就好,但是image enhancements跟upscaling refinement最好不要同時開,很容易會銳化過頭。(銳化過頭畫面會變的尖尖的、刺刺的、失去立體感、或是充滿油畫感)</p>
<p><font color=Chocolate>特別要注意的是使用NGU-(Sharp、Standard、Soft)的時候,除了其專屬搭配的兩個演算法外不建議再開其他任何銳化算法,因為NGU-Sharp本身就已經非常銳利了,再開其他的就銳化過頭了。</font></p>
<p><img src="madVR_069.png" alt=""></p>
<p>這邊簡單介紹一下各個銳化演算法<br>sharpen edges:針對邊緣線條銳化,不銳化紋理內容,適合開啟AR和AB濾鏡使用</p>
<p>crispen edges:FineSharp的改良版本,有不錯的整體細節銳化效果,新版本裡也抑制了雜訊被銳化的程度,madshi認為它有最自然的銳化效果</p>
<p>thin edges:把邊緣線條變細,適合低解析度的動畫類放大時使用</p>
<p>enhance detail:針對紋理內容銳化,例如皮膚跟衣服之類的細節,不過也有雜訊被銳化的可能</p>
<p>soften edges:柔化線條邊緣,<font color=Chocolate>是NGU-Sharp專屬搭配使用的</font>,NGU-Sharp可能造成線條邊緣過於銳利,這個選項可稍加修飾。至於要不要開以及開多少,則視個人口味跟片源而定,例如有人認為SD片源→FHD的升頻,本身銳利度已經不足了,不太適合再柔化,而FHD片源→UHD的升頻就比較有需要。當然這只是一種個人看法而已…<br><font color=Chocolate>不過madVR在v0.91.8之後加入NGU-(Standard和Soft),想要低一點的銳化程度選擇這兩個就好,所以這個選項個人認為已經沒有必要</font></p>
<p>add grain:在紋理內容上面加上顆粒,<font color=Chocolate>也是NGU-(Sharp、Standard、Soft)專屬搭配使用的</font>,NGU-Sharp雖然能把低解析度內容的線條提升到接近原生高解析度的銳利度,但紋理內容缺失的部分並無法完美的還原,加上顆粒讓影像比較有真實感。這邊建議開1~2,但這選項只適合真人影像,不適合動畫類(動畫開了看起來會像雜訊)</p>
<p>LumaSharpen:整體銳化,強化線條跟適度的細節提升,並避免強化雜訊,強烈建議開啟AR和AB濾鏡使用,開了後效果很類似crispen edges</p>
<p>AdaptiveSharpen:整體銳化,特別注重強化中等銳利程度的線條,但會避開全平面區域跟高銳 利的線條,強烈建議開啟AR和AB濾鏡使用,AR+AB有開沒開差很多,開了後效果很類似crispen edges</p>
<p>SuperRes:包含一整套的後處理過程,得到的也是整體性的銳化效果,後面的LL、AR濾鏡則不建議開啟(LL可能有副作用而且增加的效能消耗太大,SuperRes本身不太產生ringing所以不需要AR)</p>
<p>後面的數字代表跑幾次SuperRes流程,數字越高銳化效果越強,但鋸齒跟artifacts也會更明顯,效能消耗也越大</p>
<p>SuperRes跟非NGU的升頻演算法一起用有不錯改善效果。跟NGU-AA一起用也可以增加不少銳利度。<font color=Chocolate>但並不適合跟NGU-(Sharp、Standard、Soft)一起用,SuperRes並無法讓NGU-Sharp效果再改善或提升銳利度,反而可以造成鋸齒和artifacts再次被凸顯出來</font></p>
<p><font color=Chocolate>個人測試的結果認為SuperRes很適合在真人影片中使用(如果使用NGU-(Sharp、Standard、Soft)以外的演算法的話),但極度不建議在動畫類使用(包括2D和3D動畫),只要一開鋸齒跑出來了,破壞非常明顯,強度只開 1也一樣…</font></p>
<p>refine the image after every ~2X upscaling step<br>refine the image only once after upscaling is complete<br>前者是每放大兩倍就銳化一次,後者是不管放大多少倍總共只銳化一次,這個選項只對極大倍率(4倍以上)的放大會有影響,理論上每放大兩倍就銳化一次最能維持銳化效果,但是對顯卡的效能消耗也是倍增,還是要視自己顯卡能力而定</p>
<p>以下是個人使用的兩組upscaling refinement設定,分別是真人影片(FHD片源升頻4K)跟動畫類(僅限需要消鋸齒的片源)使用,用熱鍵控制切換,供各位參考</p>
<p>需要消鋸齒的動畫片源(配合image upsclaing裡的NGU-AA使用)</p>
<p><img src="madVR_070.png" alt=""></p>
<p>真人影片類FHD的片源升頻4K(配合image upscaling裡的NGU-Sharp或Standard使用)</p>
<p><img src="madVR_071.png" alt=""></p>
<p><font color=Chocolate>要不要開銳化?要用哪幾種演算法?強度開多少?這個是要由觀賞的片源,跟使用的螢幕,顯卡的負荷能力,親自去做測試才能得出結論,不必要盲從,別人的設定不一定是適合自己的設定</font></p>
<h2 id="rendering"><a href="#rendering" class="headerlink" title="rendering"></a>rendering</h2><h3 id="general-setting"><a href="#general-setting" class="headerlink" title="general setting"></a>general setting</h3><p>接下來繼續往下設定,到”general setting”這頁,我的建議設定(win7適用)如下圖:</p>
<p><img src="madVR_072.png" alt=""></p>
<ol>
<li>“delay playback start until render queue is full”建議勾選,可減少開啟影片時的掉幀現象,下面的”delay playback start after seeking”不建議勾選,勾了拉時間軸會變慢</li>
<li>“enable windowed overlay”N卡跟I卡可勾可不勾,這功能A卡並不支援勾了也沒用,優缺點下面總結會解釋。</li>
<li>“enable automatic fullscreen exclusive mode”建議勾選,這個選項勾了會在進入全螢幕時使用獨佔模式(FSE),優缺點下面總結會解釋。</li>
<li>“disable desktop composition (Vista and newer)”跟底下的”only when media player is in fullscreen mode”,如果有使用全螢幕獨佔模式的話,就兩個都一起勾選;如果沒使用全螢幕獨佔模式的話,就不要勾選(這個選項是播放時或者全螢幕時把win7的AERO關掉,win8以上的系統則沒有影響)</li>
<li>use Direct3D 11 for presentation,勾了會使用D3D11模式,必須顯卡跟作業系統支援才能用,而madVR的10bit輸出也必須在D3D11跟FSE模式底下才能達成,此外D3D 11模式下從視窗切換到FSE模式速度比較快一些,效率較好。D3D 11模式必須使用AERO,故這裡勾選的話”disable desktop composition (Vista and newer)”會自動失效。下面的”present a frame for every VSync”建議勾選,可減少presentation glitches的增加,反之若不勾則能節省一點點效能但有可能presentation glitches會變多。</li>
<li>“use a separate device for presentation (Vista and newer)”建議勾選,不過如果N卡勾了發生問題的話可以取消勾選看看有沒有改善,另N卡驅動為 301.42 版以前的話不要勾選。</li>
<li>“use a separate device for DXVA processing (Vista and newer)”,勾或不勾都可。(此項只有在用到DXVA的場合,如硬體去交錯或硬體解碼時才有影響)</li>
</ol>
<p>6.、7.這兩項主要會影響rendering times,而rendering times是越低越好,太高的話會掉幀,可自行測試勾選或不勾選的差別。我的建議設定是使用AMD HD7750顯卡 驅動13.12 測試,這樣設定在fullscreen exclusive mode下的rendering times最低,而N卡使用者也可自行測試這兩項勾或不勾哪種組合較好。</p>
<p>CPU queue跟GPU queue,是決定播放時佔用的RAM的大小,我喜歡用自來水跟水塔的概念來舉例,queue的總量就像是水塔大小,不管大水塔或小水塔,目的都是確保水龍頭打開能夠源源不絕的出水不會沒水用(掉幀),queue設小的話(小水塔)它很快就會裝滿,對硬體負擔也小,但是一個稍大的變動可能就讓它暫存的容量不及應付而降成0,就會掉幀了。queue設太大的話則是吃比較多的RAM,開影像會稍微變慢(如果有勾選”delay playback start until render queue is full”,要等它裝滿),但相對就比較不會掉幀,這方面要自己多測試取捨。需注意硬體不是太強的話也有queue開太大反而播放不順的情形發生。</p>
<p>我的建議是如果沒有使用smooth motion功能的話,這部分維持預設即可,如果有使用smooth motion的話,這邊可以設到CPU queue 20跟GPU queue 12,甚至要更大也可以(在我以前的測試中,使用smooth motion時如果queue不夠大有時候會有不順暢或頓頓的情形發生)。</p>
<p>另外win8/8.1或win10的話,建議設定如下圖:</p>
<p><img src="madVR_073.png" alt=""></p>
<p>“enable automatic fullscreen exclusive mode”,勾選後如果沒遇到異常狀況(全螢幕時嚴重LAG、rendering time暴增或無畫面)的話也是可以使用。</p>
<h3 id="windows-mode-settings"><a href="#windows-mode-settings" class="headerlink" title="windows mode settings"></a>windows mode settings</h3><p>到”windows mode settings”這頁,如下設置:<br>勾選”present several frames in advance”,會使用0.87.10版加入的新視窗模式,有接近FSE(全螢幕獨佔)模式的效能跟穩定性,如果你不喜歡FSE模式的話全螢幕播放可直接使用這個新視窗模式。<br>如果播放出現問題的話則取消勾選”present several frames in advance”,會改回使用0.87.10之前版本的舊視窗模式。<br>如果使用新視窗模式的話,下面的”‘how many video frames shall be presented in advance”數字依GPU能力去設置,一般在6-12之間,更大也可以,如果有掉幀情形就調整看看,使用smooth motion的話這項最好開大一點。</p>
<p><img src="madVR_074.png" alt=""></p>
<p>欲使用全螢幕”新”視窗模式的話還必須如下設置,取消勾選這兩項:</p>
<p><img src="madVR_075.png" alt=""></p>
<h3 id="exclusive-mode-settings"><a href="#exclusive-mode-settings" class="headerlink" title="exclusive mode settings"></a>exclusive mode settings</h3><p>到”exclusive mode settings”這頁,如下設置:<br>“delay switch to exclusive mode by 3 seconds”這項勾選的話會在切換成全螢幕3秒後才進入獨佔模式,自己決定要不要勾選,像我喜歡它馬上進入獨佔模式所以就不勾選。<br>下面的”‘how many video frames shall be presented in advance”數字依GPU能力去設置,一般在6-12之間,更大也可以,如果有掉幀情形就調整看看,使用smooth motion的話這項最好開大一點。</p>
<p><img src="madVR_076.png" alt=""></p>
<p><font color=Chocolate>這邊小總結一下,在非全螢幕時,可以使用的模式及設定方法:</font></p>
<ul>
<li><p><font color=Chocolate>舊視窗模式 windowed mode(old path)</font></p>
</li>
<li><p><font color=Chocolate>新視窗模式 windowed mode(new path)</font></p>
</li>
<li><p><font color=Chocolate>overlay視窗模式 overlay mode</font></p>
</li>
</ul>
<p><font color=Chocolate>勾選”enable windowed overlay”會使用overlay視窗模式(N卡跟I內顯限定),不勾選則使用其他兩種視窗模式,新跟舊視窗模式的選擇方法如上面的說明。</font></p>
<p><font color=Chocolate>在全螢幕時,可以使用的模式:</font></p>
<ul>
<li><font color=Chocolate>舊視窗全螢幕模式 fullscreen windowed mode(old path)</font></li>
<li><font color=Chocolate>新視窗全螢幕模式 fullscreen windowed mode(new path)</font></li>
<li><font color=Chocolate>overlay全螢幕模式 fullscreen overlay mode</font></li>
<li><font color=Chocolate>全螢幕獨佔模式 fullscreen exclusive mode</font></li>
</ul>
<p><font color=Chocolate>勾選”enable automatic fullscreen exclusive mode”會強制使用全螢幕獨佔模式,不勾選則使用其他三種模式,有勾選”enable windowed overlay”會使用overlay全螢幕模式(N卡跟I內顯限定),不勾選則使用其他兩種視窗全螢幕模式,新跟舊視窗全螢幕模式的選擇方法如上面的說明。<br></font></p>
<p>下面整理一下各種模式的優缺點,”+”表示優點,”-“表示缺點,主要來自madshi本人的回覆<br><a href="http://yabb.jriver.com/interact/index.php?topic=76904.msg523475#msg523475" target="_blank" rel="noopener">http://yabb.jriver.com/interact/index.php?topic=76904.msg523475#msg523475</a></p>
<p>舊視窗模式<br>+ 可使用在非全螢幕及全螢幕模式<br>+ 切換全螢幕時不會有額外的延遲<br>- 有時會出現畫面撕裂(沒有打開AERO的情形下)<br>- 有時會有播放不順暢、頓頓的情形(特別容易發生在使用smooth motion FRC時),對於描繪時 間的容忍度較低<br>- 在老舊的機器上效率低落(比較容易掉幀)</p>
<p>overlay模式<br>+ 可使用在非全螢幕及全螢幕模式<br>+ 不會有畫面撕裂情形<br>+ 常保播放順暢<br>+ 效率高,比較不容易掉幀<br>- A卡不能使用</p>
<p>全螢幕獨佔模式(FSE)<br>+ 不會有畫面撕裂情形<br>+ 常保播放順暢<br>+ 效率最高<br>+ 即使GPU短期間處在比較忙碌的狀態也能有效防止掉幀,是最穩定的播放模式<br>+ N卡只有此模式下能夠輸出10bit<br>- 只有全螢幕時能使用<br>- 切換全螢幕時會有延遲現象<br>- 播放器自己的控制介面無法運作<br>- 叫出播放器選單時(例如點右鍵)會強制跳出FSE模式</p>
<p>新視窗模式<br>+ 有FSE模式一切優點,但沒有其缺點(運行機制跟FSE只差在沒有進 入Direct 3D模式)<br>- 必須搭配AERO才能使用(在win7下AERO的composition rate是以主螢幕為準,這在使用多螢幕 時會成為麻煩,因為不能讓它對應當下螢幕的更新率,win8之後則無此問題)<br>- 在某些系統有相容性問題,導致播放不順<br>- win10以外的系統無法輸出10bit (win10除N卡外可在全螢幕視窗模式輸出10bit)</p>
<h3 id="stereo-3D"><a href="#stereo-3D" class="headerlink" title="stereo 3D"></a>stereo 3D</h3><p>到”stereo 3D”這頁,madVR在v0.90之後加入對3D影片的支援,這一頁的設定在有播放3D影片的需求時才有需要勾選,當然要播3D還必要達成其他幾個條件:</p>
<ol>
<li>要有支援3D的顯示器跟眼鏡</li>
<li>作業系統要win8.1以上</li>
<li>桌面右鍵>螢幕解析度>進階,裡面有一個3D選項要勾</li>
<li>使用LAV 0.68之後的版本 (3D原盤OK,但如果是mkv格式封裝則必須是MVC編碼)</li>
</ol>
<p>3D輸出目前僅限制在1080p23模式</p>
<p><img src="madVR_077.png" alt=""></p>
<h3 id="smooth-motion"><a href="#smooth-motion" class="headerlink" title="smooth motion"></a>smooth motion</h3><p>到”smooth motion”這頁</p>
<p><img src="madVR_078.jpg" alt=""></p>
<p>這是madVR v0.86.0加入的功能”smooth motion frame rate conversion”.,詳見官方論壇:<br><a href="http://forum.doom9.org/showthread.php?p=1616520#post1616520" target="_blank" rel="noopener">http://forum.doom9.org/showthread.php?p=1616520#post1616520</a></p>
<p>這個功能相當好用,解決了幀率跟螢幕更新率不同步所產生的judder問題(詳細可參考我在reclock那篇所提到的內容),開發者madshi提到這功能有兩大優點:</p>
<p>1.能夠讓任何幀率去對應任何螢幕更新率,並保持影像的流暢<br>2.如果硬體能夠應付,在完整的播放中不會有任何的幀drop或repeat,且不需要依靠reclock來達 成。</p>
<p>兩個缺點:<br>1.稍微增加一點GPU的負擔<br>2.會損失一點銳利度,影片幀率小於螢幕更新率的話損失較少,例如24fps的影片在60Hz螢幕使用這功能播放的銳利度損失是不太容易看出來的:而影片幀率等於螢幕更新率的話,使用這功能銳利度損失就較多而且很容易看出來。</p>
<p>Reclock難以處理的非整數倍的同步問題,像最常見的<font color=Chocolate>24fps(23.976)影片在60Hz螢幕上播放<strong>,</strong>就很適合讓madVR的smooth motion FRC功能來解決</font>,把這功能打開會發現影像的judder都消失了,就有如同步播放時的那種流暢感。</p>
<p>madVR的smooth motion FRC功能是透過Blending來達成的而非補幀,當然也沒有補幀帶來的副作用像soap opera effect和一堆artifacts。madshi有提到Blending是”30% of frame A and 70% of frame B to calculate the output frame (pixelC = pixelA * 0.3 + pixelB * 0.7)”。<br>我不是很確定它運行的方式,不過猜想可能是接近以下的情形:</p>
<p>1 1 1 2 2 3 3 3 4 4 (24fps@60Hz螢幕,不做任何處理的呈現方式,是一個3:2的pattern,每個幀停留時間不一樣,造成judder)</p>
<p>1 1 1+2 2 2 3 3 3+4 4 4 (24fps@60Hz螢幕,經過Blending處理的呈現方式,每個幀停留時間相同,接近2.5/60秒)</p>
<p>透過Blending來達成的同步,沒有像補幀那種順到不可思議的流暢感,但是影像相對比較自然,比較接近原汁原味。至於喜歡哪種就交由各位自己決定。以下介紹設置方法:</p>
<p> 到”smooth motion”這個分頁,如圖設置,下面三個選項是判斷要不要啟用smooth motion FRC的方法,<br>第一個選項判定的基準似乎是幀率跟螢幕更新率差超過0.5時會啟用,反之不啟用。<br>第二個選項是螢幕更新率為幀率的精確整數倍時不啟用,反之啟用<br>第三個選項是強制啟用<br>另外也可以設置熱鍵手動控制這個功能的開關</p>
<p><font color=Chocolate>使用SVP或AMD的Fluid Motion或其他補幀軟體的話,這個功能就取消勾選不要啟用</font></p>
<h3 id="screenshots"><a href="#screenshots" class="headerlink" title="screenshots"></a>screenshots</h3><p>到”screenshots”這頁,這邊的設定主要是搭配播放器的截圖功能(例如MPC-BE的截圖熱鍵是”F5”,截下來的圖片會在”本機”>”圖片”資料夾中)</p>
<p><img src="madVR_079.png" alt=""></p>
<p>“create screenshots with a custom zoom facter”,這項不勾選的話,截圖就是看目前播放器放出來的目標解析度多少就直接截那個解析度,有勾選的話就可以自己指定,看是要影片原解析度50%、100%、200%、300%、400%、800%,或是指定720p、1080p、2160p這些常見解析度。舉例來說,沒有4K螢幕,但想看看某些演算法升頻到4K的效果,就可以善用這個選項。<br>至於edcoded video size,指的是影片壓製編碼出來的原始解析度,但是跟100%的不同之處在於,有些影片原始解析度跟它100%播放時的解析度不一定一樣,影片串流中會夾帶一個Display aspect ratio(DAR,顯示寬高比例 )的標籤,100%播放時會依DAR所指定的比例去拉伸,舉例來說,日本電視台錄製下來的檔案就常見這種形式,其原始解析度是1440x1080,但夾帶一個16:9的DAR,因此100%播放時會拉伸成1920x1080去播放,這個例子如果選100%去截圖,圖片會是1920x1080,如果選edcoded video size去截圖,則圖片會是1440x1080。</p>
<p>“use high quality scaling algos - image upscaling:”,這項勾選的話可以直接指定截圖要套用的升頻演算法,有NGU Sharp、NGU Standard和NGU AA三種,以及這三種各自再搭配add grain,總共六種</p>
<p>“don’t draw OSD”,勾選的話,截圖一律不顯示OSD</p>
<p>“don’t perform color & gamma processing, calibration etc”,勾選的話,截圖會忽略color & gamma和calibration裡面套用的設定</p>
<p>“don’t draw subtitles”,勾選的話,則截圖就不會把字幕掛上去</p>
<p>“don’t perform artifact removal processing”,勾選的話,截圖會忽略artifact removal裡面套用的演算法</p>
<p>“don’t perform image enhencement processing”,勾選的話,截圖會忽略image enhencement 裡面套用的銳化演算法</p>
<p>“don’t perform upscaling refinement processing”,勾選的話,截圖會忽略upscaling refinement裡面套用的銳化演算法</p>
<p>“don’t execute custom shaders”,勾選的話,截圖會忽略套用的自訂shaders效果</p>
<h3 id="dithering"><a href="#dithering" class="headerlink" title="dithering"></a>dithering</h3><p>到”dithering”這頁</p>
<p><img src="madVR_081.png" alt=""></p>
<p>關於error diffusion和ordered dithering,是0.87版後新加入的dither方法。madVR在輸出8bit的訊號時,是把內部用16bit高精度處理完的訊號以dithered 8bit RGB的形式輸出,在色彩階調上跟10bit輸出是不會有差別的,差別在於畫面上會多了一些”噪點”,我前面有個連結也解釋過dither的原理,是以噪點來模擬更多的色階數,某些場景下你也許會看到這些噪點,並將其視為畫面的負面因素。madVR過去一直使用的是random dithering的演算方法,在大部分畫面都會製造噪點使得其比較容易被查覺,而新的error diffusion演算法只在必要的地方製造噪點,也就是說它可以維持同樣的色彩階調,但是大幅降低畫面的”底噪”。至於ordered dithering則是madVR在v0.87.5之後做為預設取代random dithering的演算法,其效能消耗跟random dithering差不多低,但是有接近error diffusion的低噪點表現。我的建議是你如果有一個不算小的螢幕(40吋以上),去使用error diffusion才會比較察覺得出效果,一般電腦螢幕尺寸太小可能很難感覺到它帶來的差別,維持預設ordered dithering即可。error diffusion的話會增加一些顯卡消耗(開啟smooth motion FRC會再增加一些,因為其消耗是跟最終輸出的幀數成正比)如果顯卡效能許可的話要將error diffusion做為常駐選項也是可以。</p>
<p><font color=Chocolate>error diffusion</font>是用DirectCompute寫的,由於DirectCompute是DirectX 11的一部分,必需要顯卡及作業系統支援DX11才能使用。</p>
<p>下面兩個選項,”use colored noise”勾選的話是使用多色噪點,不勾的話是使用單色噪點;”change dither for every frame”勾選的話是使用動態噪點,不勾的話是使用靜態噪點,靜態噪點在主觀上會讓你覺得噪點數量較少,但是一些噪點的排列紋路可能會比較容易被查覺到。</p>
<p>也就是說,不考慮random dithering的話,我們目前有三種dither演算法,ordered dithering、error diffusion-option 1和error diffusion-option 2,以及兩個控制選項,總共12種不同排列組合的設置可以去使用,這邊請各位有興趣自行去測試,每個人喜歡的畫面重點可能不太一樣,很多情況下其實差別很小,但都優於random dithering就是了。</p>
<p>至於有興趣測試者,由於在8bit輸出的情況下不太容易看得出差別,我們可到前面螢幕設定那邊去選用較低的bit數,如此一來可更明顯看出各種dither算法和選項的差別。例如我們如果選擇3bit的話,則RGB三色每一色都只有2^3=8個色階數,三色總共只有8<em>8</em>8=512個色階數可用(跟8bit的1670萬個色階數比起來是”非常”低),dither算法變得極為重要而且任何選項的改變差別都非常明顯,以下我們可以看到簡易比較圖:</p>
<p>8bit ed-op1 兩選項皆勾(點圖放大)</p>
<p><img src="madVR_080.png" alt=""></p>
<p>3bit ed-op1 兩選項皆勾(點圖放大)</p>
<p><img src="madVR_082.png" alt=""></p>
<p>3bit none(無dither) (點圖放大)</p>
<p><img src="madVR_083.png" alt=""></p>
<p>以上只是簡單讓各位看一下dither用低色階數輸出高色階的強大效果,這邊各種算法的差異請自行測試。<font color=Chocolate>測試完畢別忘了再到螢幕設定那邊改回8bit。</font></p>
<p><font color=Chocolate>再次聲明,madVR的8bit輸出,使用error diffusion或ordered dithering作為dither算法的話,跟10bit輸出幾乎是沒有差別的,肉眼幾乎不太可能察覺到那些噪點的存在,雖然madVR有支援10bit輸出,我們不必追求一定要用10bit輸出,事實上10bit輸出反而比較容易遇到問題(不管是顯卡方面或是顯示器方面)。</font></p>
<h3 id="trade-quality-for-performance"><a href="#trade-quality-for-performance" class="headerlink" title="trade quality for performance"></a>trade quality for performance</h3><p>到”trade quality for performance”這頁,<font color=Chocolate>這頁的選項都是降低品質以換取效能,如果顯卡效能夠高的話儘可能都不要勾選</font>,如果顯卡負荷不了的話就從最上面開始勾選。有時候你使用某些演算法在播放循序式影像或是軟解時沒問題,播放交錯式影像開啟硬體去交錯時或是硬解時顯卡卻負荷不了,這時就可以勾選那幾個DXVA(deinterlacing or decoding)的選項,如此顯卡就只有在用到DXVA運算時才會降低品質,總之這邊的選項低階顯卡可以依需要勾選。</p>
<p><img src="madVR_084.png" alt=""></p>
<p>這邊的選項由上到下依序來看的話:<br>第1項是跟外掛字幕渲染器xy-SubFilter相關,有使用才有影響。<br>第2項是使用硬解(DXVA)時,同時使用DXVA的chroma upscaling算法<br>第3項是使用硬體去交錯時,同時使用DXVA的chroma upscaling算法<br>第4項是跟播放器的自訂pixel sharder功能相關,有使用才有影響。<br>第5項勾選的話dithering演算會用gamma light取代linear light(gamma light在0.87.7之前的版本是預設使用),取消勾選的話就是使用linear light,linear light能提供較好的色彩還原度。<br>第6項跟第7項是跟debanding的運作有關,勾選的話會取消一些偵測機制。</p>
<p>第8項是如果能節省效能的話把色度升降頻分開處理,裡面唯一一個我覺得中高階卡也可以勾選的,這個選項的效果,舉例來說,一個4K 4:2:0的影片要在FHD螢幕播放,一般來講要先把色度分量(1920<em>1080)升頻到4K再跟亮度分量一起降頻到FHD,勾選這個選項的話,色度分量直接維持1920</em>1080不動,而亮度分量3840<em>2160直接降頻到1920</em>1080,對4K影片來說,少了這個色度升頻動作節省的效能非常多,對畫面品質影響卻不多。</p>
<p>第9項是色調映射和色域轉換使用較低精度<br>第10項是去掉影片的BTB(比黑更黑 指0<del>15這段)和WTW(比白更白 指236</del>255這段)的黑位範圍資訊<br>第11項是跟smooth motion有關。<br>第12項跟第13項跟madVR本身的處理精度有關。<br>第14項跟放器的自訂pixel sharder功能相關,一樣有使用才有影響。<br>第15項是跟DXVA deinterlacing有關,勾了就不會把60i去交錯倍幀成60p而是變成30p<br>第16項也跟DXVA有關</p>
<h2 id="user-interface"><a href="#user-interface" class="headerlink" title="user interface"></a>user interface</h2><h3 id="keyboard-shortcuts"><a href="#keyboard-shortcuts" class="headerlink" title="keyboard shortcuts"></a>keyboard shortcuts</h3><p>到”keyboard shortcuts”這項,可以依自己喜好設置熱鍵</p>
<p><img src="madVR_085.png" alt=""></p>
<p>另外附上madVR預設設定已有的熱鍵一覽表:</p>
<p>create freeze report - Ctrl+Alt+Shift+Break<br><strong>open settings dialog - Ctrl+S (打開選單)</strong><br><strong>Enable OSD - Ctrl+J (打開OSD)</strong><br><strong>Reset OSD Statistics - Ctrl+R (OSD統計歸零)</strong><br>Source Primaries - Ctrl+Alt+Shift+P<br>Source Decoding Matrix - Ctrl+Alt+Shift+M<br>Source Levels - Ctrl+Alt+Shift+I<br>Output Levels - Ctrl+Alt+Shift+Y<br><strong>Deinterlacing - Ctrl+Alt+Shift+D (強制開關去交錯)</strong><br>Deinterlacing Field Order - Ctrl+Alt+Shift+F<br><strong>Deinterlacing Mode - Ctrl+Alt+Shift+T (切換去交錯模式 video/film)</strong><br>順時鐘轉90度 - Ctrl+Alt+Shift+Right<br>逆時鐘轉90度 - Ctrl+Alt+Shift+Left<br>3dlut開關 - Ctrl+Shift+3<br>3dlut分割展示 - Ctrl+Alt+Shift+3<br>desired display gamma value - increase - Ctrl+Alt+Shift+G (配合”enable gamma processing”的設定)<br>desired display gamma value - decrease - Ctrl+Alt+Shift+B (配合”enable gamma processing”的設定)</p>
<p>建議設置熱鍵的項目:<br><strong>debanding - toggle (切換off-low-med-high)</strong><br><strong>deringing - toggle (開關deringing)</strong><br><strong>deblocking strength - increase (RCA強度增加)</strong><br><strong>deblocking strength - decrease (RCA強度降低)</strong></p>
<p>粗體是我認為比較實用的幾個,這邊要特別提一下Deinterlacing Mode的切換,我們知道影像檔基本上有循序式(或稱逐行掃描)跟交錯式(或稱隔行掃描)兩種,循序式(Progressive)如480p、720p、1080p這種後面有個”p”的都是,交錯式(Interlaced)如480i、1080i這種後面有個”i”的都是。遇到交錯式影像,必須要進行去交錯處理(Deinterlacing),否則會有明顯的橫向掃描線,而交錯式影像基本上又可分成兩大類─Video跟Film,Video通常指原生的交錯式影像,為攝影機以60i模式拍攝,一秒60個場(field),場是指半個畫面,也就是半個幀(frame),這種沒辦法還原成一個完整的圖像,只能靠各種去交錯演算法去模擬出完整的畫面,讓其變成30p或60p。<br>而Film是指原生為循序式影像,把每個圖像經過拆場並重新排列讓其變成一秒60場(60i)的交錯式影像,這個過程稱為Telecine,常見於電影或動畫(原生24p的影像)經過2:3 pulldown的處理後變成60i的交錯式影像,這種影像可以完美的還原為24p的循序式影像,只需將每兩個場交疊並去掉多餘的場即可,這種方法稱為Inverse Telecine(IVTC 即反向Telecine)。</p>
<p><font color=Chocolate>而madVR偵測到交錯式影像,就會呼叫顯卡去做硬體去交錯(DXVA deinterlacing),不過madVR目前並不會判斷它是video還是film,而一律視為video並呼叫DXVA deinterlacing,就算我們播的是film內容的交錯式影像。有時候顯卡自己的去交錯演算法並不能正確的執行IVTC,或是顯卡經過IVTC後,一樣是用3:2的pattern輸出給60Hz螢幕,一樣有judder問題,這時候我們就需要手動使用Ctrl+Alt+Shift+T這個指令將其切換為film,這時madVR就會用CPU執行它自身的IVTC算法,而我們就會得到完美的原生24P影像,如果再同時使用smooth motion FRC,就能在60Hz螢幕上得到無judder的播放。</font></p>
<p><font color=Chocolate>不過解碼器使用DXVA(native)的時候無法切換成film模式,如果要搭配硬解使用必須使用DXVA(copy-back),須注意</font></p>
<p>以我的經驗來說,這個功能用在一些標準DVD格式的電影最為好用(標準DVD輸出皆為交錯式影像)。<br>另外電視台錄製下來的電影跟動畫(常見的為TS檔 60i),也可以使用IVTC算法將其即時還原為24p。</p>
<p>另外關於”Debanding custom settings”這個熱鍵,其實是madVR隱藏起來的dabanding自訂参數功能,可以像測試版時期那樣手動更改各項參數,左右鍵切換項目(被選擇到的會變大寫),上下鍵增減數值,至於各個參數的定義有興趣請自行到Doom9上找,這功能我懶得玩了,預設值就很好用了。</p>
<p><img src="madVR_086.png" alt=""></p>
<h2 id="OSD"><a href="#OSD" class="headerlink" title="OSD"></a>OSD</h2><p>接下來介紹在影像播放時按Ctrl+J叫出的OSD上面一些數據的意義,配合圖上的標記解說:</p>
<p><img src="madVR_087.png" alt=""></p>
<ol>
<li>目前的螢幕更新率。</li>
<li>影片幀率(音訊時鐘)與螢幕更新率(影像時鐘)的偏移率,此數值越小表示越同步。</li>
<li>顯示smooth motion FRC功能是否啟用。</li>
<li>顯示目前為D3D9或是D3D11模式;視窗模式、全螢幕視窗模式(fullscreen windowed mode)、或是全螢幕獨佔模式(fullscreen exclusive mode)或overlay模式;8bit或是10bit輸出。</li>
<li>來源檔案的編碼、bit depth和色度資訊以及解碼器解碼完傳給madVR的色彩空間、bit depth和色度資訊。</li>
<li>影片的幀數。(由源濾鏡提供的資訊判斷)</li>
<li>每隔多久會掉1格,這與影片幀數和螢幕更新率的同步程度有關,另一篇會提到的Reclock有一個作用就是提高同步程度。</li>
<li>影片的原始解析度及畫面比例。</li>
<li>目標解析度,有四組數字,分別是”left, top, right, bottom”,必須把第三組減第一組 第四組減第二組才是目標解析度的”width, height”。</li>
<li>chroma(色度升頻)和luma(影像亮度升頻)和chroma(影像色度升頻)所使用的演算法</li>
<li>每一個幀容許的繪製時間,這個值跟影片的幀數有關,例如我看24p的影片時,這個時˙間就是1/24=0.04167s=41.67 ms,也就是說每一幀都有41.67ms的時間讓顯卡去處理;如果是60i的影片,去交錯後是60p,這個時間就是1/60=16.67 ms,由此可見幀數越高,可以處理的時間變短了,對顯卡的處理能力要求的也就越高,也就是說越容易掉幀。</li>
<li>影片進行YUV<>RGB轉換使用的係數標準,由影像流的資訊判斷或是madVR自行判斷。</li>
<li>影片的色彩定義標準(色域),由影像流的資訊判斷或是madVR自行判斷。</li>
<li>影片的黑位範圍,由影像流的資訊判斷或是madVR自行判斷。</li>
<li>on表示有開DXVA Deinterlacing ,off表示沒開,若madVR把循序式影像跟交錯式影像判斷錯誤的話請自行用熱鍵Ctrl+Alt+Shift+D開關。若切換為film mode的話會在下方顯示film mode,和偵測到的pulldown的形式。</li>
<li>各個queue是否充滿通常能反應硬體是否能負荷,例如decoder queue很低的話表示CPU負荷不了了,render queue很低的話表示顯卡負荷不了了。</li>
<li>dropped frames跟delayed frames為掉幀計數器,若數字一直增加表示硬體無法負荷,請降低設定或找出原因。</li>
<li>平均繪製時間,通常也可觀察GPU負荷情形,越好的演算法跟較重的負荷通常會讓繪製時間變多,多到超過movie frame interval的時間就會掉幀。</li>
<li>5秒區間內的最多繪製時間,觀察GPU負荷的另一種方式,多到超過movie frame interval的時間就會掉幀。</li>
</ol>
<h1 id="顯卡驅動設置相關"><a href="#顯卡驅動設置相關" class="headerlink" title="顯卡驅動設置相關"></a>顯卡驅動設置相關</h1><p>最後,為了避免不必要的負面影響及顯卡效能的多餘消耗,請進顯卡控制介面把一些跟影像播放有關的處理通通關掉只留下去交錯的部分,當然madVR本來就會繞過這些後處理,但是有使用到DXVA-deinterlacing跟DXVA-scaling的時候還是會被影響(DXVA解碼則沒有影響,因為那跟渲染器無關),所以保險一點還是全部關掉。</p>
<p>以下以A卡的CCC為範例:</p>
<p><img src="madVR_088.png" alt=""></p>
<p><img src="madVR_089.png" alt=""></p>
<p><img src="madVR_090.png" alt=""></p>
<p>以Nvidia控制介面為範例,預設都是”使用視訊播放器設定”,這個不用去改它:</p>
<p><img src="madVR_091.png" alt=""></p>
<p><img src="madVR_092.png" alt=""></p>
<p>如果螢幕接HDMI的話,建議使用RGB輸出,不要用YCbCr輸出,用YCbCr輸出的話會在顯卡層多一道色彩空間轉換,造成畫質損失,而且YCbCr都是輸出16-235,只有RGB輸出才能選擇輸出0-255或是16-235</p>
<p><img src="madVR_093.png" alt=""></p>
<p>N卡舊驅動有些接HDMI輸出RGB也會強制輸出16-235,但如果螢幕支援0-255的話,可以用madVR資料夾裡的一個小程式”madLevelsTweaker.exe”強制讓它輸出0-255,如下圖勾選並套用後重開機即可。</p>
<p><img src="madVR_094.png" alt=""></p>
<p>而N卡347.09之後的驅動,可以直接選擇0~255輸出不用透過madLevelsTweaker.exe修改</p>
<p><img src="madVR_095.png" alt=""></p>
<p>353.06之後位置改到這邊</p>
<p><img src="madVR_097.png" alt=""></p>
<p><font color=Chocolate>另外還有一個很重要的地方,最近的顯卡驅動預設值都以省電為主,但是卻會造成運行madVR時顯卡不會用全力跑,造成效能比預期低落,以NV為例,必須到控制面板選取播放器執行檔(圖中範例為mpc-be64.exe),把電源管理模式設定為”自適應”或”慣用的最大效能”(廣域設定預設值是”最佳電源”,一切的元凶…),如此才能讓顯卡全力運行madVR。而AMD的控制介面也有電源管理的相關選項要關掉,不然也是可能會降頻跑。</font></p>
<p><img src="madVR_096.png" alt=""></p>
<p><font color=Chocolate>到此整個設置就算大功告成,enjoy it!</font></p>
<h1 id="結語"><a href="#結語" class="headerlink" title="結語"></a>結語</h1><p>關於madVR到底需要多少顯卡效能的議題,這邊也簡單做個結論,第一當然就是跟你的設置息息相關,你啟用了哪些功能,那些功能吃掉了多少效能?第二就是跟你看的影片種類有關,看的影片跟螢幕解析度相同時消耗的效能最少,因為只需要做chroma upscaling(但影片本身解析度越大,例如4K影片,光做chroma upscaling消耗的效能也不少)。而當影片解析度跟螢幕解析度不一樣時,是放大還是縮小?再來就是影片的幀率,60p的影片穩定播放需要的效能會遠大於24p的影片,再來就是interlaced跟progressive的差別,interlaced需要做去交錯,所以一個60i的影片消耗的效能又比60p更大……這些不同種類的影片,我們可能都需要不同的設置去對應,因此madVR加入了profile的功能,提供最大的自訂彈性,這部分我將在另一篇文中介紹。</p>
<p>另外介紹madTestPatternSource filter用法,這是一個madVR用的測試工具,首先去下載<br><a href="http://madshi.net/madTestPatternSource.zip" target="_blank" rel="noopener">http://madshi.net/madTestPatternSource.zip</a></p>
<p>解壓縮後點擊裡面的install.bat安裝,方法跟安裝madVR一模一樣<br>然後打開播放軟體,將資料夾裡面的.ytp檔拖到播放軟體上放開就會自動播放。<br>不過請注意.ytp檔只能在32bit的播放器上運行,如果使用x64播放器的話請另外抓x86版才能玩這個東西…<br>裡面各種ytp檔可測試各種不同的播放條件,下圖為SmoothMotion的測試檔,可自行測試不同幀率在自己螢幕上播放,有開跟沒開SmoothMotion FRC的差別。</p>
<p><img src="madVR_098.jpg" alt=""></p>
<p>檔名tag使用教學<br>其實這是早在v0.85.4版就加入的功能,還蠻實用的,特別提一下,當然隨著版本更新陸續有一些新的tag加入。<br>madVR可以辨識一些在影音檔的檔名中加入的tag(標籤),而在開啟檔案時套用tag上的設定,<br>這樣一些需要特別設定的檔案就不用每次都在那邊手動調整</p>
<p>以下為所有的tag:</p>
<p>tag “matrix=709|601|NTSC|PAL|YCgCo|240M|2020”<br>tag “primaries=709|SmpteC|EBU|sRGB|NTSC|PAL|470M|240M|170M|2020|DCI”<br>tag “levels=PC|TV|fullrange|limited|doubleExp|tripleExp”<br>tag “deint=On|Off|Video|Film”<br>tag “blacklevel=%value%”, value range [-50, +50]<br>tag “whitelevel=%value%”, value range [-50, +50]<br>tag “contrast=%value%”, value range [-100, +100]<br>tag “brightness=%value%”, value range [-100, +100]<br>tag “saturation=%value%”, value range [-100, +100]<br>tag “hue=%value%”, value range [-180, +180]<br>tag “frameRate=%value%”, e.g. 23.976, 24.000, 23, 24, …<br>tag “refreshRate=%value%”, e.g. 23.976, 24.000, 23, 24, …<br>tag “deband=off|low|medium|high”<br>tag “profile=’profile name’”<br>tag “dering(ing)=on|off|half|full”</p>
<p>舉例來說,一個普通的檔案,開啟時會按照自動偵測的結果套用預設的設定。<br>以下以去交錯方法為例子來說明,雖然是原生24p的電影,但因為電視錄下來是60i的檔案,開啟時自動使用了顯卡硬體去交錯</p>
<p><img src="madVR_099.png" alt=""></p>
<p><img src="madVR_101.png" alt=""></p>
<p>檔名中加入標籤”deint=Film”,於是開啟時自動使用了IVTC,不用再手動切換</p>
<p><img src="madVR_100.png" alt=""></p>
<p><img src="madVR_102.png" alt=""></p>
<p>以上只是簡單的例子,基本上檔案需要特別設置的色域、色階、去交錯方法、亮度、對比、飽和度、色相等等,都可以透過這種加tag方式來減少手動調整的麻煩</p>
<p>madVR Profile設置實戰<br><a href="http://lysandria1985.blogspot.tw/2014/01/2madvr-profile.html" target="_blank" rel="noopener">http://lysandria1985.blogspot.tw/2014/01/2madvr-profile.html</a></p>
<p>這篇文章常年來隨著版本更新增加刪減不少內容,雖然我改完會大致看一遍但是難免會有所遺漏,如果你看了覺得哪裡有前後矛盾或是文意不順、文章內容跟現有madVR版本兜不上或是任何難以理解的地方,歡迎留言提問或指教,感謝!</p>
<p>張貼者: <a href="https://www.blogger.com/profile/00513318288992936483" target="_blank" rel="noopener">暮星 </a>於 <a href="http://lysandria1985.blogspot.com/2013/01/3-madvr.html" target="_blank" rel="noopener">18:05</a> </p>
]]></content>
<categories>
<category>HTPC</category>
</categories>
<tags>
<tag>HTPC</tag>
<tag>madVR</tag>
</tags>
</entry>
<entry>
<title>黑苹果台式机smbios机型选择的方法论</title>
<url>/Hackintosh/2020-04-10-hackintosh-smbios-settings/</url>
<content><![CDATA[<p>自用备查,转自<a href="http://bbs.pcbeta.com/viewthread-1835322-1-1.html" target="_blank" rel="noopener">aishaoquan</a></p>
<a id="more"></a>
<p>要装好一台黑苹果,机型选择是必不可少的一环。但是,目前网上关于机型选择一方面的文章甚少,初学者很难参考;而且,还有大量的黑苹果使用了不佳的机型,导致硬件的能力(本文说的“能力”,不是简单指跑分,二是更多指硬件的特色)未能得到充分发挥。笔者通过大量黑苹果的经验(把从LGA775到LGA1151各代的都黑了个遍),精心总结了这篇文章,以供各位新手参考。</p>
<p>考虑到10.15.2砍掉了RX400/500显卡的HEVC无核显硬解功能(可通过添加WhateverGreen.kext补回来),所以我把RX400/500称为“一流免驱卡”,放在比Vega/RX5700(称为“优质免驱卡”)低一档的位置。<br>温馨提示:<strong>新版WhateverGreen.kext可以补回10.15.2开始被砍掉的HEVC无核显硬解功能</strong>!换句话说,“一流免驱卡”配合WhateverGreen.kext,也可以当作“优质免驱卡”使用!<br>选MacPro7,1机型的,如果用Clover引导,并且不想看到内存报错提示,可以参考这贴的解决方案:<a href="http://bbs.pcbeta.com/viewthread-1843328-1-1.html" target="_blank" rel="noopener">http://bbs.pcbeta.com/viewthread-1843328-1-1.html</a></p>
<p>本文作为一篇<strong>“低级”文章</strong>,定位:<br>(1)让新手、小白,或者不爱折腾以省心为主的用户,能够更快更准地选择适合自己的黑苹果机型。<br>(2)以本文为跳板,为更进一步的折腾、看更高一级别的文章作准备。<br>(3)当进一步折腾遇到困难时,作为一个暂停折腾回归稳定的避风港。</p>
<p><strong>黑苹果需求层次:</strong><br>(1)安装系统,进入桌面的需要。<br>(2)稳定工作的需要(连续一星期不关机的情况下,不冻屏,不死机,不自动重启,稳定性不下降)。<br>(3)三卡(显卡、声卡、网卡)驱动的需要。<br>(4)完美睡眠唤醒和电能小憩的需要。<br>(5)干重活、做大事的需要。这里面会有多个分支(如:以黑苹果作为折腾工具,尽可能容易升级系统的方向;用黑苹果做吃饭工具,尽可能压榨硬件性能的方向)</p>
<p>如何理解这一需求层次?很简单,就是“低层次的需求满足不了,高层次的需求就是扯蛋”:<br>(1)如果没法安装系统,或者装好系统进不去桌面,那就等于零。<br>(2)如果不能稳定工作,那就只能呵呵了。<br>(3)如果三卡无法驱动(尤其是显卡),那按照普通的电脑使用方法用起来就非常不舒服了,除非“妙用”(且看下文)。<br>(4)如果不能完美睡眠唤醒和电能小憩,那么只能像Windows电脑那样用完即关机,体会不到白果那种“用完即合盖或睡眠,两个月不关机不重启也没事”的魅力。</p>
<p>譬如,百把块钱一张的1037U小主板,核显是Ivy Bridge GT1,无解,表现为一驱动就黑屏只有鼠标能动。(别说了,我买了两张1037U小主板,核显都是这样的,而且这么小的主板没法加独显)这样的主板,显然无法做主流使用。</p>
<p>但是,由于不驱动显卡时可以稳定使用,所以可以进行这样一番“神”操作:</p>
<p>一间大办公室,十来台电脑,只有一台公用打印机,所有电脑都用的是黑果,主要用于PS和微信公众号推送。刚好办公室缺少一台挂钟,于是负责人用一块1037U小主板和一台显示器,DIY了一台黑苹果,三卡只驱动网卡,连接办公室局域网,并将公共打印机连接上,打开局域网共享,然后给系统里安装几个时钟的屏保,设置屏保1分钟自动打开。然后挂在墙上,当“挂钟”。</p>
<p>于是,神奇的效果出现了:所有人使用打印机都可以直接给这台“挂钟”发送打印信息,不用担心办公室里原来连着打印机的员工电脑出现状况;“挂钟”每天自动与Apple服务器对时,所以不存在“钟慢了”或者“钟快了”;今后这台“挂钟”还可以跑一些后台……潜力无限。</p>
<p>====================================</p>
<p>本文旨在为<strong>满足你的最基础需求而助一臂之力</strong>(三卡轻松驱动起来,并且系统稳定运行),并尽力满足<strong>一点点你的高级需求</strong>。</p>
<p>如上所说,人的需求是有层次的,先满足了低层次的需求才能满足高层次的需求。“饱汉不知饿汉饥”,跟还在三卡驱动层面挣扎的用户谈什么FCPX,谈什么HWP,谈什么注入这个修改那个的,是没有意义的。诚然,FCPX有用,HWP也有用,但是这应当是你满足了低层次的需求,而为高层次需求奋斗时所作出的,应该是另一篇文章的内容。当你为下一个目标奋斗,读更高级的文章时,可能发现为了实现更高级的需求需要<strong>换另一种机型</strong>,这时也不必守着本文所讲的机型不放;但是也<strong>不能因为更高级的文章就否定低级的文章,更不能因为更高层次的需求就否定低层次的需求</strong>。正如:初中阶段化学方程式的配平一般用最小公倍数法就可以做到;高中阶段由于方程式变复杂了,就需要用氧化值(化合价)法;大学阶段由于很多方程式连次要产物都没写出来,不仅要配平还要自己补齐次要产物,则用离子-电子法,把反应设计成原电池,通过配平两个半反应来得到配平后的总反应。对一个初中生而言,知道在橙子里插一块铜片一块锌片能组成“水果电池”就已经非常了不起了,你还指望让他设计原电池(其实对高中生而言设计原电池也是一大难点)?<strong>更高级的方法是为了弥补低级方法的不足;但是不先满足低层次需求,高层次需求就是扯蛋。看不惯请点右上角。</strong></p>
<p>适宜人群:<br>(1)黑苹果新用户;<br>(2)黑苹果普通用户;<br>(3)喜欢玩Beta版系统的用户;<br>(4)不爱折腾,以省心为主的用户。</p>
<p>不适宜人群:<br>(1)妄想一口吃成胖子的,或者吃成胖子后说 “原来让我变成胖子靠的全是最后一口饭的功劳啊!早知如此劳资就只吃最后这口饭了!” 的;<br>(2)玻璃心的、被害妄想症的;<br>(3)强迫症晚期的;<br>(4)鸡蛋里挑骨头的、想要一条龙服务的。</p>
<p><strong>机型的作用</strong>:让硬件和谐高效地协同工作;限制系统版本区间(如:MacPro7,1机型只能运行10.15或更高版本,用了这一机型则无法运行10.14.6或更低版本;Macmini3,1机型官方最高只能运行10.11.6,更高版本需要破解)。<br><strong>机型选择的基本原则</strong>:优先从显卡出发,兼顾CPU,尽可能多向白果靠拢,充分考虑各硬件的能力与各机型的脾气。</p>
<p>首先是“太长不看版”——思维导图先来一张:</p>
<p><img src="smbios.png" alt=""></p>
<p>下面正文要开始了。</p>
<p>定义:<br>(1)显卡可以驱动:不开启辅助功能“增强对比度”时,(如果是Mojave或Catalina,要求是亮色模式下)可以使右键菜单、顶部菜单栏、空格预览窗口透明,程序坞透明。<br>(2)显卡无驱动:不开启辅助功能“增强对比度”时,(如果是Mojave或Catalina,要求是<strong>亮色模式</strong>下)右键菜单、顶部菜单栏、空格预览窗口一片惨白,程序坞一片惨白,运行起来非常卡顿。<br>(3)显卡经过Patch可以驱动:在Mojave或Catalina的亮色模式下,用Mojave Patcher/Catalina Patcher(2019年11月或以后的版本)打补丁后可以右键菜单、顶部菜单栏、空格预览窗口透明,程序坞透明。</p>
<p>我根据各显卡的能力,把独立显卡分为四大类:</p>
<p>(1)优质免驱卡:在macOS Catalina 10.15.2或更高版本下,当Clover Configurator——Graphics页面全空时也能驱动,并能实现H.264/HEVC双硬解。包括Vega核心和Navi核心两种,前者的代表有Vega 56/Vega 64/WX 8200等;后者的代表有RX 5700/RX 5700 XT等。<br>(2)一流免驱卡:在macOS Catalina 10.15.2或更高版本下,当Clover Configurator——Graphics页面全空时也能驱动,并且实现无核显硬解H.264(无WhateverGreen.kext时不能硬解HEVC)的显卡,包括RX400/RX500系列游戏卡以及对应的专业卡,即RX460、RX470、RX480、RX550(ID为67FF的)、RX560、RX570、RX580、RX590,以及WX 4100、WX 5100等等。请注意,RX580 2048SP无法直接驱动,要刷成RX570才行;RX590直接驱动会导致高频不降, 要刷成RX580(2304SP满血版)才行。<strong>一流免驱卡加入新版WhateverGreen.kext后,也可以实现H.264和HEVC双硬解,摇身一变为优质免驱卡。</strong><br>(3)二流免驱卡:在macOS Mojave 10.14.0或更高版本,可以驱动的不属于上述“优质免驱卡”“二流免驱卡”范畴的其他显卡(尽管某些卡可能要折腾一番Clover Configurator——Graphics页面)。二流免驱卡有A卡和N卡两种,A卡的代表有HD 7850/HD 7950/R7 350/W5100/W7100/R9 2xx/R9 3xx/R9 Nano等,N卡的代表有GT 640/GTX 670/GT 710/GTX 760/Quadro K600/Quadro K4000等开普勒(核心代号GK开头)核心的显卡。<strong>请注意,根据论坛里多个帖子的反馈:GK106核心的卡,如GTX650Ti、GTX650Ti Boost,自从10.12.6+开始一直存在花屏bug,近三年来一直无解,所以请回避。反倒是GK208核心的卡(如GT710)在10.15+不花屏了。</strong><br>(4)老爷卡:macOS High Sierra可以驱动(系统信息里显卡不显示支持Metal),但是macOS Mojave/Catalina默认情况下(即不动SLE的情况下)无驱动(N卡和某些A卡经过Patch后可以驱动,但是仍不支持Metal)。经过Patch可以驱动的代表有:A卡HD 2600 XT/HD 2600 Pro/HD 4870等,N卡8600GT/9400GT/9800GTX/G100/GT130/Geforce 210/GT240/Geforce 310/Geforce 405/GTX560/GTX590/Geforce 605/GT610/Quadro FX580/Quadro 600/Quadro 4000等。就算Patch了也无法驱动的A卡:HD 5550/HD 5950/HD 6450/HD 6570/HD6850/HD 6970/HD 7450/HD 8450/R5 230/V7900等。</p>
<p>把集成显卡分为四大类:<br>(1)当代卡:六七八九代酷睿的核显:HD 530/HD 630/UHD 630,以及i3-6098P和i5-6402P的HD 510(苹果系统会识别成HD 530)<br>(2)现代卡:三四五代酷睿(含笔记本标压魔改台式机的四五代酷睿)的核显:HD 2500/HD 4000/HD 4400/HD 4600/Iris Pro/Iris Pro Graphics 6200<br>(3)老爷卡:二代酷睿i3-2105/i3-2125/i5-2500K/i7-2600K的核显,即HD3000<br>(4)古董卡:Intel GMA 950(945主板的集成显卡),最高支持<a href="http://bbs.pcbeta.com/forum-lion-1.html" target="_blank" rel="noopener">Mac OS X </a><a href="http://bbs.pcbeta.com/forum-lion-1.html" target="_blank" rel="noopener">Lion</a> 10.7.5的古董级Intel集成显卡。<br>(注:一代酷睿台式机CPU核显无解;3系、4系台式机主板集成显卡无解;965台式机主板的集成显卡应该也无解)</p>
<p>然后讨论一下部分机型的脾气:<br>一、Mac Pro (2019)/iMac Pro (2017)机型(A卡有加成,N卡避开)<br>MacPro7,1 :Mac Pro (2019);最低系统macOS Catalina;使用大多数独显均无需WhateverGreen;从不挑剔CPU;对2016年(含)以后的新显卡有加成;每次开机会弹出一次内存报警,可以通过这贴的方法去除:<a href="http://bbs.pcbeta.com/viewthread-1843328-1-1.html" target="_blank" rel="noopener">http://bbs.pcbeta.com/viewthread-1843328-1-1.html</a><br>iMacPro1,1 :iMac Pro (2017);最低系统macOS High Sierra;使用大多数独显均无需WhateverGreen;从不挑剔CPU;对2016年(含)以后的新显卡有加成;该机型会导致某些主板的ALC声卡无法驱动。</p>
<p>评:这俩机型胜似一对亲兄弟。为了用AppleALC驱动主板集成声卡,我强烈建议优先使用Mac Pro (2019)。如果确有使用macOS Mojave需求,再考虑iMac Pro (2017)。</p>
<p>二、较老的Mac Pro机型(不挑A N)<br>MacPro6,1 : Mac Pro (Late 2013);最低系统OS X Mavericks;使用大多数独显均无需WhateverGreen;从不挑剔CPU。<br>MacPro5,1 : Mac Pro (Mid 2010 or Mid 2012);最低系统Mac OS X Lion;最高系统macOS Mojave;使用大多数独显均无需WhateverGreen;从不挑剔CPU。<br>MacPro4,1 : Mac Pro (Early 2009);最低系统Mac OS X Leopard;最高系统OS X El Capitan;从不挑剔CPU(El Capitan的年代,WhateverGreen还没问世)。</p>
<p>评:这三大机型属于“口袋”机型,不好向某个iMac靠拢的机型,统统都用这些吧。</p>
<p>三、iMac机型<br>iMac机型,根据年代和硬件配置,可以分为甲乙丙丁四组。总的来说,年代越久远,核显与独显的关系就越松散(特别是2011年中或更早的机型)。</p>
<p>甲组(六七八九代酷睿,核显与独显配合默契、惺惺相惜):<br>iMac19,1 :iMac (Retina 5K, 27-inch, 2019) ;适合八九代酷睿的UHD630核显与RX400/500或R9独显联合工作实现双硬解;六七八九代酷睿的HD530/HD630/UHD630与Vega独显联合工作实现Final Cut Pro转场不卡顿;与黑苹果用的显示器尺寸和分辨率无关。(如果无独显,只有核显,很可能会导致花屏!)<br>iMac19,2 :iMac (Retina 4K, 21.5-inch, 2019) ;适合八九代酷睿的UHD630核显与RX400/500或R9独显联合工作实现双硬解;与黑苹果用的显示器尺寸和分辨率无关。(如果无独显,只有核显,会导致花屏!)<br>iMac18,3 : iMac (Retina 5K, 27-inch, 2017);适合七代酷睿的HD630核显与RX400/500或R9独显联合工作实现双硬解;与黑苹果用的显示器尺寸和分辨率无关。(如果无独显,只有核显,会导致花屏!)<br>iMac18,2 : iMac (Retina 4K, 21.5-inch, 2017) ditto<br>iMac17,1 : iMac (Retina 5K, 27-inch, Late 2015);适合六代酷睿的HD530核显与RX400/500或R9独显联合工作实现双硬解;与黑苹果用的显示器尺寸和分辨率无关。(如果无独显,只有核显,会导致花屏!)</p>
<p>乙组(六七八九代酷睿,无独显,核显单枪匹马闯天下):<br>iMac18,1 : iMac (21.5-inch, 2017);适合六七八九代酷睿,无独显,只用核显,且有使用macOS High Sierra需求的用户(八九代酷睿需要把UHD630仿冒成HD630)。</p>
<p>丙组(三四五代酷睿,核显与独显关系较为松散):<br>iMac16,2 : iMac (Retina 4K, 21.5-inch, Late 2015);适合五代酷睿Iris Pro Graphics 6200核显(即i5-5675R/i7-5775R等Broadwell的笔记本魔改台式机CPU,这类魔改CPU只能上H97/Z97主板)无独显使用。但是据反馈,容易卡-v图,所以卡-v图的用户可以换Macmini7,1机型。<br>iMac15,1 : iMac (Retina 5K, 27-inch, Late 2014 or Mid 2015);适合四代酷睿HD4400/4600核显搭配二流免驱A卡使用;如果只有HD4400/4600核显,无独显,也可以使用本机型(ig使用0d260007,就不会花屏)。<br>iMac14,4 : iMac (21.5-inch, Mid 2014);适合四代酷睿HD4400/4600核显无独显使用。<br>iMac14,2 : iMac (27-inch, Late 2013);适合四代酷睿HD4400/4600核显搭配二流免驱N卡使用。<br>iMac14,1 : iMac (21.5-inch, Mid 2013);适合四代酷睿Iris Pro核显(即i7-4770HQ、i7-4980HQ等Crystal Well的笔记本魔改台式机CPU)无独显使用。<br>iMac13,2 : iMac (27-inch, Late 2012);适合三代酷睿HD2500/4000核显搭配二流免驱N卡使用;如果只有HD2500/4000核显,无独显,也可以使用本机型(ig使用<a href="http://bbs.pcbeta.com/tel:01620005" target="_blank" rel="noopener">01620005</a>)。如果是三代酷睿搭配A卡,可以转投MacPro6,1的怀抱。</p>
<p>丁组(以老爷卡为主,显卡是A还是N不重要,有没有核显、核显能不能驱动也不重要,只要有独显就行,这方面就比较像较老的Mac Pro了):<br>iMac12,2 : iMac (27-inch, Mid 2011);最高系统macOS High Sierra;适合LGA1155处理器搭配独显使用。<br>iMac11,3 : iMac (27-inch, Mid 2010);最高系统macOS High Sierra;适合LGA1156处理器搭配独显使用。<br>iMac10,1 : iMac (27-inch or 21.5-inch, Late 2009);最高系统macOS High Sierra;适合LGA775搭配独显使用(如果你的主板支持AHCI,且处理器是45纳米的酷睿2或者至强,那么可以流畅运行macOS High Sierra;如果两者之一不满足,那建议用iMac9,1或者Macmini3,1停在OS X El Capitan养老)。<br>iMac9,1 : iMac (24-inch or 20-inch, Early 2009);最高系统OS X El Capitan;适合LGA775搭配独显使用,与Macmini3,1等价。</p>
<p>四、Mac mini机型<br>Macmini8,1 : Mac mini (2018);适合六七八九代酷睿处理器核显HD530/HD630/UHD630无独显使用的用户。<br>Macmini7,1 : Mac mini (Late 2014);适合四代酷睿处理器核显Iris Pro无独显使用的用户;如果是五代酷睿处理器核显Iris Pro Graphics 6200用iMac16,2卡-v图,也可以使用这一机型。<br>Macmini6,2:Mac mini Server (Late 2012);适合三代酷睿处理器HD4000核显(以及部分HD2500核显)无独显使用的用户。<br>Macmini5,1 : Mac mini (Mid 2011);最高系统macOS High Sierra;适合二代酷睿处理器核显HD3000无独显使用的用户。<br>Macmini5,3 : Mac mini Server (Mid 2011);ditto<br>Macmini3,1 : Mac mini (Late 2009);最高系统OS X El Capitan;适合LGA775搭配独显使用,与iMac9,1等价。</p>
<p>下面分别就有独显和无独显两类机器展开讨论。<br><strong>请一步步往下阅读,切忌跳读,因为逻辑性很强,弄混了一个要点就会一错到底。我把下面这段机型选择方法画成了思维导图,放在文章开头,建议结合起来看,这样逻辑就不容易弄混。</strong><br>一、有独显<br>(1)优质免驱卡:(不用考虑CPU的因素,省心)<br>a)首先推荐MacPro7,1机型(要求最低系统10.15),显卡驱动方便(有的显卡甚至连WhateverGreen都不要就能直接免驱用),也能够充分发挥显卡性能,且主板集成ALC声卡直接用AppleALC即可驱动。<br>b)如果是Vega显卡且需要使用10.14或10.13系统,则建议选择iMacPro1,1机型,这一机型不如Mac Pro (2019)来得好用,因为主板集成ALC声卡很可能无法驱动。<br>(RX5700就别做梦了,要稳定使用必须10.15.2或以上,10.14根本无法驱动。乖乖用MacPro7,1去吧)</p>
<p>(2)一流免驱卡:<br>a)如果处理器是LGA1151:</p>
<p> · 有核显六七八九代酷睿——打开核显,把核显放在IGPU,独显放在GFX0,六代酷睿用iMac17,1,七代酷睿用iMac18,3,八九代酷睿用iMac19,1。</p>
<p> · 至强、奔腾、赛扬,或无核显的九代酷睿——使用MacPro7,1;(要求系统10.15起步),如果要10.14或10.13系统则用iMacPro1,1机型。<br>b)如果是LGA1156/1366的处理器,则想停在Mojave的使用MacPro5,1机型,想冲一把Catalina的使用MacPro6,1机型。<br>c)如果是LGA1155/1150/2011的处理器,则使用iMacPro1,1机型。<br>d)如果是LGA2011-3/2066/3647的处理器,则使用MacPro7,1;(要求系统10.15起步),如果要10.14.6系统则用iMacPro1,1机型。</p>
<p>(3)二流免驱卡:<br>a)如果是LGA1155处理器:A卡则用MacPro6,1机型,N卡则用iMac13,2机型。<br>b)如果是LGA1150处理器:A卡则用iMac15,1机型,N卡则用iMac14,2机型。<br>c)如果是LGA1156/1151/1366/2011/2011-3/2066/3647处理器:使用MacPro6,1机型。</p>
<p>(4)老爷卡:由于搭配老爷卡的机器一般CPU都比较老旧,所以优先根据你的CPU来。<br>a)LGA775处理器则使用iMac9,1或者Macmini3,1机型,停在10.11.6(注:如果你的主板支持AHCI,且处理器是45纳米的酷睿2或者至强,则也可以使用iMac10,1机型,加固态后可以上10.13.6,用Mojave Patcher/Catalina Patcher把显卡Patch一下还可以上10.14.6或10.15+);<strong>理由</strong>:iMac9,1、Macmini3,1的白果官方最高10.11.6,固件不原生支持APFS;iMac10,1的白果官方最高10.13.6,固件原生支持APFS。所以如果要让iMac9,1、Macmini3,1这两个机型上10.14+,还要破解固件以支持APFS;iMac10,1则不用破解,原生支持APFS。<br>对于黑果而言,我们的Clover支持APFS,所以不需要破解固件。<br>Mojave Patcher和Catalina Patcher本身是针对白果而开发的,不是针对黑果的,所以它们看到iMac9,1、Macmini3,1机型就认为要破解固件,看到iMac10,1就认为不用破解固件。<br>虽然iMac9,1、Macmini3,1和iMac10,1从硬件方面“向白果靠拢”都没有任何问题,但是我们既然要用Mojave Patcher或Catalina Patcher破解黑果上10.14 / 10.15,就不得不在硬件方面“向白果靠拢”的基础上更进一步——还要向Mojave Patcher和Catalina Patcher靠拢。<br>笔者亲测,<strong>对于LGA775的机器而言,运行黑果10.14 / 10.15流畅的充要条件是“CPU有SSE4.1指令集+4GB或更大内存(DDR2、DDR3均可)+固态硬盘+开AHCI”</strong>。所以经过推敲,提出了上面的机型选择建议。</p>
<p>b)LGA771的使用MacPro3,1机型;<br>c)LGA1156则使用iMac11,3机型;<br>d)LGA1155则使用iMac12,2机型;<br>e)LGA1150/1151/1366/2011/2011-3/2066/3647处理器:使用MacPro5,1(想升级10.14.6或10.15+的,请用Mojave Patcher/Catalina Patcher把显卡Patch一下);</p>
<p>二、无独显,只有核显<br>(1)八九代酷睿:选择Macmini8,1机型。<br>(2)六七代酷睿:如果只用macOS Mojave或更高系统,则优先选择Macmini8,1机型,这样config最简洁;如果需要macOS High Sierra或macOS Sierra或OS X El Capitan系统,则选择iMac18,1机型。<br>(3)四五代酷睿:Iris Pro Graphics 6200核显的,选用iMac16,2机型(如果卡-v图,则换Macmini7,1机型);Iris Pro核显的,选用iMac14,1或Macmini7,1机型;HD4400/4600核显的,选用iMac14,4机型。<br>(4)三代酷睿:选用Macmini6,2机型,Clover Configurator——Graphics,选中Inject Intel,ig用01620005,即可完美驱动HD4000。<br>(5)二代酷睿:选用Macmini5,1或Macmini5,3机型,Clover Configurator——Graphics,选中Inject Intel,ig用01620005,即可完美驱动HD3000(想升级10.14.6或10.15+的,请用Mojave Patcher/Catalina Patcher把显卡Patch一下)。<br>(945主板的GMA 950,本人还没有尝试过,所以暂且不做讨论)</p>
<p>三、给机器选择合适的机型,巧妙让系统停在某个版本,不让系统弹出更新推送<br>(1)停在<strong>10.14.6</strong>版本(最后一个支持32位应用的系统):MacPro5,1机型;<br>(2)停在<strong>10.13.6</strong>版本(最后一个支持N卡WebDriver的系统):iMac12,2机型;<br>(3)停在<strong>10.11.6</strong>版本(最后一个对机械硬盘友好的系统):MacPro4,1机型。</p>
<p>Q&A</p>
<p>Q:写这篇文章的动机和出发点是什么?你做黑苹果所秉承的理念是什么?</p>
<p>A:很多新入门黑苹果的用户,在机型选择上犯了大难——因为参考资料甚少。写这篇文章的动机就是,为了让<strong>新用户少犯难,更快入门,同时大幅降低黑苹果的神秘感,起到推广作用,而不是劝退</strong>。那些“显卡发挥多少性能全看你的水平”的言论,说给新用户、小白们听,是推广,还是劝退?</p>
<p>我走上黑苹果道路,纯粹就是用了多年Mac白苹果,觉得好用。怎么个好用法?用Mac时,我绝对不会看传感器数据,不会看硬件多少温度、风扇多少转速,顶多打开资源监视器看看CPU使用率——我只需要管我自己用得爽就行了。</p>
<p>我做黑苹果的理念也是一脉相承,出发点是,clover里的配置遵循极简主义,因为Clover越简单,升级系统时手续就越简单(虽然不可能像白果那样零手续)。稳定为主,在少折腾甚至零折腾的基础上尽可能多地发挥硬件潜能。</p>
<p>Q:你给出的机型选择,是标准答案吗?</p>
<p>A:不是标准答案,说“本人推荐”更合适。譬如,E3-1230 v3,RX580显卡,按照上文的说法,用MacPro6,1;但是,用MacPro7,1或iMacPro1,1,也未尝不可。这就是一定的灵活性。</p>
<p>另外,笔者用的黑苹果配置是i7-8700,技嘉B360M D3H,蓝宝石RX570 4GB独显,但是我更倾向于选择MacPro7,1机型而不是iMac19,1机型。理由如下:</p>
<p>a)这台机器使用不频繁,但也不关机,而是一直睡眠,用的时候一点鼠标就亮了。如果用iMac19,1机型,电能小憩常有问题;如果用MacPro7,1机型,稳定睡眠,电能小憩没有问题,更加省心。</p>
<p>b)我不靠这台机器吃饭,干得最重的活大概就是用VideoProc压HEVC视频(内容以屏幕录像为主)。这种情况的话,我不需要双硬解,就算开了双硬解我还得手动把HEVC显卡加速关掉让它纯CPU工作,因为VideoProc有一点很蛋疼,在同等质量的情况下,开了HEVC加速会导致导出的片子体积十分庞大(尤其是屏幕录像),但是纯CPU导出就是正常体积。</p>
<p><img src="http://bbs.pcbeta.com/data/attachment/forum/201912/05/155540t776pul670266ooj.png" alt="截屏2019-12-05上午8.27.29.png"></p>
<p>以我自10.15正式版至今发布的各dmg里所带的“BIOS+GPT+Clover黑苹果U盘处理方法和效果演示.mp4”为例:原片1280*720 30FPS H.264 370.3MB 8分38秒,用VideoProc导出HEVC,导出参数设置如上图所示。开着显卡加速导出139MB,纯CPU导出仅16.9MB。你没看错,一个一百多MB,一个十来MB!</p>
<p>c)MacPro7,1机型不需要WhateverGreen,Graphics全空,就能使独显完美输出;iMac19,1则需要WhateverGreen,否则黑屏。升级10.15.1的时候,WhateverGreen失效,导致必须用MacPro7,1机型,去掉WhateverGreen,才能进桌面(好在不久之后WhateverGreen做了适配)。升级10.15.2 Beta3的时候,用iMac19,1机型,导致升级的时候卡死在Installing on “Macintosh HD”界面,换MacPro7,1去除WhateverGreen,完美升级。</p>
<p>所以对于我这种喜欢折腾Beta版的人而言,根据我的需求,我当然愿意关核显,丢掉HEVC硬解,选择MacPro7,1。</p>
<p>Q:有人说我没考虑FCPX用户?</p>
<p>A:哪位大学高数老师会说“你们小学数学老师讲的不能0除以0有很强的误导性,高等数学里一个重要极限就是lim x->0 (sinx / x) = 1”?不是因为小学数学老师不懂大学的高等数学(拜托,现在二线城市的小学老师,没个985 211本科的文凭还真不好当),而是小学生的认知能力有限。刚刚走上黑苹果道路的人大多数意志都不太坚定,你一次性灌输太多东西反而会把他吓跑。</p>
<p>退一万步讲,如果对高数感兴趣,就必须先考进大学;要考进大学,必须先考上高中……没有谁可以跳过小学中学而一步上大学的。</p>
<p>Q:怎样掌握机型选择的灵活度?</p>
<p>灵活也要有度,<strong>小方向可以做微调,大方向不要混</strong>。如笔者的黑苹果配置,按照文中的说法,用iMac19,1,这样只需一个WhateverGreen就可以让独显核显协同工作实现双硬解。如果用Macmini8,1,那么独显就不硬解了,这就是大方向错了(当然若拔掉独显只用核显,这时就换成了Macmini8,1机型)。有人会反驳说,用一些注入、一些修改,这样的配置也可以用Macmini8,1实现双硬解。我只想说,一个机型能解决的问题,不需要非得注入这个修改那个。</p>
<p>本人讲究顺其自然,自以为默认即佳。认为世界非黑即白、非好即坏的,爱玩高度定制的,要让人免费为你的钱包负责的,没法交流。</p>
<p>Q:关于10.15.2,RX400/500无核显双硬解的问题?</p>
<p>A:RX400/500双硬解自从10.14.5完美开放以来,一直以来争议颇多。有人觉得这是个大好事,有人说这么一搞用HEVC会花屏……如果希望在10.15.2实现RX400/500无核显双硬解,可以参考这两个回帖:</p>
<p><a href="http://bbs.pcbeta.com/forum.php?mod=redirect&goto=findpost&ptid=1816113&pid=49710367" target="_blank" rel="noopener">http://bbs.pcbeta.com/forum.php?mod=redirect&goto=findpost&ptid=1816113&pid=49710367</a></p>
<p><a href="http://bbs.pcbeta.com/forum.php?mod=redirect&goto=findpost&ptid=1816113&pid=49753782" target="_blank" rel="noopener">http://bbs.pcbeta.com/forum.php?mod=redirect&goto=findpost&ptid=1816113&pid=49753782</a></p>
<p>Q:你对于“干重活、做大事的需要”的理解?</p>
<p>A:重复一遍,我搞黑苹果,纯粹是为了情怀,我的主力机永远是白苹果。我更倾向于以黑苹果作为折腾工具,尽可能使升级系统变得容易一些。我不需要靠黑果吃饭,也不需要免费为你用黑果吃饭的问题而负责。想要免费让人帮您负责吃饭问题的,还请另觅高明吧!</p>
]]></content>
<categories>
<category>Hackintosh</category>
</categories>
<tags>
<tag>Hackintosh</tag>
</tags>
</entry>
<entry>
<title>黑苹果Intel核显platform-ID整理及smbios速查表</title>
<url>/Hackintosh/2020-04-01-Intel-core-display-platformID-finishing.html/</url>
<content><![CDATA[<p>自用备查,转自<a href="https://blog.daliansky.net/Intel-core-display-platformID-finishing.html" target="_blank" rel="noopener">黑果小兵</a>。</p>
<a id="more"></a>
<p>smbios速查表</p>
<table>
<thead>
<tr>
<th align="left">SMBIOS ID</th>
<th align="left">CPU Family</th>
<th align="left">GPUs (S = Switchable)</th>
<th align="left">Year and size</th>
</tr>
</thead>
<tbody><tr>
<td align="left">MacBook1,1</td>
<td align="left">Yonah</td>
<td align="left">GMA 950</td>
<td align="left">13” 2006</td>
</tr>
<tr>
<td align="left">MacBook2,1</td>
<td align="left">Merom</td>
<td align="left">GMA 950</td>
<td align="left">13” 2006/07”</td>
</tr>
<tr>
<td align="left">MacBook3,1</td>
<td align="left">Merom</td>
<td align="left">GMA X3100</td>
<td align="left">13” 2007</td>
</tr>
<tr>
<td align="left">MacBook4,1</td>
<td align="left">Penryn</td>
<td align="left">GMA X3100</td>
<td align="left">13” 2008</td>
</tr>
<tr>
<td align="left">MacBook4,2</td>
<td align="left">Penryn</td>
<td align="left">GMA X3100</td>
<td align="left">13” 2008</td>
</tr>
<tr>
<td align="left">MacBook5,1</td>
<td align="left">Penryn</td>
<td align="left">GeForce 9400M</td>
<td align="left">13” 2008</td>
</tr>
<tr>
<td align="left">MacBook5,2</td>
<td align="left">Penryn</td>
<td align="left">GeForce 9400M</td>
<td align="left">13” 2009</td>
</tr>
<tr>
<td align="left">MacBook6,1</td>
<td align="left">Penryn</td>
<td align="left">GeForce 9400M</td>
<td align="left">13” 2009</td>
</tr>
<tr>
<td align="left">MacBook7,1</td>
<td align="left">Penryn</td>
<td align="left">GeForce 320M</td>
<td align="left">13” 2010</td>
</tr>
<tr>
<td align="left">MacBook8,1</td>
<td align="left">Broadwell m</td>
<td align="left">HD 5300</td>
<td align="left">12” 2015</td>
</tr>
<tr>
<td align="left">MacBook9,1</td>
<td align="left">Skylake m</td>
<td align="left">HD 515</td>
<td align="left">12” 2016</td>
</tr>
<tr>
<td align="left">MacBook10,1</td>
<td align="left">Kaby Lake m</td>
<td align="left">HD 615</td>
<td align="left">12” 2017</td>
</tr>
<tr>
<td align="left">—</td>
<td align="left">—</td>
<td align="left">—</td>
<td align="left">—</td>
</tr>
<tr>
<td align="left">MacBookAir1,1</td>
<td align="left">Merom</td>
<td align="left">GMA X3100</td>
<td align="left">13” 2008</td>
</tr>
<tr>
<td align="left">MacBookAir2,1</td>
<td align="left">Penryn</td>
<td align="left">GeForce 9400M</td>
<td align="left">13” 2008/09”</td>
</tr>
<tr>
<td align="left">MacBookAir3,1</td>
<td align="left">Penryn</td>
<td align="left">GeForce 320M</td>
<td align="left">11” 2010</td>
</tr>
<tr>
<td align="left">MacBookAir3,2</td>
<td align="left">Penryn</td>
<td align="left">GeForce 320M</td>
<td align="left">13” 2010</td>
</tr>
<tr>
<td align="left">MacBookAir4,1</td>
<td align="left">Sandy Bridge</td>
<td align="left">HD 3000</td>
<td align="left">11” 2011</td>
</tr>
<tr>
<td align="left">MacBookAir4,2</td>
<td align="left">Sandy Bridge</td>
<td align="left">HD 3000</td>
<td align="left">13” 2011</td>
</tr>
<tr>
<td align="left">MacBookAir5,1</td>
<td align="left">Ivy Bridge</td>
<td align="left">HD 4000</td>
<td align="left">11” 2012</td>
</tr>
<tr>
<td align="left">MacBookAir5,2</td>
<td align="left">Ivy Bridge</td>
<td align="left">HD 4000</td>
<td align="left">13” 2012</td>
</tr>
<tr>
<td align="left">MacBookAir6,1</td>
<td align="left">Haswell</td>
<td align="left">HD 5000</td>
<td align="left">11” 2013</td>
</tr>
<tr>
<td align="left">MacBookAir6,2</td>
<td align="left">Haswell</td>
<td align="left">HD 5000</td>
<td align="left">13” 2013</td>
</tr>
<tr>
<td align="left">MacBookAir7,1</td>
<td align="left">Broadwell</td>
<td align="left">HD 6000</td>
<td align="left">11” 2015</td>
</tr>
<tr>
<td align="left">MacBookAir7,2</td>
<td align="left">Broadwell</td>
<td align="left">HD 6000</td>
<td align="left">13” 2015</td>
</tr>
<tr>
<td align="left">MacBookAir8,1</td>
<td align="left">Kaby Lake</td>
<td align="left">Intel UHD Graphics 617</td>
<td align="left">13” 2018</td>
</tr>
<tr>
<td align="left">MacBookAir8,2</td>
<td align="left">Kaby Lake</td>
<td align="left">Intel UHD Graphics 617</td>
<td align="left">13” 2019</td>
</tr>
<tr>
<td align="left">—</td>
<td align="left">—</td>
<td align="left">—</td>
<td align="left">—</td>
</tr>
<tr>
<td align="left">MacBookPro1,1</td>
<td align="left">Yonah</td>
<td align="left">Radeon X1600</td>
<td align="left">15” 2006</td>
</tr>
<tr>
<td align="left">MacBookPro1,2</td>
<td align="left">Yonah</td>
<td align="left">Radeon X1600</td>
<td align="left">17” 2006</td>
</tr>
<tr>
<td align="left">MacBookPro2,1</td>
<td align="left">Merom</td>
<td align="left">Radeon X1600</td>
<td align="left">15” 2006</td>
</tr>
<tr>
<td align="left">MacBookPro2,2</td>
<td align="left">Merom</td>
<td align="left">Radeon X1600</td>
<td align="left">17” 2006</td>
</tr>
<tr>
<td align="left">MacBookPro3,1</td>
<td align="left">Merom</td>
<td align="left">GeForce 8600M GT</td>
<td align="left">15”/17” 2007</td>
</tr>
<tr>
<td align="left">MacBookPro4,1</td>
<td align="left">Penryn</td>
<td align="left">GeForce 8600MG GT</td>
<td align="left">17” 2008</td>
</tr>
<tr>
<td align="left">MacBookPro5,1</td>
<td align="left">Penryn</td>
<td align="left">GeForce 9400M/9600M GT</td>
<td align="left">S, 15” 2008/09”</td>
</tr>
<tr>
<td align="left">MacBookPro5,2</td>
<td align="left">Penryn</td>
<td align="left">GeForce 9400M/9600M GT</td>
<td align="left">S, 17” 2009</td>
</tr>
<tr>
<td align="left">MacBookPro5,3</td>
<td align="left">Penryn</td>
<td align="left">GeForce 9400M/9600M GT</td>
<td align="left">S, 15” 2009</td>
</tr>
<tr>
<td align="left">MacBookPro5,4</td>
<td align="left">Penryn</td>
<td align="left">GeForce 9400M/9600M GT</td>
<td align="left">S, 15” 2009</td>
</tr>
<tr>
<td align="left">MacBookPro5,5</td>
<td align="left">Penryn</td>
<td align="left">GeForce 9400M/9600M GT</td>
<td align="left">S, 13” 2009</td>
</tr>
<tr>
<td align="left">MacBookPro7,1</td>
<td align="left">Penryn</td>
<td align="left">GeForce 320M</td>
<td align="left">13” 2010</td>
</tr>
<tr>
<td align="left">MacBookPro6,1</td>
<td align="left">Arrandale</td>
<td align="left">HD Graphics/GeForce GT 330M</td>
<td align="left">S, 17” 2010</td>
</tr>
<tr>
<td align="left">MacBookPro6,2</td>
<td align="left">Arrandale</td>
<td align="left">HD Graphics/GeForce GT 330M</td>
<td align="left">S, 15” 2010</td>
</tr>
<tr>
<td align="left">MacBookPro8,1</td>
<td align="left">Sandy Bridge</td>
<td align="left">HD 3000</td>
<td align="left">13” 2011</td>
</tr>
<tr>
<td align="left">MacBookPro8,2</td>
<td align="left">Sandy Bridge</td>
<td align="left">HD 3000/Radeon HD 6490M</td>
<td align="left">S, 15” 2011</td>
</tr>
<tr>
<td align="left">MacBookPro8,3</td>
<td align="left">Sandy Bridge</td>
<td align="left">HD 3000/Radeon HD 6750M</td>
<td align="left">S, 17” 2011</td>
</tr>
<tr>
<td align="left">MacBookPro9,1</td>
<td align="left">Ivy Bridge</td>
<td align="left">HD 4000/GeForce GT 650M</td>
<td align="left">S, 15” 2012</td>
</tr>
<tr>
<td align="left">MacBookPro9,2</td>
<td align="left">Ivy Bridge</td>
<td align="left">HD 4000</td>
<td align="left">13” 2012</td>
</tr>
<tr>
<td align="left">MacBookPro10,1</td>
<td align="left">Ivy Bridge</td>
<td align="left">HD 4000/GeForce GT 650M</td>
<td align="left">S, 15” 2012/13”</td>
</tr>
<tr>
<td align="left">MacBookPro10,2</td>
<td align="left">Ivy Bridge</td>
<td align="left">HD 4000</td>
<td align="left">13” 2012/13”</td>
</tr>
<tr>
<td align="left">MacBookPro11,1</td>
<td align="left">Haswell</td>
<td align="left">Iris 5100</td>
<td align="left">13” 2013/14”</td>
</tr>
<tr>
<td align="left">MacBookPro11,2</td>
<td align="left">Haswell</td>
<td align="left">Iris Pro 5200</td>
<td align="left">15” 2013/14”</td>
</tr>
<tr>
<td align="left">MacBookPro11,3</td>
<td align="left">Haswell</td>
<td align="left">Iris Pro 5200/GeForce GT 750M</td>
<td align="left">S, 15” 2013/14”</td>
</tr>
<tr>
<td align="left">MacBookPro11,4</td>
<td align="left">Haswell</td>
<td align="left">Iris Pro 5200</td>
<td align="left">15” 2015</td>
</tr>
<tr>
<td align="left">MacBookPro11,5</td>
<td align="left">Haswell</td>
<td align="left">Iris Pro 5200/Radeon R9 M370X</td>
<td align="left">15” 2015</td>
</tr>
<tr>
<td align="left">MacBookPro12,1</td>
<td align="left">Broadwell</td>
<td align="left">Iris 6100</td>
<td align="left">13” 2015</td>
</tr>
<tr>
<td align="left">MacBookPro13,1</td>
<td align="left">Skylake</td>
<td align="left">Iris 540</td>
<td align="left">13” 2016</td>
</tr>
<tr>
<td align="left">MacBookPro13,2</td>
<td align="left">Skylake</td>
<td align="left">Iris 550</td>
<td align="left">13” 2016</td>
</tr>
<tr>
<td align="left">MacBookPro13,3</td>
<td align="left">Skylake</td>
<td align="left">HD 530/Radeon Pro 450</td>
<td align="left">15” 2016</td>
</tr>
<tr>
<td align="left">MacBookPro14,1</td>
<td align="left">Kaby Lake</td>
<td align="left">Iris Plus 640</td>
<td align="left">13” 2017</td>