| Main > Main Forum |
| 2nd Display Software fail |
| (1/5) > >> |
| ids:
I put some hours into developing a flexible bit of software to drive the display embedding in my control panel. I know there are things such as Marquee Magician and MameHooker (the latter of which I use and is a very important part of my cab - in fact the code I wrote goes idle/invisible if there is a MameHooker display file for the selected game). What i find missing (maybe I am wrong) is a system that will look at what media assets are available, their sizes, aspect ratios and so on, and automatically work out the best way to display that stuff. A bit of a pipe dream to be sure, but one of the flexible aspects built in was an ability to control things, override defaults, etc. So if the normal processing did not live up to expectations for a given game, it could be overridden. It seems to me that Marquee Magician and MameHooker excel at what they do, but they require static display files. The available assests for each game tend to vary quite a bit, and I also wanted to include the Instruction Cards available from Mr Do - these tend to be zip files with several images, that may also include one or more instruction card images. So, I built the app, it was configurable, could pull images out of Mr Do's zip files, ignore (some) japanese images (not a bias, just not a language I can read), animate/scroll images that are large, animate a sequence of images, show a "nicely" formatted History text if all else fails, etc. And after optimizing this code, it ran mostly at 0-1%CPU on my desktop. The fail is that when running on my Mame cab, it eats the CPU. Mame cab is an older AMD x64 dual core, desktop is a newer quad core i7, mame cab second display is a Liliput USB monitor (main is a TV hangin off a decent vid card), desktop is ... well, its a solid machine in all respects. Even on my 2.3GHz Mac laptop, this app eats about 15%CPU (which, in this case, should not impact playing the golden age games, but still....) Due to the performance on the Mame cab, this effort is dead. Sorry to vent my frustrations here. I have been forced to create a utubez acct to host the vids, fwiw: This shows animation across multiple instruction cards with different aspect rations http://youtu.be/VEhe6aKRn6A This shows Popeye, which has no instruction card, so a formatted History text is scrolled instead: And SF2 - a wide instruction card being scrolled back and forth The watermark on the vids are from the screen cap software used - demo version sorry, this post is a waste of bandwidth, but I felt a need to vent - all that work and I cannot use it :( |
| nadcraker:
That looks awesome! Just because it isn't working out on your cab doesn't mean you should just kill it. I think it's impressive, maybe someone else has ideas to optimize it for that USB display? |
| RandyT:
The first thing I would do is try a different physical USB port. If that makes no difference, test the MAME cab with a different display type for your second screen (add another video card, or use one with dual output capability.) This would at least tell you if the USB display device is the bottleneck....my guess is that it's probably causing the extra system overhead. Could be a poorly implemented USB port on the system, shoddy drivers, etc. You may also want to try an older version of MAME to see if the two are just adding up to more than the system can handle. Since it's a dual core system, you might also play with core preferences and application priorities. |
| drventure:
Looks like a cool project. I wouldn't necessarily give up. A few questions 1) What's it written in (.net, WPF, winforms, C++, flash?) 2) What frame rate are you using (ie if you're hitting 30fps, you might try 15-20 instead). 3) Is the USB monitor USB3 or 2.0. If you can get a 3.0 monitor (and 3.0 USB port on your pc), that should help a lot). 4) I notice there's a +very+ subtle transparency to the scrolling part. You might try getting rid of that, as any transparency really amps up the horsepower needed to run an animation (at least, that's what I found working on my Now Playing Screensaver). If it's an option, I found that .net using WPF is actually incredible capable even on lower end machines, primarily because it leverages directdraw, which in turn can leverage whatever power you have on your graphics card. Unfortunately, for this, that might be moot, because if you're talking to a USB monitor, there is no fancy graphics card to do the heavy lifting, so it'll all be done in software. In that case, reducing transparency and the frame rate should help quite a bit. Otherwise, a heaftier CPU should help, albeit a most $$$ solution. |
| cigardude:
I would definitely add a second video card or replace the main video card that can support two monitors. If you move from USB you should be fine. I have a projector at work that works from vga and usb. When hooked up to the USB port of any PC, its laggy as hell and sucks the CPU. Attached to the VGA port and it works fine. |
| Navigation |
| Message Index |
| Next page |