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

Next version


Tom Speirs

Recommended Posts

Hey all,

I have been working on moving the DirectX libraries to SlimDX from managed directX.

It may make not a difference but it is a newer library and may be more stable and offer some better performance.

I will upload once I have done some testing and fixed the startup sound issues. 

I would like to test on the cab here. Could anyone point me to some more intensive video files so I can see if performance is any better in that regard? like 60fps or UHD.

Cheers.

Tom.

  • Like 1
Link to comment
Share on other sites

Hey Tom,

Great work, thanks for doing what you do!! Any chance the new version fixes some of the 4k issues? Like, instructions card crash:

...or the crash when exiting back from a table?

 

Thanks for all your hard work! ...also let me know if you'd like to me to test anything, I'd be more than happy to be a guinea pig for testing fixes/features :)  If I have to become a lifetime member to do it, I'd be glad to be able to help!

 

Thanks!

Link to comment
Share on other sites

Quote

Ive done literally no testing at 4k.

Ah, well that would explain all the issues :) We need to get you some 4k gear! ...if you want, I can help you debug these 4k issues, that's literally what I do for a living!

Quote

The new version is out if you wanted to try though

I have tried it, and I'm still crashing at the same places.  However, the new version seems to have stripped out the callstack crash output in the log file.  When I crash now (in 4k), by opening/closing the same instruction card multiple times, my log looks like this:

Spoiler

08:20:59.6  2/20/2018:  PinballX - Version 2.61
08:20:59.8  2/20/2018:  Windows 10 Pro 64-bit (15.9GB)
08:20:59.8  2/20/2018:  Loading Settings
08:20:59.8  2/20/2018:  Initialize Component
08:20:59.8  2/20/2018:  Initialize Display
08:21:00.9  2/20/2018:  Loading PlugIns
08:21:00.9  2/20/2018:  Loaded Plugin:"DirectOutput PinballX Plugin" Version 1 By Swisslizard
08:21:09.1  2/20/2018:  PlugIn: "DirectOutput PinballX Plugin" Initialized OK
08:21:09.1  2/20/2018:  Using Plugin System Version: 1
08:21:09.2  2/20/2018:  Created DirectX BackGlass Window
08:21:09.4  2/20/2018:  Hiding Cursor
08:21:09.4  2/20/2018:  Hiding Taskbar
08:21:09.4  2/20/2018:  CPU:  Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
08:21:09.4  2/20/2018:  GPU 1: NVIDIA GeForce GTX 1080
08:21:09.4  2/20/2018:  Displays: 3
08:21:09.5  2/20/2018:  Load Game List
08:21:09.5  2/20/2018:  Loading Database: Visual Pinball
08:21:09.6  2/20/2018:  Loading Database: Visual Pinball X
08:21:09.6  2/20/2018:  Finding and matching artwork and videos
08:21:09.6  2/20/2018:  Loading Game Statistics and Scores
08:21:10.2  2/20/2018:  Main display running full screen windowed.
08:21:10.3  2/20/2018:  Loading Surfaces
08:21:10.5  2/20/2018:  Finished Loading Surfaces
08:21:10.5  2/20/2018:  Initialize Audio
08:21:10.6  2/20/2018:  Set Keyboard Controls
08:21:10.6  2/20/2018:  Initialize Joystick
08:21:10.7  2/20/2018:  Auto configure Visual Pinball
08:21:10.7  2/20/2018:  1 Joysticks Attached
08:21:10.7  2/20/2018:  Started
 

 

I use to get:

15:17:18.5  2/3/2018:  Started
15:17:28.1  2/3/2018:  Error. Exiting
15:17:28.1  2/3/2018:  Parameter is not valid.
15:17:28.1  2/3/2018:     at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
15:17:28.1  2/3/2018:     at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
15:17:28.1  2/3/2018:     at Direct2D.Direct2d.Surface.a(Bitmap& A_0, Device& A_1)
15:17:28.1  2/3/2018:     at Direct2D.Direct2d.Surface..ctor(Bitmap Image, Device Device)
15:17:28.1  2/3/2018:     at PinballX.FrmMain.d(Boolean A_0)
15:17:28.1  2/3/2018:     at PinballX.FrmMain.u()
15:17:28.1  2/3/2018:     at PinballX.FrmMain.ap()
15:17:28.1  2/3/2018:     at PinballX.FrmMain..ctor()
15:17:28.3  2/3/2018:  Disposing Plugins
15:17:28.3  2/3/2018:  Showing Taskbar
15:17:28.3  2/3/2018:  Unhiding Mouse Cursor

You can see the date is from the previous version, but you get the idea. Maybe this was by choice, but it certainly helped me isolate the issue and compare my crashes to other users.

Thanks Tom!

Link to comment
Share on other sites

I can tell you it starts up a lot faster.

I still have issues with table videos at 4k though.  This is with a 980ti and very low bitrate videos at 30fps.

I shouldn't say issues, but it is noticeably slower than when the videos are 1080p

Not a big deal, as I'm converting them all to 1080p, but it would be nice to have vlc or something else in the background playing the videos.

 

Link to comment
Share on other sites

Hey Tom,

2.62 fixes the exception handling again! Thanks and sorry it took a few days to post back.

I have noticed I’m getting a lot more “out of memory” exceptions now. I can confirm the instruction card 4K bug I reported still happens but now it’s an OOM. Call stack looks similar to before (as you can see from my previous post). Here is with 2.62

Spoiler

09:30:40.3  2/20/2018:  Out of memory.

09:30:40.3  2/20/2018:     at System.Drawing.Graphics.CheckErrorStatus(Int32 status)

09:30:40.3  2/20/2018:     at System.Drawing.Graphics.DrawImage(Image image, Int32 x, Int32 y, Int32 width, Int32 height)

09:30:40.3  2/20/2018:     at System.Drawing.Bitmap..ctor(Image original, Int32 width, Int32 height)

09:30:40.3  2/20/2018:     at System.Drawing.Bitmap..ctor(Image original)

09:30:40.3  2/20/2018:     at Direct2D.Direct2d.Surface.a(Bitmap& A_0, Device& A_1)

09:30:40.3  2/20/2018:     at Direct2D.Direct2d.Surface..ctor(Bitmap Image, Device Device)

09:30:40.3  2/20/2018:     at PinballX.FrmMain.d(Boolean A_0)

09:30:40.3  2/20/2018:     at PinballX.FrmMain.u()

09:30:40.3  2/20/2018:     at PinballX.FrmMain.ap()

09:30:40.3  2/20/2018:     at PinballX.FrmMain..ctor()

09:30:40.3  2/20/2018:  Waiting for Online Thread

09:30:41.9  2/20/2018:  Disposing Plugins

09:30:41.9  2/20/2018:  Showing Taskbar

09:30:41.9  2/20/2018:  Unhiding Mouse Cursor

09:30:41.9  2/20/2018:  Bye

I’ve pulled up memory for GPU and system but it doesn’t even come close to maxing out either. GPU (GTX1080) sits around 10% used and the system mem is around 30% in use at time of crash.

Did anything change to your memory management system? My first thought is maybe memory fragmentation? but I’d have to differ to your knowledge about whichever system you use. Are you able to confirm if this OOM is shared or video ram? That might point to a clue.

Thanks for your hard work as usual. Let me know the best way for me to contribute, even if it’s sending you callstscks and crash dump files.

Link to comment
Share on other sites

Thanks Outhere, I did update to the lastest version (2.64).  However, still getting OOM in a bunch of situations.  It's odd because I'm nowhere close to hitting a memory wall on GPU and system Mem. Guessing something else is going on!  However, It's also apparent not a lot of people use 4k, but it's gaining popularity. The updated textures on the newer tables look amazing at 4k and it's tough to go back to 1080p. Fingers crossed Tom gets some 4k gear to test :)

Spoiler

09:18:54.5  2/22/2018:  PinballX - Version 2.64
09:18:54.6  2/22/2018:  Windows 10 Pro 64-bit (15.9GB)
09:18:54.6  2/22/2018:  Loading Settings
09:18:54.6  2/22/2018:  Initialize Component
09:18:54.6  2/22/2018:  Initialize Display
09:18:55.7  2/22/2018:  Loading PlugIns
09:18:55.7  2/22/2018:  Loaded Plugin:"DirectOutput PinballX Plugin" Version 1 By Swisslizard
09:19:03.7  2/22/2018:  PlugIn: "DirectOutput PinballX Plugin" Initialized OK
09:19:03.7  2/22/2018:  Using Plugin System Version: 1
09:19:04.1  2/22/2018:  Created DirectX BackGlass Window
09:19:04.3  2/22/2018:  Hiding Cursor
09:19:04.3  2/22/2018:  Hiding Taskbar
09:19:04.3  2/22/2018:  Real DMD Intialized
09:19:04.3  2/22/2018:  CPU:  Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
09:19:04.3  2/22/2018:  GPU 1: NVIDIA GeForce GTX 1080
09:19:04.3  2/22/2018:  Displays: 3
09:19:04.4  2/22/2018:  Load Game List
09:19:04.4  2/22/2018:  Loading Database: Visual Pinball
09:19:04.4  2/22/2018:  Loading Database: Visual Pinball X
09:19:04.4  2/22/2018:  Finding and matching artwork and videos
09:19:04.5  2/22/2018:  Loading Game Statistics and Scores
09:19:05.1  2/22/2018:  Main display running full screen windowed.
09:19:05.2  2/22/2018:  Loading Surfaces
09:19:05.4  2/22/2018:  Finished Loading Surfaces
09:19:05.4  2/22/2018:  Initialize Audio
09:19:05.4  2/22/2018:  Set Keyboard Controls
09:19:05.4  2/22/2018:  Initialize Joystick
09:19:05.6  2/22/2018:  Auto configure Visual Pinball
09:19:05.6  2/22/2018:  1 Joysticks Attached
09:19:05.6  2/22/2018:  Started
09:19:47.7  2/22/2018:  Launch System
09:19:47.7  2/22/2018:  Waiting for threads
09:19:47.7  2/22/2018:  Disposing display
09:19:50.8  2/22/2018:  C:\Visual Pinball\VPinballx.exe /play -"C:\Visual Pinball\Tables\Medieval Madness - Hanibal4k.vpx"
09:19:52.6  2/22/2018:  C:\PinballX\vpauto.exe 
09:20:04.2  2/22/2018:  Hidden Visual Pinball Editor Window
09:20:24.2  2/22/2018:  Exit System Control Pressed
09:20:35.10  2/22/2018:  Created DirectX BackGlass Window
09:20:36.0  2/22/2018:  Real DMD Intialized
09:20:36.0  2/22/2018:  Main display running full screen windowed.
09:21:29.2  2/22/2018:  Error. Exiting
09:21:29.2  2/22/2018:  Out of memory.
09:21:29.2  2/22/2018:     at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
09:21:29.3  2/22/2018:     at System.Drawing.Graphics.DrawImage(Image image, Int32 x, Int32 y, Int32 width, Int32 height)
09:21:29.3  2/22/2018:     at System.Drawing.Bitmap..ctor(Image original, Int32 width, Int32 height)
09:21:29.3  2/22/2018:     at System.Drawing.Bitmap..ctor(Image original)
09:21:29.3  2/22/2018:     at Direct2D.Direct2d.Surface.a(Bitmap& A_0, Device& A_1)
09:21:29.3  2/22/2018:     at Direct2D.Direct2d.Surface..ctor(Bitmap Image, Device Device)
09:21:29.3  2/22/2018:     at PinballX.FrmMain.d(Boolean A_0)
09:21:29.3  2/22/2018:     at PinballX.FrmMain.u()
09:21:29.3  2/22/2018:     at PinballX.FrmMain.ap()
09:21:29.3  2/22/2018:     at PinballX.FrmMain..ctor()
09:21:29.3  2/22/2018:  Waiting for Online Thread
09:21:30.7  2/22/2018:  Disposing Plugins
09:21:30.7  2/22/2018:  Showing Taskbar
09:21:30.7  2/22/2018:  Unhiding Mouse Cursor
09:21:30.7  2/22/2018:  Bye
 

 

Link to comment
Share on other sites

Hey Tom,

Thanks for the update, I just dumped the exe into the usual location and ran it. I didn't notice a version change (still 2.64), but figured it didn't matter.

yeah, still seems to crash after while. However, It seemed to take longer for it to happen this time.

Here is the log:

Spoiler

08:38:19.4  2/23/2018:  PinballX - Version 2.64
08:38:19.5  2/23/2018:  Windows 10 Pro 64-bit (15.9GB)
08:38:19.5  2/23/2018:  Loading Settings
08:38:19.5  2/23/2018:  Initialize Component
08:38:19.5  2/23/2018:  Initialize Display
08:38:20.5  2/23/2018:  Loading PlugIns
08:38:20.6  2/23/2018:  Loaded Plugin:"DirectOutput PinballX Plugin" Version 1 By Swisslizard
08:38:28.5  2/23/2018:  PlugIn: "DirectOutput PinballX Plugin" Initialized OK
08:38:28.5  2/23/2018:  Using Plugin System Version: 1
08:38:28.7  2/23/2018:  Created DirectX BackGlass Window
08:38:28.8  2/23/2018:  Hiding Cursor
08:38:28.8  2/23/2018:  Hiding Taskbar
08:38:28.9  2/23/2018:  Real DMD Intialized
08:38:28.9  2/23/2018:  CPU:  Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
08:38:28.9  2/23/2018:  GPU 1: NVIDIA GeForce GTX 1080
08:38:28.9  2/23/2018:  Displays: 3
08:38:28.10  2/23/2018:  Load Game List
08:38:28.10  2/23/2018:  Loading Database: Visual Pinball
08:38:28.10  2/23/2018:  Loading Database: Visual Pinball X
08:38:29.0  2/23/2018:  Finding and matching artwork and videos
08:38:29.1  2/23/2018:  Loading Game Statistics and Scores
08:38:29.7  2/23/2018:  Main display running full screen windowed.
08:38:29.7  2/23/2018:  Loading Surfaces
08:38:29.9  2/23/2018:  Finished Loading Surfaces
08:38:29.9  2/23/2018:  Initialize Audio
08:38:29.10  2/23/2018:  Set Keyboard Controls
08:38:29.10  2/23/2018:  Initialize Joystick
08:38:30.1  2/23/2018:  Auto configure Visual Pinball
08:38:30.1  2/23/2018:  1 Joysticks Attached
08:38:30.1  2/23/2018:  Started
08:41:23.5  2/23/2018:  Error. Exiting
08:41:23.5  2/23/2018:  Out of memory.
08:41:23.5  2/23/2018:     at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
08:41:23.5  2/23/2018:     at System.Drawing.Graphics.DrawImage(Image image, Int32 x, Int32 y, Int32 width, Int32 height)
08:41:23.5  2/23/2018:     at System.Drawing.Bitmap..ctor(Image original, Int32 width, Int32 height)
08:41:23.5  2/23/2018:     at System.Drawing.Bitmap..ctor(Image original)
08:41:23.5  2/23/2018:     at Direct2D.Direct2d.Surface.a(Bitmap& A_0, Device& A_1)
08:41:23.5  2/23/2018:     at Direct2D.Direct2d.Surface..ctor(Bitmap Image, Device Device)
08:41:23.5  2/23/2018:     at PinballX.FrmMain.d(Boolean A_0)
08:41:23.5  2/23/2018:     at PinballX.FrmMain.u()
08:41:23.5  2/23/2018:     at PinballX.FrmMain.ap()
08:41:23.5  2/23/2018:     at PinballX.FrmMain..ctor()
08:41:23.5  2/23/2018:  Waiting for Online Thread
08:41:24.2  2/23/2018:  Disposing Plugins
08:41:24.2  2/23/2018:  Showing Taskbar
08:41:24.2  2/23/2018:  Unhiding Mouse Cursor
08:41:24.3  2/23/2018:  Bye
 

Looking at memory usage in windows system, it doesn't go above 6gb (out of 16).  GPU memory doesn't seem to 2gb.  I'm not even launching any tables, just opening the instruction cards!

Link to comment
Share on other sites

Spoiler

10:59:14.6  2/23/2018:  PinballX - Version 2.64
10:59:14.7  2/23/2018:  Windows 10 Pro 64-bit (15.9GB)
10:59:14.7  2/23/2018:  Loading Settings
10:59:14.7  2/23/2018:  Initialize Component
10:59:14.7  2/23/2018:  Initialize Display
10:59:15.8  2/23/2018:  Loading PlugIns
10:59:15.8  2/23/2018:  Loaded Plugin:"DirectOutput PinballX Plugin" Version 1 By Swisslizard
10:59:23.8  2/23/2018:  PlugIn: "DirectOutput PinballX Plugin" Initialized OK
10:59:23.8  2/23/2018:  Using Plugin System Version: 1
10:59:23.9  2/23/2018:  Created DirectX BackGlass Window
10:59:24.0  2/23/2018:  Hiding Cursor
10:59:24.0  2/23/2018:  Hiding Taskbar
10:59:24.1  2/23/2018:  Real DMD Intialized
10:59:24.1  2/23/2018:  CPU:  Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
10:59:24.1  2/23/2018:  GPU 1: NVIDIA GeForce GTX 1080
10:59:24.1  2/23/2018:  Displays: 3
10:59:24.2  2/23/2018:  Load Game List
10:59:24.2  2/23/2018:  Loading Database: Visual Pinball
10:59:24.2  2/23/2018:  Loading Database: Visual Pinball X
10:59:24.2  2/23/2018:  Finding and matching artwork and videos
10:59:24.3  2/23/2018:  Loading Game Statistics and Scores
10:59:24.9  2/23/2018:  Main display running full screen windowed.
10:59:24.9  2/23/2018:  Loading Surfaces
10:59:25.2  2/23/2018:  Finished Loading Surfaces
10:59:25.2  2/23/2018:  Initialize Audio
10:59:25.2  2/23/2018:  Set Keyboard Controls
10:59:25.2  2/23/2018:  Initialize Joystick
10:59:25.4  2/23/2018:  Auto configure Visual Pinball
10:59:25.4  2/23/2018:  1 Joysticks Attached
10:59:25.4  2/23/2018:  Started
11:00:11.4  2/23/2018:  Error. Exiting
11:00:11.4  2/23/2018:  Out of memory.
11:00:11.4  2/23/2018:     at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
11:00:11.4  2/23/2018:     at System.Drawing.Graphics.DrawImage(Image image, Int32 x, Int32 y, Int32 width, Int32 height)
11:00:11.4  2/23/2018:     at System.Drawing.Bitmap..ctor(Image original, Int32 width, Int32 height)
11:00:11.4  2/23/2018:     at System.Drawing.Bitmap..ctor(Image original)
11:00:11.5  2/23/2018:     at Direct2D.Direct2d.Surface.a(Bitmap& A_0, Device& A_1)
11:00:11.5  2/23/2018:     at Direct2D.Direct2d.Surface..ctor(Bitmap Image, Device Device)
11:00:11.5  2/23/2018:     at PinballX.FrmMain.d(Boolean A_0)
11:00:11.5  2/23/2018:     at PinballX.FrmMain.u()
11:00:11.5  2/23/2018:     at PinballX.FrmMain.ap()
11:00:11.5  2/23/2018:     at PinballX.FrmMain..ctor()
11:00:11.5  2/23/2018:  Waiting for Online Thread
11:00:12.4  2/23/2018:  Disposing Plugins
11:00:12.4  2/23/2018:  Showing Taskbar
11:00:12.4  2/23/2018:  Unhiding Mouse Cursor
11:00:12.4  2/23/2018:  Bye
 

This time it happened a little sooner? Not sure if that helps! Thanks for working on this.

Link to comment
Share on other sites

Quote

Okay, I found the leak

I'd have to agree! Nice!!! I've tested for over an hour with no crashes! Thanks for looking into this, It's odd but I'm guessing increasing the memory footprint since I was running at a high res cause this leak to be exposed! I'm just so happy I can now play in 4k without having to run a process scanner to relaunch if crashed!!

Thanks Tom, you the man! ;)

Link to comment
Share on other sites

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