Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
04404 Misc. Minor Always Jul 3, 2011, 12:25 Jul 19, 2012, 11:33
Tester Haze View Status Public Platform MAME (Self-compiled)
Assigned To Haze Resolution Fixed OS Windows Vista/7 (64-bit)
Status [?] Resolved Driver
Version 0.143 Fixed in Version 0.146u4 Build Normal
Fixed in Git Commit Github Pull Request #
Summary 04404: tnzs: Significant negative performance spike after intro sequence
Description After coining up and starting a game there is a noticeable speed hit on the black screen after the intro sequence before the actual gameplay (dips to <50% here)

Need to check if this is a result of the device conversion of the ST001A/002A video chips, or something else, and if so, why. Such a dramatic drop in performance on a Z80 based game is unexpected. I haven't seen any other ST001 based games affected which makes me wonder.

(this is not the same as the expected overall performance drop from perfect interleaving introduced many versions ago)
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version 0.139u2
Affected Sets / Systems tnzs
Attached Files
 
Relationships
related to 04097ResolvedAWJ All sets in namcos1.c: Performance regression 
related to 04485ResolvedHaze All sets in wardner.c: Slowdown due to memory mapping changes 
Notes
5
User avatar
No.07627
Tafoid
Administrator
Jul 3, 2011, 14:35
This decrease is due to the changes in the memory system. There are certain games which have a drop in performance in certain places. The same type of issue is present in 04097, when initial startup is very slow due to a lot of what I understand to be memory map thrashing. Specifically, the changes in r9980 are the cause.

While not explicitly an emulation 'bug', it's an issue where it causes concern as it's unexpected. Confirming, adding regression and adding related.
User avatar
No.07628
Haze
Senior Tester
Jul 3, 2011, 14:40
edited on: Jul 3, 2011, 14:41
Hmm, tnzs doesn't use any kind of dynamic memory map tho apart from banking (as far as I'm aware anyway)

I noticed Sly Spy took quite a hit as a result of the memory map changes, and one of the Golden Axes sets is slower than the others for similar reasons (extensive use of the memory remapping) Likewise startup on ms32.c is slow due to the mirroring, but I'm at a bit of a loss to explain this one (which is why I'd flagged it as possibly video related when going through looking at drivers I'd touched recently)
User avatar
No.07669
hap
Developer
Aug 4, 2011, 23:00
The slowness is in machine/tnzs.c tnzs_bankswitch_w. Adding something like: if (oldbank == newbank) {return;} doesn't speed it up (unlike namcos1)
User avatar
No.07670
Haze
Senior Tester
Aug 5, 2011, 15:38
Well no, because that's a hack around an underlying issue.

Is it only the 'modern' banking systems which are affected, or is this hitting the traditional 'deprecated' (but IMHO still better) bankptr ones?
User avatar
No.08387
Sune_S
Senior Tester
Mar 18, 2012, 05:34
What's it doing between levels that's so intensive, moving around lots of graphics data for the next level?

tnzs dips all the way down to 20% here.