Re: [hatari-devel] Falcon speed

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]



Just increase a counter during an empty frame which will be the refference count.

Then do the same in the "main loop" for each frame and calc the percentage by using the refference count variable.

Thanks for the info on the profiler, will take a look!

Br

/Thomas




On Thu, 8 May 2014, Eero Tamminen wrote:

Hi,

On torstai 08 toukokuu 2014, Thomas Bergstrom wrote:
I use the simple counter method to check CPU consumption.

What exactly you count?


No DSP, pure 030 with 90-95% running in i-cache or so I guess.

No, I havn't used the profiler, perhaps it is time. :)

Before optimizing, it's always a good idea to profile
a bit, at least if you're running something where
you aren't familiar with every instruction running. :-)

Basic profiler usage is simple, just do "profile on"
in debugger, continue emulation and get back to debugger.
It profiles code that run between debugger invocations.

Besides "profile counts" and "profile cycles" commands,
I would suggest saving the profiler output for all
instructions with "profile save <file>" to a file and
browsing it in text viewer.


	- Eero

Br,

/Thomas

How do you measure the CPU consumption on 030?

And is DSP running?

(You could check whether you see same difference with "--dsp none")

which makes it a bit hard to know how much work can be put on the CPU
and still keep the frame rate on a real Falcon.

Have you used Hatari profiler?  That shows how many emulated
cycles Hatari spends on each instruction in your code:
http://hg.tuxfamily.org/mercurialroot/hatari/hatari/raw-
file/tip/doc/manual.html#Profiling

If you see in that output something suspicious, it would be
great if you could provide a more isolated use-case demonstrating that.

	- Eero

I was curious to hear other peoples experiences regarding this. I use
Hatari alot and think it's fantastic, just have to find a way to deal
with this "problem".

...

I started a game at the same level without playing anything, so
these are game "idle" CPU Load numbers:

Machine			CPU Load
--------------------------------
Falcon			58.05%
Hatari, CE&PFM Disabled 41.61%
Hatari, CE&PFM Enabled	76.51%

Are you measuring Hatari's CPU usage, or running game under MiNT
in Hatari and using e.g. "top" to see your game's CPU usage under
MiNT?

If you're measuring Hatari's CPU usage, more accurate emulation
needing more CPU "works as expected".

	- Eero

Tried on both laptops, both give the exact same numbers. As you can
see Cycle Exact and Prefetch Mode slows Hatari down to be quite alot
slower than the real thing. The Hatari version I was running was
built Jan 2:nd.

I run the windows version, maybe the difference is in Windows vs.
Linux?

Perhaps it's the data cache but would that really have that much
impact?

Get the feeling that there is some option/setup that's missing or
so.

Br,

/Thomas

On Wed, 7 May 2014, Eero Tamminen wrote:
Hi,

Hatari WinUAE CPU core doesn't emulate 030 data cache.

According to comments by Douglas about his experience
on optimization things related to that in Bad Mood, code
using data cache well works faster on real Falcon than
in Hatari.

	- Eero

On keskiviikko 07 toukokuu 2014, laurent.sallafranque@xxxxxxx wrote:
Disabling them results in a much faster Falcon. Strange that we
get so different results

If you say that it's strange that disabling cycle exact and
prefetch mode does much different results and when they're
enabled, that's normal. The table of cycles for the new cpu core
is applied only for this configuration.

In non cycle exact mode, or non prefetch mode or in MMU mode, each
instruction takes 2 cycles (which is wrong of course)


If yo say that what is strange is hatari speed on your machine and
on mine, I agree. I've got a demo that seems to run slower on
hatari than on my real falcon (underscore demo if I'm right) (it
starts in a tunnel, then, there's a 3d object with motion blur,
then, a kind of maze in 3D DSP (that crashs under hatari at the
moment).

Except this demo, I always detect that hatari runs faster than my
falcon (but I'm running my falcon in VGA, this may change my
perception of speed).

Regards

Laurent





----- Mail original -----
De: "Thomas Bergstrom" <tb@xxxxxxxxxxxxx>
À: hatari-devel@xxxxxxxxxxxxxxxxxxx
Envoyé: Mercredi 7 Mai 2014 09:51:55
Objet: Re: [hatari-devel] Falcon speed


Hi,

Hmm. When enabling both cycle exact and prefetch mode I think
Hatari is close to real Falcon speed. That goes for both my
laptops, one AMD A4 and one Intel i5. Disabling them results in a
much faster Falcon. Strange that we get so different results. I
have the same configuration as you except that I have the blitter
emu disabled.

Perhaps my memory is misleading me, I will do some more tests and
get back. :)

Br,

/Thomas



On Wed, 7 May 2014, laurent.sallafranque@xxxxxxx wrote:d

Hi Thomas,

The Falcon emulation is not speed accurate actually, neither
cycle accurate.

For example, the current dev version of Racer runs in 3 VBLs
under Hatari, whereas it runs in 5 VBLs under my Falcon. (Hatari
is 2 VBLs faster than the real machine).

On my fast computer, hatari is always faster than my real Falcon
(anyway I choose cycle exact, prefetch mode, or not).

The Hatari parameters I use for Falcon emulation are :

CPU : winUAE core (hatari_falcon exe)

CPU Type   : 68030
CPU clock  : 16 Mhz
Falcon DSP : Full

CPU parameters :
24 bits addressing    : ON
Prefetch mode, slower : ON
Cycle exact, slower   : ON
Real time clock emu   : ON
Patch Timer_D         : OFF
Blitter emu           : ON
MMU emulation         : OFF (except if you need special apps, but
MMU emulation is not cycle accurate at all)

FPU : 68882
More compatible, slower : ON


TOS : 4.04 Fr

Memory : 4 or 14 megs


The cycle exact mode is the one that allows the most programs to
work (but if you use the old CPU core (hatari.exe) in Falcon
mode, the timings are again different and some rare programs
that don't work with the ne core works with the ols one (like
the MOAI96 demo by Mikro)

The MMU emulation CPU interprets all the CPU instructions (MMU,
CPU, FPU) in 2 cycles, no matter the instruction.


There's still work to do before hatari becomes an accurate Falcon
emulator, but it's already useable and quite efficient with many
programs ans demos.

Regards

Laurent



----- Mail original -----
De: "Thomas Bergstrom" <tb@xxxxxxxxxxxxx>
À: hatari-devel@xxxxxxxxxxxxxxxxxxx
Envoyé: Mercredi 7 Mai 2014 09:05:23
Objet: [hatari-devel] Falcon speed


Hi,

I just wonder if there are any bench figures of Hatari Falcon. I
get the feeling that if you enable "cycle exact" and "prefetch
mode" you get a slightly slower Falcon than the real thing. And
if you disable those you get a CT2 or Nemesis speeded Falcon.
Any measurements made?

Just recently joined the list so my appologies if this has been
discussed alot before...

Br,

/Thomas, New Beat





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/