Ðề: Nhân đôi FPS khi play film!
bác trình bày rõ ràng cách dùng GPU cùng với ffdshow thì mình test cho bác , vì mình đang dùng setting của ffdshow nên sợ mất khi chuyển sang dùng GPU . Mình nghĩ máy mình có thể gánh nổi 1080p double frame .
bác lầm to , mình vừa test hàng trên con core i7 của mình , thì đúng là cưc đỉnh , với công nghệ này nó tương tự như cơng nghệ [ 120hz + true motion ] tăng gắp đội FPS làm cho action nhanh hơn , trung thực hơn .
+hệ thống test phim của mình :
24 inch LED 120hz monitor
core i7 920 OC to 4 ghz
GTX 580
CPU chỉ load có 25-30% dối với phim 1080p.mkv
+Mình dám khẳng định 1 điều rằng với technology này , phim HD được đưa lên 1 tầm cao mới .
Thank bác Kyt2011
Đây là cách dùng song song GPU và CPU như mình đã làm nhé.
Mọi config của ffdshow giữ nguyên, chỉ thay đổi như hình
Và trong internal filter bỏ tick hết, còn chọn trong external filter như hình dưới
Cuối cùng như vậy khi bạn chơi file MKV thì GPU sẽ decode (CoreAVC) và pass sang cho CPU filter (ffdshow). Hãy thử xem nhé.
*Còn đây tặng bạn đoạn hướng dẫn TA nhé:
Uninstall all your codecs and players etc. and follow this guide.
A great site is afterdawn.com it has all the latest and greatest that we need for this to work.
For those who wish to dish a few bucks and have a nVidia card. Go out and buy CoreAVC and enable cuda in the settings. This will basically allow your GPU to do the x264/h.264/AVC decoding. Install it with the Haali options for the file types you wish to play.
Download K-Lite Mega Codec pack and install ONLY Media Player Classic Regular NOTHING ELSE. This player gives me the least headaches when trying to get everything to work. Enable the internal subtitle renderer, all other options are optional for your liking but the subtitle renderer is required as the ffdshow subtitle renderer sometimes messes up everything whilst doing Avisynth operations. Also Make MPC the default player for all video types, reason being that the codec pack has some nice bonuses with file type icons that look pretty sweet. Once installed, open up MPC and enter the options window. Select your renderer as the Haali Renderer, then click the internal filters tab and uncheck everything in both columns. Apply and exit the player, don't attempt to play anything yet unless you've installed CoreAVC.
(CoreAVC users) Play a h.264 encoded video. Hopefully your tray should have a green CoreAVC icon indicating cuda is in use. Start Task Manager and check, your CPU usage, it should be hovering at a very low usage indicating your GPU is doing all the work.
Download and install Avisynth FIRST...
THEN Download and install the newest ffdshow, during the installation, uncheck VFW and check all the Avisynth options. Install ffdshow with your required codecs. Launch ffdshow after the installation and do the audio settings for your speaker configuration. Disable the DXVA codec (its useless really as all other filters are then disabled including Avisynth. Make sure you enable all your needed codecs in the codecs tab.
CoreAVC users must select the h.264 option in ffdshow as disabled and then enable RAW video to all supported. Then start MPC, options and click on external filters and add ffdshow as 'preferred'. This allows CoreAVC to do the decoding with the GPU, then passing the video to ffdshow for filtering using the CPU.
Everyone should be able to play a video now. And onto customising we go. The ffdshow tabs on the left hand side also dictate the order the filters are applied to the video. If using interlaced video, arrange Deinterlacing furthest up, use Yadif without doubling framerate, next comes picture properties for altering colour etc. Then Avisynth. All other filters go underneath. Especially Resize, we don't want to waste CPU power by processing a large upscaled video when we can process a smaller video and then upscale it afterwards. In the Output tab check high quality conversion, in the rgb conversion tab, check the same and uncheck Dithering. Now we should have ffdshow configured apart from the Avisynth tab.
To set up Avisynth, download:
Working stable MT for mutithreading here:
http://www.mediafire.com/file/nnbngf...isynth258MT.7z
Put the avisynth.dll in your system32 folder or SysWOW64 (if using 64 bit) if you aren't prompted to replace the original your putting it in the worng place, put the other dlls in your plugins folder (including MT) in the Program Files Avisynth directory replacing the originals.
System dlls to stop ffdshow crashing here:
http://www.megaupload.com/?d=SP5FE2KG
Place them in your system32 or SysWOW64 folder. For some reason, without these, Avisynth+ffdshow=crash.
Framedoubling plugin here:
http://avisynth.org.ru/mvtools/mvtools2.html
The link is at the bottom of the page. put it in your Avisynth plugins directory.
Everything is in place, hopefully. Open up ffdshow and check the Avisynth tab. Uncheck add ffdshow video source, check YV12 only. Buffer back ahead varies with different people, best to keep this checked and start with 0/10 but experiment with 10/10 or 0/24 or whatever suits you.
Now add this script to the box:
SetMemoryMax(1280)
SetMTMode(5,4)
ffdShow_source()
SetMTMode(2)
super=MSuper(pel=1, hpad=0, vpad=0)
backward_1=MAnalyse(super, chroma=false, isb=true, blksize=16, blksizev=16, searchparam=3, plevel=0, search=3, badrange=(-24))
forward_1=MAnalyse(super, chroma=false, isb=false, blksize=16, blksizev=16, searchparam=3, plevel=0, search=3, badrange=(-24))
backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, blksizev=8, searchparam=0, search=3)
forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, blksizev=8, searchparam=0, search=3)
MBlockFps(super, backward_2, forward_2, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=0)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last
For 60fps, change:
MBlockFps(super, backward_2, forward_2, num=FramerateNumerator(last)*2, den=FramerateDenominator(last)*1, mode=0)
to
MBlockFps(super, backward_2, forward_2, num=60, den=1, mode=0)
For the ultimate smoothness, make sure that num=x where x being a multiple of your monitor refresh rate. For example if you have 100hz monitor you want 50fps or 100fps. If you have a 120hz monitor you want 60fps or 120fps.
For Quad-Core users, change SetMTMode(5,4) to SetMTMode(5,8)
Changing mode=0 to mode=2 will reduce artefacts but to me its not perfectly smooth and it sucks cpu, I keep it on 0.
Now for changing it for your liking, the lower the searchparam number, the less the artifacts but less smooth, anything higher than 2 gives nice smoothness. Also the plevel=0 can be changed up to plevel=2 for minimal artifacts but less smooth movement. If you think you still have enough cpu power, change pel=1 to pel=2 for better motion accuracy, it reduces some artefacts with no affect on smoothness (this eats cpu like the effing cookie monster!).
For the best enjoyment:artifact ratio, best keep the script as it is unless you have more power and you can apply the alternatives.
Post by widezu69, forums.guru3d.com