MAMEWorld >> EmuChat
View all threads Index   Threaded Mode Threaded  

Pages: 1

John IV
IV/Play, MAME, MAMEUI
Reged: 09/22/03
Posts: 1967
Loc: Washington, USA
Send PM


Virtua Fighter Kids performance regression.
#375951 - 05/01/18 08:58 AM


In the course of the benches, with tonight's build vs. release .197 I see a 50% drop.

mame vfkids -bench 90
Average speed: 248.20% (89 seconds)

mame vfkids -bench 90
Average speed: 124.64% (89 seconds)

MAME v0.197 (mame0197-146-g461654b076)



john iv
http://www.mameui.info/



John IV
IV/Play, MAME, MAMEUI
Reged: 09/22/03
Posts: 1967
Loc: Washington, USA
Send PM


Re: Virtua Fighter Kids performance regression. new [Re: John IV]
#375977 - 05/02/18 05:42 AM


Another weird behavior; actually playing vfkids shows a big drop to 70% (when the characters are onscreen during attract mode).

If I press insert during that stage I go over 300%. So it's not running at 100% as it should during normal gameplay.

The prior background corruption appeared to be fixed; did this cause the current regressions?



john iv
http://www.mameui.info/



TafoidAdministrator
I keep on testing.. testing.. testing... into the future!
Reged: 04/19/06
Posts: 3135
Loc: USA
Send PM


Re: Virtua Fighter Kids performance regression. new [Re: John IV]
#375993 - 05/03/18 03:42 AM


> Another weird behavior; actually playing vfkids shows a big drop to 70% (when the
> characters are onscreen during attract mode).
>
> If I press insert during that stage I go over 300%. So it's not running at 100% as it
> should during normal gameplay.
>
> The prior background corruption appeared to be fixed; did this cause the current
> regressions?

Appears to be the price of doing business and improving other games in the Saturn/STV hardware line.



John IV
IV/Play, MAME, MAMEUI
Reged: 09/22/03
Posts: 1967
Loc: Washington, USA
Send PM


Re: Virtua Fighter Kids performance regression. new [Re: Tafoid]
#375996 - 05/03/18 06:25 AM


Yeppers, saw that in the Shoutbox before it scrolled off, thanks.



john iv
http://www.mameui.info/



Haze
Reged: 09/23/03
Posts: 5242
Send PM


Re: Virtua Fighter Kids performance regression. new [Re: John IV]
#376002 - 05/03/18 12:12 PM


> Yeppers, saw that in the Shoutbox before it scrolled off, thanks.

right

there are more worrying regressions which aren't, like the Seibu SPI stuff dropping to less than half the speed it was in feb (300% ->120%)

that was caused by cam900 using the memory interface for the sound chip
https://github.com/mamedev/mame/commit/4...a5caa901b99f8c6

literally 50-70% of the frametime is now spent in the memory read functions for the sound, and it barely keeps above 120% on a 4ghz i7 during the startup, way below that on a pretty decent machine.

while the 'device_rom_interface' stuff is 'cleaner', I don't think the performance cost is in any way acceptable there, it's now by far the heaviest thing in the driver, for no actual gain.

this is the kind of performance loss which will cause people to refuse to upgrade forever if they hit it, and the type which gives MAME a bad reputation as there's no benefit at all to them upgrading in this instance, and it's a popular driver.

the STV stuff on the other hand is legitimate enduser visible improvements.



Olivier Galibert
Semi-Lurker
Reged: 09/21/03
Posts: 398
Send PM


Re: Virtua Fighter Kids performance regression. new [Re: Haze]
#376004 - 05/03/18 04:45 PM


There are good ways and bad ways to do a dirom conversion. That one is worse than bad...

OG.



Haze
Reged: 09/23/03
Posts: 5242
Send PM


Re: Virtua Fighter Kids performance regression. new [Re: Olivier Galibert]
#376005 - 05/03/18 05:38 PM


> There are good ways and bad ways to do a dirom conversion. That one is worse than
> bad...
>
> OG.

I'm curious as to how you would handle it then, from what I can see it is simply replacing what was a 'read memory' call (to get bytes from a pointer) with read_byte calls, which is what the dirom stuff needs?

because those reads now go through the memory system and there are a lot of them, it's slow, very slow..

cam900 seems to be doing these in batches now, so if there's a proper way he needs to know otherwise performance is going to plummet across the entire project, and that wouldn't be good for anybody, severe regressions like that could end up with 0 userbase for newer versions.



Olivier Galibert
Semi-Lurker
Reged: 09/21/03
Posts: 398
Send PM


Re: Virtua Fighter Kids performance regression. new [Re: Haze]
#376015 - 05/05/18 04:03 PM


> I'm curious as to how you would handle it then, from what I can see it is simply
> replacing what was a 'read memory' call (to get bytes from a pointer) with read_byte
> calls, which is what the dirom stuff needs?

The problem is that dirom's performance depends on direct's pointer caching. direct is fast when hitting a memory region, and annoyingly slow when hitting a handler. The damn flash does not seem to present a pointer for fast read access. There's at least 3 ways out of this, I'm just not yet sure which one to choose.

OG.



AJR Hacker
MAME Developer
Reged: 02/01/16
Posts: 143
Send PM


Re: Virtua Fighter Kids performance regression. new [Re: Olivier Galibert]
#376019 - 05/05/18 10:01 PM


> The problem is that dirom's performance depends on direct's pointer caching. direct
> is fast when hitting a memory region, and annoyingly slow when hitting a handler. The
> damn flash does not seem to present a pointer for fast read access. There's at least
> 3 ways out of this, I'm just not yet sure which one to choose.

I would much prefer a device-independent solution to this problem. It's a problem evolving MAME standards have contributed to, what with bankdev and similar devices adding layers of indirection to memory maps and read handlers in AS_OPCODES replacing some of what was formerly being done with pre-decrypted banks and direct update handlers.



smf
I've been here before
Reged: 01/16/15
Posts: 130
Send PM


Re: Virtua Fighter Kids performance regression. new [Re: Olivier Galibert]
#376022 - 05/06/18 09:03 AM


> The damn flash does not seem to present a pointer for fast read access.

It's impossible without an interface that lets it say how many bytes are valid and the ability to invalidate the cached pointer and length when switching between read and programming mode.

I don't know if programming is done in this specific case, but I'm sure we have one where the flash is on the other side of a sound chip and it is programmed.



Olivier Galibert
Semi-Lurker
Reged: 09/21/03
Posts: 398
Send PM


Re: Virtua Fighter Kids performance regression. new [Re: AJR Hacker]
#376063 - 05/08/18 07:55 PM


> I would much prefer a device-independent solution to this problem.

Me too, which is my I'm working on the most complex, but nicest device-independant solution.

Which makes me change every damn cpu core, again. All 118 of them[1]. Sigh.

OG.

[1] At last count...


Pages: 1

MAMEWorld >> EmuChat
View all threads Index   Threaded Mode Threaded  

Extra information Permissions
Moderator:  Robbbert, Tafoid 
0 registered and 26 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 1106