[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Measuring Enigma's performance: A paradox?
From: |
Andreas Lochmann |
Subject: |
Measuring Enigma's performance: A paradox? |
Date: |
Sat, 10 Apr 2021 18:23:55 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 |
Hi everyone,
I'm currently performing some experiments to improve Enigma's
performance in the graphics department. For this, I measure the CPU time
used to solve certain self-solving levels, particularly one with smooth
scrolling, because this is our Achilles' heel right now.
I noticed that Enigma uses less CPU time when something else runs in the
background, like a web video. This is easily explained by the CPU
frequency stepping up. However, it seems like this effect appears even
when I activate/deactivate the Enigma's own status bar (the one counting
up the time and displaying the level title) and full utilisation. Let me
explain:
I first launched several prime generators in the background, so my cores
were 100% utilised and CPU frequency on its maximum. With status bar
activated, Enigma uses on average 13.05 CPU-seconds for a specific task.
When I completely deactivate the status bar, the same task takes about
13.87 CPU-seconds -- and this although drawing the status bar itself has
to be done within the same 13.05 CPU-seconds. (This is not a statistical
fluke. For the average I used four runs each time, and all four runs
WITH status bar needed consistently less time than WITHOUT status bar.
And I did similar, slightly different experiments before, all showing
the same paradoxical behaviour.)
How can it be that drawing the status bar still leads to less CPU time
used? Is "video memory cache in CPU" a thing? (Remember that Enigma
relies on software acceleration for graphics.)
Maybe someone of you knows this and can help me out?
Because: If this turns out to be real, it might make Enigma faster if it
has to draw more on each time step. After all, we have lots of code
trying to reduce the blit count.
Cheers
Andreas
(Sidenote:
Turns out that "killall primes" does not make the universe implode.)