Tom Speirs Posted February 18, 2018 Share Posted February 18, 2018 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. 1 Link to comment Share on other sites More sharing options...
funkyman Posted February 20, 2018 Share Posted February 20, 2018 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 More sharing options...
Tom Speirs Posted February 20, 2018 Author Share Posted February 20, 2018 Ive done literally no testing at 4k. The new version is out if you wanted to try though. Link to comment Share on other sites More sharing options...
funkyman Posted February 20, 2018 Share Posted February 20, 2018 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 More sharing options...
Tom Speirs Posted February 20, 2018 Author Share Posted February 20, 2018 Please try 2.62 Thanks. Link to comment Share on other sites More sharing options...
rablack97 Posted February 20, 2018 Share Posted February 20, 2018 Startup sound get fixed in 2.62 i can test that Link to comment Share on other sites More sharing options...
rablack97 Posted February 20, 2018 Share Posted February 20, 2018 Nice @Tom Speirs startup sound works now, i think you updated it to where it only plays when a table sound is not available so they both don't overlap...cool beans good to have this back Link to comment Share on other sites More sharing options...
fwiler Posted February 20, 2018 Share Posted February 20, 2018 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 More sharing options...
funkyman Posted February 22, 2018 Share Posted February 22, 2018 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 More sharing options...
Outhere Posted February 22, 2018 Share Posted February 22, 2018 Link to comment Share on other sites More sharing options...
funkyman Posted February 22, 2018 Share Posted February 22, 2018 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 More sharing options...
Tom Speirs Posted February 23, 2018 Author Share Posted February 23, 2018 Please try the attached and post a new log. It probably wont resolve it but its a step forward. PinballX.zip Link to comment Share on other sites More sharing options...
funkyman Posted February 23, 2018 Share Posted February 23, 2018 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 More sharing options...
Tom Speirs Posted February 23, 2018 Author Share Posted February 23, 2018 I did find another issue. Please try attached. PinballX.zip Link to comment Share on other sites More sharing options...
funkyman Posted February 23, 2018 Share Posted February 23, 2018 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 More sharing options...
Tom Speirs Posted February 25, 2018 Author Share Posted February 25, 2018 Okay, I found the leak. Please try attached. PinballX.zip Link to comment Share on other sites More sharing options...
funkyman Posted February 26, 2018 Share Posted February 26, 2018 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 More sharing options...
Recommended Posts