Log in

View Full Version : Media Player .NET (MPDN) - D3D HQ GPU Video Renderer [v2.49.0/v1.31.0 27 Dec 2018]


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 [84] 85 86 87 88 89 90 91 92 93 94 95 96

pirlouy
22nd July 2016, 18:11
I can't + I'm not interested to be honest.
Plus with my gmail address, I suppose you would not get the mail either + I would be surveyed.

Indeed, your government tends to block github: https://en.wikipedia.org/wiki/Censorship_of_GitHub (oh well, Wikipedia must be blocked too :/)

GL avoiding the Great Firewall.

Zachs
22nd July 2016, 21:55
The extensions are available on mpdn.zachsaw.com too btw.

suanm
23rd July 2016, 09:38
that's ok.pirlouy and Zachs.I'm gonna give it up,because I can't get hold of the player 'MPDN.dotnet and its extension version' .Thanks for the hints you both gave

Sephiroth_FF
7th August 2016, 06:47
Hi, I have been using MPDN for more than a year and it was really the best player IMHO so a big thanks to @Zachs and everyone involved. I do not know if you are accepting feature request at this time if not, I am very sorry.

First request, I do know LAV splits HDR metadata in version 0.68, so I wandered if you can could have a quick look at this page: https://developer.nvidia.com/high-dynamic-range-display-development you can download the HDR SDK at the bottom of the page (there is also links to blog posts on how NVIDIA implements HDR). It's the source code of NVIDIA's implementation of HDR display mode. Could you see if it is feasible to add support of HDR in MPDN.
Edit: Microsoft has released the Windows 10 Anniversary Update that include DXGI 1.5 with vendor agnostic HDR10 and WCG support at the bottom of this page: https://msdn.microsoft.com/en-us/library/windows/desktop/mt742103(v=vs.85).aspx

Second request, if you ever move the player to DirectX 12 could you also support DX12 Multiadapter there's even been a abstraction layer released recently to support that feature: https://github.com/Microsoft/DirectX-Graphics-Samples/tree/master/Samples/Desktop/D3D12LinkedGpus and of course, OpenCL is already multi-gpu capable, I know all the synchronization will make all this extremely complex and nearly impossible but, hopefully one day your player could the first to support a multi-gpu rig.

Thank you
Sephiroth_FF

Edit: Sorry just found out about Mantis (http://mpdn.zachsaw.com/bug/view_all_bug_page.php) for feature requests will post there later.

amayra
11th August 2016, 13:53
if you add image viewer mod with keyboard shortcuts this well be great

qjb2016
20th August 2016, 02:26
hi, I'm new user , I'm try the MPDN to the anamorphic lens ,but unsatisfy .

madvr Support the anamorphic lens is very good!

Who knows what's going on? Thanks!

Shiandow
22nd August 2016, 19:32
So what exactly goes wrong, does the image look stretched or is there something else wrong?

qjb2016
23rd August 2016, 01:36
So what exactly goes wrong, does the image look stretched or is there something else wrong?

Can not automatically cut the black edge to do stretching
Can not customize the deformation ratio 1.33X or 1.25X .eg

Anima123
26th August 2016, 20:02
Super-XBR on its own creates ugly halos but combined with SuperRes it works quite well except with geometric forms and straight lines.

This quote is from other thread, which explained why I didn't like SuperRes much if the video has hard-coded subtitles.

Is there's anything that can be improved on SuperRes to get better quality around lines like hard-coded subtitles?

Zetti
26th August 2016, 20:27
One problem with "Multichannel ASIO DirectShow Renderer"??

I have enabled it in Audio Render, How to set the settings for the render??

Shiandow
26th August 2016, 23:09
This quote is from other thread, which explained why I didn't like SuperRes much if the video has hard-coded subtitles.

Is there's anything that can be improved on SuperRes to get better quality around lines like hard-coded subtitles?

Well, for a start you could try to explain why you don't you like what SuperRes does to hard coded subtitles, and what you'd prefer. Might also be worth trying SSSR, I've made some small improvements to it, which should be online soon (be sure to reset to the default settings).

Zachs
27th August 2016, 00:07
Can not automatically cut the black edge to do stretching
Can not customize the deformation ratio 1.33X or 1.25X .eg
Customise deformation ratio? If it's the same as aspect ratio, you can definitely do that.

Letterboxing options allow you to get rid of black bars.

Garteal
27th August 2016, 21:00
Finally tried out SSSR (the latest) and it's generally very pleasing and a tad sharper than SuperRes by itself.
Upon further inspection though (and most noticable on hardcoded characters (http://screenshotcomparison.com/comparison/182600)), it seems to 'miss' some of lighter lines.
Turning the "locality" option down seems to help, but everything else gets even thicker, so not the ideal way to combat it.
There's also some curves that become a lil trapezoid.

Just some pixel-peeving observations here.

Compared to SuperRes, SSSR fortunately doesn't seem to be as resource intensive as I thought.

Shiandow
27th August 2016, 22:42
Upon further inspection though (and most noticable on hardcoded characters (http://screenshotcomparison.com/comparison/182600)), it seems to 'miss' some of lighter lines.

Do you mean the small features inside some of the characters? Because I fear those should be considered 'lost'. There's no way to distinguish between a small black feature on a white background and a bigger grey feature on the same background. It might be possible using character recognition and deep neural nets, but that's far beyond what you can reasonably do in real time.


Compared to SuperRes, SSSR fortunately doesn't seem to be as resource intensive as I thought.

Yeah, the algorithm is relatively simple, seems to need less iterations to converge, and doesn't need softening*. So for most use cases it should be faster than SuperRes.

*in fact it functions as a deringing algorithm, which is why by default the prescaler doesn't even have anti-ringing enabled, if you try to do this with SuperRes you'd get massive amounts of ringing.

aufkrawall
28th August 2016, 14:36
To the coding gods here:
Wouldn't features like expensive scaling and postprocessing be an ideal combination for GCN's Async Compute (shaders) capabilities?
We have a lot of graphics and compute load at the same time, e.g. NNEDI3 + SuperRes. One could also run postprocessing shaders in compute queue.

Shiandow
28th August 2016, 16:24
To the coding gods here:
Wouldn't features like expensive scaling and postprocessing be an ideal combination for GCN's Async Compute (shaders) capabilities?
We have a lot of graphics and compute load at the same time, e.g. NNEDI3 + SuperRes. One could also run postprocessing shaders in compute queue.

Well, performing tasks asynchronously is only advantageous if MPDN somehow couldn't manage to drive the GPU to maximum load by delivering tasks sequentially, however unlike with games MPDN can easily predict its tasks in advance and should be able to push tasks to the GPU as fast as the GPU can handle them. Now maybe Async compute allows the GPU to prepare the next shader while its busy computing the previous one, which could improve performance, but I haven't seen anything to support that.

Garteal
28th August 2016, 17:08
Do you mean the small features inside some of the characters? Because I fear those should be considered 'lost'. There's no way to distinguish between a small black feature on a white background and a bigger grey feature on the same background. It might be possible using character recognition and deep neural nets, but that's far beyond what you can reasonably do in real time.
Yep I can understand that, though to be fair SSSR does seem to do its job there as well.

I was more towards this
http://i.imgur.com/ySRphYr.png
Red gets better coverage than green, but I suppose red has a 'darker' color which fits the criteria?


Yeah, the algorithm is relatively simple, seems to need less iterations to converge, and doesn't need softening*. So for most use cases it should be faster than SuperRes.

*in fact it functions as a deringing algorithm, which is why by default the prescaler doesn't even have anti-ringing enabled, if you try to do this with SuperRes you'd get massive amounts of ringing.
Cool, cause I actually enabled anti-ringing but saw no effect. Guess I can leave that off.

Zachs
28th August 2016, 23:11
Well, performing tasks asynchronously is only advantageous if MPDN somehow couldn't manage to drive the GPU to maximum load by delivering tasks sequentially, however unlike with games MPDN can easily predict its tasks in advance and should be able to push tasks to the GPU as fast as the GPU can handle them. Now maybe Async compute allows the GPU to prepare the next shader while its busy computing the previous one, which could improve performance, but I haven't seen anything to support that.
To top it off, AsyncCompute is a DX12 feature. A lot of the image processing shaders are still in SM3. And the last time I checked, DX12's interop support isn't great because it's not meant to be used with other APIs.

The conclusion was to use AsyncCompute, the most logical choice would be to ditch the current engine and rewrite it in DX12. All shaders would have to be rewritten as well. Not sure how well DX12 does interop with OpenCL and still benefit from AsyncCompute.

lanzorg
28th August 2016, 23:41
The conclusion was to use AsyncCompute, the most logical choice would be to ditch the current engine and rewrite it in DX12. All shaders would have to be rewritten as well. Not sure how well DX12 does interop with OpenCL and still benefit from AsyncCompute.

And why not Vulkan?
It's still pretty verbose but it will not be limited to Windows!

Zachs
28th August 2016, 23:44
Vulkan is an AMD specific API... I could be wrong but from memory it also doesn't do AsyncCompute when running shaders designed for other APIs.

aufkrawall
28th August 2016, 23:48
Alright, thanks for your evaluation, guys. Appreciate it!

lanzorg
29th August 2016, 00:00
Vulkan is an AMD specific API... I could be wrong but from memory it also doesn't do AsyncCompute when running shaders designed for other APIs.
Vulkan is derived from and built upon components of AMD's Mantle API.
But it evolved a lot the last years with Khronos.

Zachs
29th August 2016, 00:11
Ah I was thinking of Mantle... But the problem is still the same. With a video player like MPDN where a lot of interops need to take place per frame, AsyncCompute really doesn't work very well.

lanzorg
29th August 2016, 00:29
Ah I was thinking of Mantle... But the problem is still the same. With a video player like MPDN where a lot of interops need to take place per frame, AsyncCompute really doesn't work very well.
Are you sure it will need to keep this OpenCL interop with Vulkan or DX12?

Zachs
29th August 2016, 00:49
Are you sure it will need to keep this OpenCL interop with Vulkan or DX12?
Definitely. And not just OpenCL, it's everything else from SM3 to DirectCompute. MPDN extensions expect interops to work transparently.

Shiandow
29th August 2016, 03:46
To top it off, AsyncCompute is a DX12 feature. A lot of the image processing shaders are still in SM3. And the last time I checked, DX12's interop support isn't great because it's not meant to be used with other APIs.

The conclusion was to use AsyncCompute, the most logical choice would be to ditch the current engine and rewrite it in DX12. All shaders would have to be rewritten as well. Not sure how well DX12 does interop with OpenCL and still benefit from AsyncCompute.

On a somewhat tangentially related note, I noticed it's possible to compile ps_3_0 shaders as ps_5_0 when you enable the backwards compatibility flag (/Gec when using fxc). Not sure if that's something useful for MPDN; I haven't checked if it affects performance (although in theory it could). In theory this would allow shaders to use more registers etc. although if you go past the official limits the shader will no longer compile for older GPUs (although the alternative is that the shader won't work at all).

Shiandow
29th August 2016, 03:51
I was more towards this
http://i.imgur.com/ySRphYr.png
Red gets better coverage than green, but I suppose red has a 'darker' color which fits the criteria?

Could just be a matter of getting lucky with the pixel boundaries, depending on where a thin black line ends up it could be a 2 pixel wide gray line or a 1 pixel wide black line, detecting the difference isn't particularly easy (sometimes possible, and SSSR tries it best, but it's impossible to always get it right).

XRyche
29th August 2016, 18:01
Still no Windows Media Remote Control support?

Zachs
1st September 2016, 04:30
Just a quick update - I'll release a new version MPDN extensions when I get the chance. Currently on a very limited data plan.

Anima123
5th September 2016, 03:10
Now I am quite satisfied with the following render chain settings, thanks Shiandow & Zachs bringing us flexible settings that make it possible:
<ListOfPresetOfITextureFilterIRenderScript xmlns:yaxlib="http://www.sinairv.com/yaxlib/">
<PresetOfITextureFilterIRenderScript Name="Bilateral" Guid="326be196-0220-4e3f-b1f8-ee9efa5fd033">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Shiandow.Bilateral.BilateralUi">
<Settings>
<Strength>0.5</Strength>
</Settings>
</Script>
</PresetOfITextureFilterIRenderScript>
<PresetOfITextureFilterIRenderScript Name="Deband" Guid="6554618d-475a-4478-b45b-4c992856e11f">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Shiandow.Deband.DebandUi">
<Settings>
<maxbitdepth>8</maxbitdepth>
<power>0.5</power>
<grain>False</grain>
</Settings>
</Script>
</PresetOfITextureFilterIRenderScript>
<PresetOfITextureFilterIRenderScript Name="SSSR" Guid="d8d36e98-df33-4a02-8934-258ec6948a56">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Shiandow.SuperRes.SSSRUi">
<Settings>
<PrescalerGroup>
<SelectedIndex>2</SelectedIndex>
<Hotkey></Hotkey>
<Options>
<PresetOfITextureFilterIRenderScript Name="EWA Sinc-Jinc" Guid="95efb650-f467-492a-b023-3bec706f790e">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Mpdn.EwaScaler.EwaScalerScaler">
<Settings>
<TapCount>Six</TapCount>
<AntiRingingEnabled>False</AntiRingingEnabled>
<AntiRingingStrength>0.85</AntiRingingStrength>
<Scaler yaxlib:realtype="Mpdn.Extensions.CustomLinearScalers.SincJinc" />
</Settings>
</Script>
</PresetOfITextureFilterIRenderScript>
<PresetOfITextureFilterIRenderScript Name="Super-xBR (Fast)" Guid="0836bfbf-8d01-4ce0-92bd-761a9f71d65f">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Hylian.SuperXbr.SuperXbrUi">
<Settings>
<EdgeStrength>1</EdgeStrength>
<Sharpness>1</Sharpness>
<FastMethod>True</FastMethod>
<ThirdPass>False</ThirdPass>
</Settings>
</Script>
</PresetOfITextureFilterIRenderScript>
<PresetOfITextureFilterIRenderScript Name="Super-xBR" Guid="0f559010-216e-4aa4-a5d1-b43445e963d9">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Hylian.SuperXbr.SuperXbrUi">
<Settings>
<EdgeStrength>0.7</EdgeStrength>
<Sharpness>0.4</Sharpness>
<FastMethod>False</FastMethod>
<ThirdPass>False</ThirdPass>
</Settings>
</Script>
</PresetOfITextureFilterIRenderScript>
<PresetOfITextureFilterIRenderScript Name="NEDI" Guid="16455dd6-59b3-4a99-884c-d05fc81c7a72">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Shiandow.Nedi.NediScaler">
<Settings>
<AlwaysDoubleImage>False</AlwaysDoubleImage>
<ForceCentered>False</ForceCentered>
</Settings>
</Script>
</PresetOfITextureFilterIRenderScript>
<PresetOfITextureFilterIRenderScript Name="NNEDI3" Guid="590ede3c-69d1-4b74-a0aa-95363ea4e9cc">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Shiandow.NNedi3.NNedi3Scaler">
<Settings>
<Neurons1>Neurons32</Neurons1>
<Neurons2>Neurons16</Neurons2>
<CodePath>UnrolledVectorDot</CodePath>
<Structured>False</Structured>
<ChromaScalers>
<ChromaScalerPreset Name="None" Guid="08f594fe-5e3e-46e2-948a-de164536d741">
<Script yaxlib:realtype="Mpdn.Extensions.Framework.RenderChain.RenderChainUi+IdentityRenderChainUi">
<Settings />
</Script>
</ChromaScalerPreset>
<ChromaScalerPreset Name="Bilateral" Guid="4820a55f-f314-42e8-a042-c5e82a22c3e3">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Shiandow.Bilateral.BilateralUi">
<Settings>
<Strength>0.5</Strength>
</Settings>
</Script>
</ChromaScalerPreset>
<ChromaScalerPreset Name="ChromaScaler" Guid="4279ba6d-24a9-45f8-b447-b74445a17efd">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Shiandow.Chroma.ChromaScaler">
<Settings>
<B>0.3333333</B>
<C>0.3333333</C>
<Preset>MitchellNetravali</Preset>
</Settings>
</Script>
</ChromaScalerPreset>
<ChromaScalerPreset Name="EWA Chroma Scaler" Guid="764e9035-d67a-4fcb-8755-c5af2979189c">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Mpdn.EwaScaler.EwaScalerChromaScalerUi">
<Settings>
<TapCount>Four</TapCount>
<AntiRingingEnabled>False</AntiRingingEnabled>
<AntiRingingStrength>0.85</AntiRingingStrength>
<Scaler yaxlib:realtype="Mpdn.Extensions.RenderScripts.Mpdn.EwaScaler.EwaScaler+JincScaler" />
</Settings>
</Script>
</ChromaScalerPreset>
<ChromaScalerPreset Name="NNEDI3 Chroma Doubler" Guid="d7b65505-6951-474e-8d26-6fc7ef0dbc0c">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Shiandow.NNedi3.Chroma.NNedi3ChromaScaler">
<Settings>
<Neurons1>Neurons16</Neurons1>
<Neurons2>Neurons16</Neurons2>
<CodePath>ScalarMad</CodePath>
<Structured>False</Structured>
</Settings>
</Script>
</ChromaScalerPreset>
<ChromaScalerPreset Name="OpenCL NNEDI3 Chroma Doubler" Guid="5f70af35-dbf9-42d4-83f6-3512b36ecf4b">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Mpdn.OclNNedi3.Chroma.OclNNedi3ChromaScaler">
<Settings>
<Neurons1>Neurons16</Neurons1>
<Neurons2>Neurons16</Neurons2>
</Settings>
</Script>
</ChromaScalerPreset>
<ChromaScalerPreset Name="SuperChromaRes" Guid="680279f1-9c0c-4a50-8cfa-7e3553d39514">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Shiandow.SuperRes.SuperChromaResUi">
<Settings>
<Passes>1</Passes>
<Strength>1</Strength>
<Softness>0</Softness>
<Prescaler>True</Prescaler>
<LegacyDownscaling>False</LegacyDownscaling>
</Settings>
</Script>
</ChromaScalerPreset>
</ChromaScalers>
<ChromaScalerGuid>53534bbf-4749-4599-98c0-603302772b44</ChromaScalerGuid>
</Settings>
</Script>
</PresetOfITextureFilterIRenderScript>
<PresetOfITextureFilterIRenderScript Name="OpenCL NNEDI3" Guid="ccfae239-6c17-4c01-b9ee-6faba49d28eb">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Mpdn.OclNNedi3.OclNNedi3Scaler">
<Settings>
<Neurons1>Neurons16</Neurons1>
<Neurons2>Neurons16</Neurons2>
<ChromaScalers />
<ChromaScalerGuid>00000000-0000-0000-0000-000000000000</ChromaScalerGuid>
</Settings>
</Script>
</PresetOfITextureFilterIRenderScript>
</Options>
</PrescalerGroup>
<Passes>2</Passes>
<OverSharp>0</OverSharp>
<Locality>4</Locality>
<Mode>Hybrid</Mode>
</Settings>
</Script>
</PresetOfITextureFilterIRenderScript>
</ListOfPresetOfITextureFilterIRenderScript>

SamuelMaki
5th September 2016, 11:23
Hey! Figured to give MPDN an another chance, but have couple questions first. Is there a similar output as with madVR Overlay mode? Aka taking care of the .icc profile and bypassing Windows. Also getting an error message http://anony.ws/i/2016/09/05/Sieppaa.png when installed latest 64-bit MPDN with the installer and the latest extensions installer. Using Windows 10 64-bit updated to the Anniversary if it matters.

Shiandow
5th September 2016, 11:27
By the way, I've added some new options to the extensions that need testing. They're available in the latest version of the git repository.

Firstly, I've made the linear light processing of SSSR optional, this could improve quality in some cases, although it has a tendency to exaggerate highlights (especially when using the 'sharp' mode).

Secondly, I've added a new mode for the Bilateral chroma scaler, which seems to work better in 'difficult' cases. It uses a somewhat more general mathematical model, which means it's far more resilient to bad sources. The model I used for the previous version didn't always hold (although if it did then the quality was extremely good, sometimes even better than the new mode).

Please give those a try, and tell me what you think.

Cheers.

Shiandow
5th September 2016, 12:56
Hey! Figured to give MPDN an another chance, but have couple questions first. Is there a similar output as with madVR Overlay mode? Aka taking care of the .icc profile and bypassing Windows. Also getting an error message [...] when installed latest 64-bit MPDN with the installer and the latest extensions installer. Using Windows 10 64-bit updated to the Anniversary if it matters.

The exclusive mode should be similar to MadVR's overlay mode, although I'm not sure if it bypasses windows' processing completely.

Not sure why you're getting an error. As far as I can tell the latest version of MPDN combined with the latest extensions should just work. It's also unfortunate it either works or fails completely, the loading process really needs to be made more robust at some point. Anyway, can you double-check you've got the right versions, and maybe try using the standalone files if that doesn't work?

SamuelMaki
5th September 2016, 13:34
The exclusive mode should be similar to MadVR's overlay mode, although I'm not sure if it bypasses windows' processing completely.

Not sure why you're getting an error. As far as I can tell the latest version of MPDN combined with the latest extensions should just work. It's also unfortunate it either works or fails completely, the loading process really needs to be made more robust at some point. Anyway, can you double-check you've got the right versions, and maybe try using the standalone files if that doesn't work?

Thanks for the reply!
Yes, I have tried with couple versions now actually (just the two newest installers of both MPDN and the Extensions). There actually was a previous user who mentioned this, but their English was not very clear so might have got misunderstood. The same happens with standalone/portable files, it shows that screen on load and couple more error messages after a while: http://anony.ws/i/2016/09/05/Sieppaa2.png
http://anony.ws/i/2016/09/05/Sieppaa3.png
Sorry about the Finnish language, Google translate gives:
"The destination has caused an exception"
"A reference to an object can not determine the instance of the object"
That first (second actually, after clicking "ok" from the first in previous message) will kill the application if I click it away, that second appears when I go to the settings of MPDN and try to browse the Extensions. I have successfully used MPDN quite some while back before even the November update, so that probably not helping much. I ticked clean install and tried without it as well.


EDIT: Same happens with 2.45.5 and the 1.25 Extensions (API 8) so the new API probably not to blame.

Shiandow
5th September 2016, 14:43
Right, clearly something has gone pretty badly wrong.

Now I suspect ticking 'clean install' has already done this, but if you want to make really sure you could try uninstalling MPDN. Then removing everything in "%LocalAppData%\MediaPlayerDotNet" (make a copy if you want to use those settings later). Copy the MPDN standalone files in an empty directory. Try to see if it works. Then copy the Extension files. And see if it still fails.

You could also try to use DebugView (https://technet.microsoft.com/en-us/sysinternals/debugview.aspx) while running MPDN to see if that gives any information on what went wrong.

SamuelMaki
5th September 2016, 15:11
Alright, removed the folder manually, uninstalled MPDN and downloaded the latest portable version of both, installed to my Documents directory in an empty folder just to be safe, turned the debugging on inside MPDN and got the following error messages:
http://pastebin.com/xEr9pVr3
Again, sorry for the Finnish language, but the codes of the errors should be enough to understand? Basically it is complaining about mscorlib as far as I can tell.

Shiandow
5th September 2016, 16:10
Hmm, those error messages just look like the aftermath of whatever went wrong, not the actual problem itself. If you use DebugView it might be possible to get some more detailed information.

Zachs
5th September 2016, 22:55
I'll have a quick look to see if loader errors are dumped out onto debug stream. I think they are. Will make sure.

Wonder if it's possible to redirect via command line to a file...

Shiandow
5th September 2016, 23:21
A crashdump would probably help a lot.

As far as I can tell the errors SamuelMaki managed to recover are not the source of the problem, only weird thing I can find is that it's initializing the "Settings" field only to subsequently dispose of it. It might be better to initialize the field during the creation to prevent this kind of thing from happening (will probably add this to a pull request when I have some more important changes), but the main problem seems to be that somewhere it fails to create an object, which isn't supposed to happen.

It would also be nice if one error during the loading didn't take out all extensions. That would at least make it easier to tell which one failed. And eventually we're going to need some way to selectively enable/disable extensions, anyway.

Zachs
5th September 2016, 23:31
The trouble is those sort of errors that occur only on one PC usually mean the framework itself also fail to get loaded.

The only thing that would be helpful for that particular instance is the loader error message which doesn't come with the exception message itself.

Shiandow
6th September 2016, 00:03
In this case it seems the framework managed to load, at least partially. Something seems to have gone wrong when initializing the extensions.

So, what stages are there in loading the extensions? I suspect there will first be some kind of initialisation where you load the dll, after or during that step the static classes are created, then after that the extension classes are created, and initialized. It should at least be possible to figure out at what stage things go wrong.

Zachs
6th September 2016, 00:27
Yeah I agree there needs to be better error reporting when it comes to extensions loading...

I'll see what I can do.

foozoor
13th September 2016, 14:07
It seems I am not alone with the black screen issue on Intel/AMD hybrid laptops!
http://imgur.com/a/LJDnm

sauma144
22nd September 2016, 06:53
It seems I am not alone with the black screen issue on Intel/AMD hybrid laptops!
http://imgur.com/a/LJDnm
I am the one who created this imgur album.
Is there a way to fix this weird issue?

Zachs
22nd September 2016, 06:56
Is this something like Optimus?

sauma144
22nd September 2016, 07:02
Is this something like Optimus?

Probably but I am not an expert.
Only the intel hd 3000 is working with MPDN.
If I set to use the AMD card I get blackscreen. :\

Zachs
22nd September 2016, 07:05
It might only work if you have an external monitor. Otherwise it's dependent on the driver doing the right thing to copy the video frame buffer to Intel one for final display.

Hybrid GPU setup as is currently implemented is the worst technology ever!

sauma144
22nd September 2016, 07:17
I know the technology is ugly and caused a lot of weird behaviors.
I mostly watch videos on external monitor and I get blackscreen too.

However it works with other players/renderers perfectly.
I don't know why MPDN doesn't identify all the GPUs in Graphics Adapter.
Is it working with SLI/CrossFire setups?

Zachs
22nd September 2016, 07:25
I know the technology is ugly and caused a lot of weird behaviors.
I mostly watch videos on external monitor and I get blackscreen too.

However it works with other players/renderers perfectly.
I don't know why MPDN doesn't identify all the GPUs in Graphics Adapter.
Is it working with SLI/CrossFire setups?
MPDN simply presents all adapters as given by D3D. If it's not there, it means the driver hasn't reported it to the API.

Crossfire/SLI unfortunately doesn't work too well when it comes to having to present a frame at a required time window. The APIs don't allow individual control of the cards.

sauma144
22nd September 2016, 07:36
So why does MPDN have a combobox to select the graphics adapter?
I have never seen this kind of thing with other players or renderers and it seems MPDN forces itself to use the selected adapter and that's why I get blackscreen when I use the dedicated GPU.