Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

GameEx video attract mode/screen saver not playing nice with MAME d3d


kemikal

Recommended Posts

Hi,

I have an issue with my setup which I've tested thoroughly and can re-create it (i.e. it's not random).

I have 2 machines, both Windows 10 x64, one has an AMD card the other NVIDIA, issue happens on both.

All drivers are up to date and I have the latest DirectX installed along with older DirectX9 versions.

I have the latest version of LAV filters (0.72 x86/x64) installed with the recommended tick boxes checked.

My systems are lean and only used for gaming.

All emulators (MAME v0.200, RetroArch v1.7.4, etc...) are working fine outside GameEx (v15.37) and to be fair work perfectly inside GameEx too. GameEx is an excellent bit of software.

This issue/bug is only linked to when the video screen saver kicks in within GameEx and then you start a MAME game in d3d mode.

I have GameEx's in-built video attract mode/screen saver kick in when there is no activity in the menu ui, it's set to play videos only (MP4 format) and these play fine as they should, however when you exit the screen saver and go to load a MAME game all I get is black screen and I can hear the game in the back ground, however the game sounds like it's running at 10 fps.

To see what's happening in the background I set GameEx to run in windowed mode and did the same with MAME via the config file, I wait for the screen saver to kick in, exit the screen saver and start a MAME game and see a command prompt window with a line repeating "Unable to create/initialise the Direct3D device".

In MAMES's config I have the video mode as d3d as this works best for me (use of HLSL and no slow downs with bezel artwork), if I change the mode to opengl or bgfx and start up GameEx wait for the screen saver to kick in, exit screen saver and start a MAME game, the game loads up fine in full screen and window mode. Switch back to d3d in the MAME config file and the issue re-occurs everytime.

It seems like GameEx's video screen saver has an effect on Direct3D/DirectX - it does not allow the follow on process (in this case MAME with d3d) to initialise the Direct3D device?

Other emulation is carried out via RetroArch and this runs in gl video mode so I have no issues with that setup via GameEx.

I am currently away from my gaming setup so haven't got access to the log files, Gamex.ini, screen shots etc... but thought I'd post this in the mean time in case @Tom Speirs or someone else has any input on this?

Regards

Link to comment
Share on other sites

The GameEx screen saver is set just to play videos, no MAME. The videos play fine, when you exit the screen saver and load a MAME rom the screen goes black and the game can be heard in the background running at a really low framerate, this is when both GameEx and MAME are set to fullscreen. When both are set to window mode, do the same i.e. wait for the screen saver to kick in, exit screen saver and run a MAME game you  see a command prompt window with a line repeating "Unable to create/initialise the Direct3D device". This only effects when MAME has d3d mode in its config file.

Link to comment
Share on other sites

1 hour ago, biric said:

I have the same problem, sadly the attached version did not fix it on my setup.

Thanks for looking at it though!

 

If reporting the same issue, please attach copies of your gameex.ini and log.txt files. You will be surprised how often that an issue that looks the same may have a related, but different cause.

Link to comment
Share on other sites

I have 2 versions of MAME set up, one using Gameex's built in MAME support (which works well)  and th other one using RocketLauncher (as a 'regular' Emulator). This is the one that uses D3D HLSL and has the issue when starting after the Video- Attract Mode (or at least, that's my understanding of the matter..;)

No such problems when launched through RocketLauncher UI (or other Frontends).

Thanks for the quick Reply!

 

 

GameEx.ini

log.txt

Link to comment
Share on other sites

Hi @Tom Speirs

Just tried the GameEx in the zip file you provided in this thread and unfortunately I'm still experiencing the issue. Below are the GameEx.ini and log files with from this exe, again nothing looks sinister in the log file.

GameEx.ini

log.txt

I've reverted back to GameEx v15.40.

Upon further digging I thought I'd have a look at the LAV filter settings and do some trial and error.

Under Hardware Acceleration, when you select NVIDIA CUVID Hardware Decoder from the drop down, save the settings, start up GameEx, wait for the video only screen saver to kick in, exit screen saver and run a MAME game it works! go back to the LAV filter settings and change to the default setting of None under Hardware Decoder and go through the process again MAME (d3d) game does not start.

lav-settings-on-nvidia.png.2b41796c19933b87ea46881cae5d23a7.png

Now the above works on my PC which has an NVIDIA graphics card, as mentioned in my original post, so I could just select NVIDIA CUVID and leave it at that, case closed. HOWEVER my other setup which is a cabinet has a AMD/ATI graphics card, the LAV filter settings for this machine does not allow me to select the NVIDIA CUVID as the Hardware Decoder because it's not and NVIDIA card, I tried all the other selections in that drop down and I still experience the issue on this setup.

@biric Thanks for chiming in, sounds like you are experiencing the exact same issue as me. Do you have an NVIDIA card or AMD/ATI graphics card? And do you use the LAV filters? If you have an NVIDIA card and are using the LAV filters can you please try selecting NVIDIA CUVID as the Hardware Decoder and see if that works for you?

@Tom Speirs Yes MAME with d3d mode and video only screen saver creates the issue for me.  My gut feeling is GameEx is doing something with DirectX when the video screen saver kicks in, then when you exit the screen saver and load MAME with d3d, things break, MAME cannot utilise d3d after the GameEx screen saver, some process within GameEx is breaking DirectX. If you completely exit GameEx and start it up again, go straight to a MAME rom, load it, it works absolutely fine. MAME only breaks after the screen saver process.

 

Link to comment
Share on other sites

Could you please try running GameEx without full screen exclusive (Fulll screen windowed= true).

Also perhaps try the previous version of LAV. I am seeing a memory leak in PinballX right now and I wonder if it is a LAV issue. GameEx operates no differently regardless of what the codec setting are so I wonder if if 0.72.00 has some issues?

On what I tested on I didn't have LAV installed.

Link to comment
Share on other sites

36 minutes ago, Tom Speirs said:

Could you please try running GameEx without full screen exclusive (Fulll screen windowed= true).

Also perhaps try the previous version of LAV. I am seeing a memory leak in PinballX right now and I wonder if it is a LAV issue. GameEx operates no differently regardless of what the codec setting are so I wonder if if 0.72.00 has some issues?

On what I tested on I didn't have LAV installed.

Okaaay, so reverted LAV settings back to previous i.e. not using NVIDIA CUVID on the NIVDIA computer, changed Full screen windowed to true in GameEx .... and now the issue has gone! Applied the same setting on the AMD/ATI machine and works there too, MAME with d3d works as normal after the video screen saver.

Great, thanks @Tom Speirs

I think the LAV filters were just a red herring, I was experiencing the issue even without the the filters installed.

I've seen the Full screen windowed setting in GameEx but it's always been disabled and things have worked, not sure what's changed that I have to set it to true?

 

Link to comment
Share on other sites

There can be issues with fuill screen exclusive since I moved to SlimDX. It can lock certain things in DirectX 9 and it happens in PinballX too even with SharpDX. Im not sure of a solution currently.

GameEx should still run very smoothly without full screen exclusive. You may drop the occasional frame but I doubt you will notice a difference and it will be more reliable.

Link to comment
Share on other sites

Ahh, that's it SlimDX you mentioned that in a previous release. I think this issue started happening when you introduced SlimDX when a Windows 10 update changed a few things with DirectX.

The recent MAME 0.201 update apparently sorted the BGFX performance issues out so hopefully in the near future I will update MAME and use BGFX instead of  HLSL with D3D. I use OpenGL with everything in RetroArch and the combination works well with GameEx.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...