I found mame32 to run slow on some of the games that were using higher end graphics.
Until I installed the drivers for my video card, and started running mame32 from memory.
I use a project Win10pe, no frontend standard mame32.script plus custom video drivers.script.
Some of these older games had minimum requirements for Processor and Graphics.
I am using a dual core Intel Pentium D 945 3.4G on Gigabyte GA-G31M-ES2L v2 with 2G Memory
with built-in graphics Intel GMA 3100 with home-built .script for video drivers.
I can run mame32 from X:\Program Files\Mame32UI\...
or from Internal Hard disk with mame and all /rom folders on it.
It obviously runs much better from ram.
What I would like to do is always run mame32 from ram, and then find
a decent way to redirect mame32 to use the folders residing on hard drive.
using links, junctions, maybe just putting them in the %path%, or
just tweaking the mame32 settings to point to the /rom folders elsewhere.
Check that all your hardware, video, and audio are all working in your PE.
Make sure your Windows subsystems or all in order, Check DirectX via DXDiag.
I also had to play around in the mame32 video settings to get the most out of my hardware.
Check Mame settings in \Default Game Options\ Display and Advanced.
In advanced uncheck 'wait for vertical sync'
You may have to play with the settings above for best results.