MAMEWorld >> EmuChat
View all threads Index   Threaded Mode Threaded  

Pages: 1

Traso
MAME Fan
Reged: 01/15/13
Posts: 2687
Send PM


Noticed some slow-downs....
#324614 - 04/13/14 06:58 AM


I'm on old hardware.

- I noticed Couriersud fixed something with Tempest, 'fixed by quantum accurate emulation', and now I'm getting 73%.

- there was some Popeye stuff done in .153 . I have HLSL off, and it's slightly hiccuping.


Basically, are these going to get better? If not, I'm end of line, I think.



Scifi frauds. SF illuminates.
_________________

Culture General Contact Unit (Eccentric)



Vas Crabb
BOFH
Reged: 12/13/05
Posts: 4463
Loc: Melbourne, Australia
Send PM


Re: Noticed some slow-downs.... new [Re: Traso]
#324616 - 04/13/14 07:30 AM


Are you using a 64-bit build? If not, you're crazy.



Big Karnak
Part-time Lurker
Reged: 05/22/13
Posts: 1011
Loc: Mount St. Lurkling
Send PM


Re: Noticed some slow-downs.... new [Re: Traso]
#324625 - 04/13/14 12:32 PM


I noticed the slowdown too on Tempest. I used to get 100% full speed. I'm using a P4, 3.0 GHz, Win XP 32-bit.

I don't think it's a bug... it's just that our PCs are old and the game's accuracy is improving, which requires more power and our PCs can't keep up. My PC can still run well over 90% of the games at full speed.



Anonymous
Unregistered
Send PM


Re: Noticed some slow-downs.... new [Re: Big Karnak]
#324628 - 04/13/14 01:33 PM


> I don't think it's a bug... it's just that our PCs are old and the game's accuracy is
> improving, which requires more power and our PCs can't keep up. My PC can still run
> well over 90% of the games at full speed.

It's a kludge to fix a bug that was introduced a while back.



Traso
MAME Fan
Reged: 01/15/13
Posts: 2687
Send PM


Re: Noticed some slow-downs.... new [Re: Big Karnak]
#324696 - 04/15/14 06:24 AM



Quote:


I noticed the slowdown too on Tempest. I used to get 100% full speed. I'm using a P4, 3.0 GHz, Win XP 32-bit...our PCs are old and the game's accuracy is improving, which requires more power and our PCs can't keep up.




Yeah, me too. No worries, though. There's only one game I care about that needs work, and it's just sound. I think I could 'retire' at .152 .



Scifi frauds. SF illuminates.
_________________

Culture General Contact Unit (Eccentric)



couriersud
Reged: 03/27/07
Posts: 214
Send PM


Re: Noticed some slow-downs.... new [Re: ]
#324895 - 04/18/14 05:09 PM


> It's a kludge to fix a bug that was introduced a while back.

There was no bug ... pokey had been converted to a cpu device and now faces the same obstacles all cpu devices have in MAME: synchronisation.
The only solution currently known to me is using cycle-exact scheduling.
No bug -> no kludge :-)



Anonymous
Unregistered
Send PM


Re: Noticed some slow-downs.... new [Re: couriersud]
#324903 - 04/18/14 07:40 PM


> There was no bug ... pokey had been converted to a cpu device and now faces the same
> obstacles all cpu devices have in MAME: synchronisation.

Yes, you cannot convert chips to device execute interface and expect them to work properly. The pattern is broken, you will always end up with bugs like this.

> The only solution currently known to me is using cycle-exact scheduling.

Which is a kludge. It doesn't fix the problem entirely either as reads are instant in mame/mess.

Another solution would be to not convert it to a pattern that requires cycle exact scheduling.



grog
Reged: 09/06/11
Posts: 419
Send PM


Re: Noticed some slow-downs.... new [Re: Big Karnak]
#324913 - 04/18/14 09:37 PM


> I'm using a P4, 3.0 GHz, Win XP 32-bit.

im using a P4 3.4 ghz, from the 'cedar mill' family which is one of the later P4's, so it supports 'intel 64' meaning i can use XP 64bit.

perhaps check in this list:
http://en.wikipedia.org/wiki/List_of_Intel_Pentium_4_microprocessors
to see if your P4 supports 'intel 64', in which case you could try XP 64bit and mame 64bit version for a nice speed boost.

note that it is easy to install XP 64bit as a dual boot on your current pc which you have running XP 32bit. so if the 64bit stuff doesnt work out for you, you havn't lost your current setup. you will need to partition your hard drive though in order to have a second xp install (you can download 'minitool partition wizard' which is free to do that). an alternative method would be to install 64bit xp on a different hard drive from your main one.



Master O
Yes, Even Parodius Music
Reged: 11/20/06
Posts: 1332
Send PM


Re: Noticed some slow-downs.... new [Re: Traso]
#324914 - 04/18/14 09:42 PM


> I noticed the slowdown too on Tempest. I used to get 100% full speed. I'm using a P4,
> 3.0 GHz, Win XP 32-bit...our PCs are old and the game's accuracy is improving, which
> requires more power and our PCs can't keep up.
>
> Yeah, me too. No worries, though. There's only one game I care about that needs work,
> and it's just sound. I think I could 'retire' at .152 .

I suppose you could call that bug ...

a Tempest in a Teapot.

[/joke]



"Note to Noobs:

We are glad to help you but simply posting that something does not work is not going to lead to you getting help. The more information you can supply defining your problem, the less likely it will be that you will get smart-alec replies.

C.D.~"



couriersud
Reged: 03/27/07
Posts: 214
Send PM


Re: Noticed some slow-downs.... new [Re: ]
#324915 - 04/18/14 09:44 PM


> Another solution would be to not convert it to a pattern that requires cycle exact
> scheduling.

Reading from a sound device (which pokey was before) is trying to look into the future.

The old code looked "forward" only for reading the random number generator, whilst everything else was returned in a state about a frame old.

The current "kludge" is just exact emulation.

What we actually need in MAME are "slave" cpu devices:
- can't have a time in advance of the "master" cpu.
- Reads from the slave trigger the device to advance to the master cpu time *before* the read is finished.

Using a sound device and stream_update may be a possibility. However, interrupts may be triggered too late. OK, one can use timers. This can become really complex and hides the way a device works.

The rewrite as far as I remember was triggered when I rewrote the keyboard emulation which was a big HLE kludge. Same applied to paddle support. I found it a lot easier to implement those features in an "execute" device.

MAME has an issue with bidirectional communication between clocked devices. The framework supports a number of ways to deal with that.

I prefer clear and readable code and eventually take a performance hit and compensate that hit by buying contemporary hardware about every 5 years. My i7-950 (about 4 years old) runs tempest at ~400%. So I don't understand the issue here. Tempest is cycle exact now and runs at 400% on four year old hardware.



Anonymous
Unregistered
Send PM


Re: Noticed some slow-downs.... new [Re: couriersud]
#324922 - 04/18/14 11:44 PM


> Using a sound device and stream_update may be a possibility. However, interrupts may
> be triggered too late. OK, one can use timers. This can become really complex and
> hides the way a device works.

That is exactly how it should have been done, it's the pattern we need for all chips (not just sound chips). Ideally the update would occur automatically when accessed from the memory map or when devcb2 callbacks happen.

> So I don't understand the issue here. Tempest is
> cycle exact now and runs at 400% on four year old hardware.

I suspect JSMAME might have problems as I can only manage 200% on my laptop natively. Even if we say it's fine to ignore JSMAME and force people to upgrade their computers, your pattern can't practically be used for anything more complex than tempest (which is pretty simple in hardware terms). Therefore we need a better pattern to handle this circumstance and we shouldn't have two patterns.

In comparison, I get around 200% for star sweep, which has a main cpu core that we're running around 15 mips and a sound cpu running at 16mhz and a sound chip running at 25mhz & a texture mapping gpu. I would like that to run quicker, but tempest should be able to run at 2000%.

Edited by smf (04/19/14 12:05 AM)



couriersud
Reged: 03/27/07
Posts: 214
Send PM


Re: Noticed some slow-downs.... new [Re: ]
#324924 - 04/19/14 12:39 AM


With MCFG_QUANTUM_PERFECT_CPU("maincpu")

Average speed: 380.21% (29 seconds)

Without

Average speed: 800.20% (29 seconds)

So quantum perfect isn't the real issue ,,, I'll take a look.



Dullaron
Diablo III - Dunard #1884
Reged: 07/22/05
Posts: 6125
Loc: Fort Worth, Tx
Send PM


Re: Noticed some slow-downs.... new [Re: Traso]
#324926 - 04/19/14 01:30 AM


> I'm on old hardware.
>
> - I noticed Couriersud fixed something with Tempest, 'fixed by quantum accurate
> emulation', and now I'm getting 73%.
>
> - there was some Popeye stuff done in .153 . I have HLSL off, and it's slightly
> hiccuping.
>
>
> Basically, are these going to get better? If not, I'm end of line, I think.

Yep Popeye only having an sound issue after load it when I get done playing something else. But it is random. All I have to do is close MAME and then run Popeye with refresh speed. I don't know why it does that.

Now Donkey Kong is having a little tiny crack sound. Little there and there. I think the sound is little high to where it wanna start cracking. Over doing maybe? I don't know.



W11 Home 64-bit + Nobara OS / AMD Radeon RX 5700 XT / AMD Ryzen 7 3700X 8-Core 3.59 GHz / RAM 64 GB



couriersud
Reged: 03/27/07
Posts: 214
Send PM


Re: Noticed some slow-downs.... new [Re: couriersud]
#324929 - 04/19/14 02:59 AM


Now using

m_icount = 0;
return;

in device_execute of Pokey gets us to

Average speed: 556.56% (29 seconds)

We will never hit 2000%. The pokey emulation is expensive due to the "borrow" emulation added back in 16324.



couriersud
Reged: 03/27/07
Posts: 214
Send PM


Re: Noticed some slow-downs.... new [Re: Traso]
#324930 - 04/19/14 03:03 AM


> - there was some Popeye stuff done in .153 . I have HLSL off, and it's slightly
> hiccuping.

> Basically, are these going to get better? If not, I'm end of line, I think.

Popeye: I just commited code and popeye is now ~45% faster.
Tempest: Most likely no improvement



couriersud
Reged: 03/27/07
Posts: 214
Send PM


Re: Noticed some slow-downs.... new [Re: Dullaron]
#324931 - 04/19/14 03:05 AM



> Now Donkey Kong is having a little tiny crack sound. Little there and there. I think
> the sound is little high to where it wanna start cracking. Over doing maybe? I don't
> know.

I have not touched dkong in the last two years. I will again, but when I don't know. Most likely the game will be slower afterwards.



Anonymous
Unregistered
Send PM


Re: Noticed some slow-downs.... new [Re: couriersud]
#324947 - 04/19/14 09:47 AM


> Now using
>
> m_icount = 0;
> return;
>
> in device_execute of Pokey gets us to
>
> Average speed: 556.56% (29 seconds)
>
> We will never hit 2000%. The pokey emulation is expensive due to the "borrow"
> emulation added back in 16324.

Is that with or without perfect interleave?



couriersud
Reged: 03/27/07
Posts: 214
Send PM


Re: Noticed some slow-downs.... new [Re: ]
#324954 - 04/19/14 12:06 PM


> Is that with or without perfect interleave?

With perfect interleave.



Anonymous
Unregistered
Send PM


Re: Noticed some slow-downs.... new [Re: couriersud]
#324956 - 04/19/14 12:11 PM


> > Is that with or without perfect interleave?
>
> With perfect interleave.

Yeah, that really kills performance as the cpu exits after each cycle. It's the same reason that having timers that run at 1mhz are a problem. I imagine that pokey could be written in a way that makes it much faster than it currently runs.

Edited by smf (04/19/14 12:12 PM)



couriersud
Reged: 03/27/07
Posts: 214
Send PM


Re: Noticed some slow-downs.... new [Re: ]
#324957 - 04/19/14 12:38 PM


It certainly can :-)

My limiting factor is time. The current code documents exactly how the hardware works, provides cycle exact keyboard and potentiometer interaction and runs at 400%.

Whoever wants to rewrite the pokey code is free to do so. I'd rather spend my limited time on improving netlist and analog emulation.



Anonymous
Unregistered
Send PM


Re: Noticed some slow-downs.... new [Re: couriersud]
#324958 - 04/19/14 12:56 PM


> and runs at 400%.

The problem is it only runs at 400% on fast hardware and desktop pc's aren't our only target.

While I'm not saying we should focus on making N64 run on an ipad, something as simple as tempest should be able to run on much more modest hardware.

I'd love to rewrite everything to be cycle exact, we just wouldn't be able to test any of it.



couriersud
Reged: 03/27/07
Posts: 214
Send PM


Re: Noticed some slow-downs.... new [Re: ]
#324960 - 04/19/14 02:51 PM


Tempest is back at 800% - see recent commit


Pages: 1

MAMEWorld >> EmuChat
View all threads Index   Threaded Mode Threaded  

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