-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ram fills up #1
Comments
E: (in the slim chance any NV engineers might see this after my report, the initial build found at https://github.com/emoose/VideoRenderer/releases/tag/rtx-1.0 should display the issue, or to build from source use a684e0a) Confirmed on my side too, memory usage grows slowly after playback begins, but after 30 seconds or so suddenly ramps up to GBs of use, disabling SuperRes in NVCP stops it happening. Seems really consistent too, one video I got would shoot up to 10+GB ram usage at the exact same moment every time I played it. Do you know what codec the video you tried with uses? it seemed to only happen with h265 for me, h264 1080p worked fine without memory issue. MPC-HC also crashes if I try closing after the memory issue, and mentions nv_disp having an error, might be the issue is on NV's side, possible they didn't test all of h265 since browsers don't really support all of it afaik. E: could be something to do with |
You can disable P010 output in LAV Video Decoder. You also need to change hardware decoder from Native to Copyback. Some suggested code:
In addition to limiting the colorspace format, you may need to check which DXGI_FORMAT values are working good. You can select 8/10/16 bit texture format in the settings to test. |
Aha looks like that did the trick, video that ballooned to 10GB+ RAM now stays at 300MB or so, using NV12 instead of P010, thanks for the info! Guess this could be worth reporting to NV, not sure how amused they'll be about a bug report for this though, but hopefully they'll at least try looking into it. (E: submitted to their feedback form)
Ah good idea, will look into adding it soon. P01X workaround: You can convert Didn't have much luck with MPC-BE's internal filter, but you can install LAV Filters from https://github.com/Nevcairiel/LAVFilters/releases and follow the same steps in https://www.youtube.com/watch?v=GaQvHLRVxgs to add them into MPC-BE, and use the Note that this will downsample any 4:4:4/4:2:2 content down to NV12's 4:2:0, resulting in chroma subsampling prior to being scaled by VSR - apparently isn't that noticeable to most people but is still a slight downgrade. Alternatively you could just only clear the 4:2:0 row (except NV12) and keep the other rows enabled, should make it so only 4:2:0-native videos will be converted to NV12 and passed to VSR, while 4:4:4 / 4:2:2 will keep their color format and be skipped by VSR instead. Hopefully NV might consider supporting more color formats in future as more non-browser apps start making use of it. |
D3D11 decoder uses Native by default. But you can let it do Copyback by selecting a hardware device below it. Test if it works in your browser with HDR videos on Youtube. Those files use 10-bit VP9 or AV1 video. Additionally, you can also use this for vendor specific code segments: |
Hm not noticing much with HDR videos, GPU usage stays flat with them, couldn't notice any difference toggling it neither, maybe they disable those in browsers somehow.
Added some checks for that earlier in 41c757e :) What I'd really like to find is some way to tell if SuperRes is actually active, since atm the code there would display Doesn't look like |
YES. confirmed issue only with h265 videos. Fix of clsid2 does solve it |
@clsid2 added your suggestions in 4e2e160 - seemed VSR was still working on some interlaced clips I tested though so removed the interlaced check. Made it only check for P010/P016 too since we know those are likely faulty, if it's found that other formats are also having issues we can make it only allow NV12 though. |
Can you guys test with YUY2 and RBG32 input? |
Oh good idea, with YUY2 it still requests VSR but doesn't look like it's active, low power draw & no difference toggling in NVCP. RGB32 didn't seem to request it, doesn't look like MPCVR is using VP for that since it mentions using shaders, wonder why... |
Also test the effect Your release notes mentioned that dithering should be disabled. Is that really true? Any idea why this breaks VSR? You might have used 10-bit video when testing this. |
I noticed it was stopping VSR from working early on but not sure what video I was trying that with, just gave it another try and seemed to work fine with each video I tried now, guess that part can be removed to simplify the install. Also in early tests 10/16-bit formats didn't seem to be working, the release page did mention changing it to 8-bit initially, but after trying some other videos it seems to be fine with any of the texture formats MPC-VR allows choosing, so removed that part from it. |
Next step to test is input size and aspect ratio limitations. What I have read so far VSR works for video with size up to and including 1080p. But maybe real max is 1440p on 4k screen. I also saw somewhere that it might now work for vertical video (height>width). A good way to test with any size you want is to use ffdshow. Install ffdshow. You only need its raw video processing filter. Add that as a preferred external filter in MPC-HC. This filter has a resizing option where you can enter any desired size. So easy to test for example something slightly larger than 1080p, or to create a vertical video, with any input file you want.
|
Not having much luck with ffdshow using rev4533 it seems, added the "ffdshow raw video filter" as preferred external filter and enabled resizing in the ffdshow config, tested at 640x480 but video looks the same, and MPC-VR stats still shows the original video resolution there... Tried testing a 4K video with desktop resolution at 5120x2880 via NV DSR, with superres disabled hwinfo showed it at ~80w, enabling it bumped it up to ~96w, toggling it in NVCP seemed to increase/drop the usage as I clicked it so guessing something is being activated there, but really couldn't see any difference in the output (image diff tools show them as identical too...) Probably is worth adding some kind of check to save people from wasting power on it. |
ffdshow should show up here when active: You can use Ctrl+E to quickly reload a video in MPC-HC. That may help if dynamic size changes do not work. I doubt it is doing something useful with such minor power increase. Certainly for 4k input. |
Maybe it's Tried adding guid for it to the mediatypes but that didn't seem to help neither, I noticed if I start playback with YUY2 and then change filters to use NV12 it does seem to keep the resize & MPC-VR says it's NV12 too, but kinda doubtful things are all being applied properly with that. |
Try with YV12 input and let ffdshow output NV12 |
Barely any difference. What is the extra power draw? |
My Mpc hc player disabled HDR in windows cp all the time when I start playing video. I cant have HDR enabled in windows cp? |
About 10w, went from ~87w to ~97w when toggling it. Might be even worse with the older cards though, saw some people saying it can reach 200w-300w for them but mines never gone near that high (highest I've seen on mine is maybe 150w or so)
Maybe try changing the settings in MPC-VR properties page (the window shown at #5 (comment)), there's some HDR related things there but not sure how much they might help. |
It is the renderer that disables HDR, not the player. The option in the renderer controls it. |
Ok but it is necessary? In MadVR i can enable hdr in windows cp and play any video. |
No, you adjust renderer options to not disable it. But it can potentially give you incorrect colors. |
So in lav: |
NV12 checked. If you want to process 10-bit video you need to uncheck P010 and the other 10/16-bit formats in LAV. Leave the settings under "Shader video processor" as default. Those scaling algorithms are NOT used because scaling is done by DXVA2/D3D11 video processor! |
@kolunio82 |
Seems like 531.26 hotfix might not be applying VSR to P010 at all anymore, so ram issue doesn't happen, can anyone else who had the ram issue before confirm? (you'd need to use the older RTX MPC-VR that didn't check for P010 to test: https://github.com/emoose/VideoRenderer/releases/tag/rtx-1.0) So for P010 you'd still need to do the same as what we suggest here, using LAV to convert P010 to NV12 instead. Still hopeful they'll add proper support for P010 in future (seeing as VSR did seem to apply fine to it before besides the memory leak...) Hotfix links can be found here: https://www.reddit.com/r/nvidia/comments/11l92kg/geforce_hotfix_driver_version_53126/ |
So how can I configure lav exactly? |
It's mentioned in bottom part of #1 (comment) |
When i enable hdr in wibdows, not mpc hc, settinga vsr don't work. I need to have hdr disabled in windows all the time? :( |
@kolunio82 try the rtx-1.2 build at #5 (comment), seemed to help others with the same issue. |
Thank you very much. Its working. Vsr dont support Apple prores? I have few videos in this format and Vsr its not available. |
ProsRes is usually 10-bit which means you have to use the P010 workaround. |
So what shoud I do exactly? Im sorry for noob question. Im not advanced user. |
Hi, are these fixes for P010 and HDR still required? I just got the latest nvidia driver update (545.84) which enabled support for 20 series. Just checking if there were any changes or hotfixes made since this was last released. Thanks. |
can i use vsr on a 4k video? |
Ram fills up when playing 1080p videos on 2560*1600 screen. At whatever quality setting. Device: Laptop with 32GB and 3070 gpu
The text was updated successfully, but these errors were encountered: