<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dolphin/Source/Core/VideoCommon/PerformanceMetrics.cpp, branch release-prep-2506a</title>
<subtitle>GameCube and Wii emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/'/>
<entry>
<title>Core, VideoCommon: Fix crash at shutdown due to destructor ordering</title>
<updated>2025-04-28T04:11:53+00:00</updated>
<author>
<name>Mihai Brodschi</name>
<email>m.brodschi@gmail.com</email>
</author>
<published>2025-04-27T14:33:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=bad78cfed416d89ceb6b0acf6c134d3691b3d624'/>
<id>bad78cfed416d89ceb6b0acf6c134d3691b3d624</id>
<content type='text'>
Previously, PerformanceTracker registered a callback to be updated on
emulation state changes. PerformanceTrackers live in a global variable
(g_perf_metrics) within libvideocommon. The callback was stored in a
global variable in libcore. This created a race condition at shutdown
between these libraries, when the PerfTracker's destructor tried to
unregister the callback.
Notify the PerfTracker directly from libcore, without callbacks, since
Core.cpp already references g_perf_metrics explicitly. Also rename
Core::CallOnStateChangedCallbacks to NotifyStateChanged to better
reflect what it's doing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, PerformanceTracker registered a callback to be updated on
emulation state changes. PerformanceTrackers live in a global variable
(g_perf_metrics) within libvideocommon. The callback was stored in a
global variable in libcore. This created a race condition at shutdown
between these libraries, when the PerfTracker's destructor tried to
unregister the callback.
Notify the PerfTracker directly from libcore, without callbacks, since
Core.cpp already references g_perf_metrics explicitly. Also rename
Core::CallOnStateChangedCallbacks to NotifyStateChanged to better
reflect what it's doing.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #13487 from Dentomologist/performancemetrics_fix_window_arrangement</title>
<updated>2025-04-25T00:40:58+00:00</updated>
<author>
<name>Tilka</name>
<email>tilkax@gmail.com</email>
</author>
<published>2025-04-25T00:40:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=5523b9a01b5e2628b3b22a5b97cb78aac0cd83f6'/>
<id>5523b9a01b5e2628b3b22a5b97cb78aac0cd83f6</id>
<content type='text'>
PerformanceMetrics: Fix window arrangement</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PerformanceMetrics: Fix window arrangement</pre>
</div>
</content>
</entry>
<entry>
<title>PerformanceMetrics: Fix window arrangement</title>
<updated>2025-04-05T21:22:17+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2025-04-05T21:04:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=ec49ea5be32a65c974efb06ce16cccba6205a679'/>
<id>ec49ea5be32a65c974efb06ce16cccba6205a679</id>
<content type='text'>
Fix overlays stacking on top of each other or not moving to the edge of
the screen when enabling or disabling overlays while emulation is
active.

This change only applies when Config::GFX_MOVABLE_PERFORMANCE_METRICS is
False.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix overlays stacking on top of each other or not moving to the edge of
the screen when enabling or disabling overlays while emulation is
active.

This change only applies when Config::GFX_MOVABLE_PERFORMANCE_METRICS is
False.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: Move CountPerformanceMarker to VideoInterface to eliminate a Throttle call. PerformanceMetrics: Fixes/Cleanups.</title>
<updated>2025-04-03T04:23:51+00:00</updated>
<author>
<name>Jordan Woyak</name>
<email>jordan.woyak@gmail.com</email>
</author>
<published>2025-03-08T01:26:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=c42dab6388de9318bed370900c3431d8231a5376'/>
<id>c42dab6388de9318bed370900c3431d8231a5376</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix shadowed variable warnings and missing declarations</title>
<updated>2025-03-27T20:48:08+00:00</updated>
<author>
<name>Joshua Vandaële</name>
<email>joshua@vandaele.software</email>
</author>
<published>2025-03-27T20:20:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=3a1a60d4f8ac79588d4b6f8197131ea45ae53d7b'/>
<id>3a1a60d4f8ac79588d4b6f8197131ea45ae53d7b</id>
<content type='text'>
- PPCSymbolDB:  Resolve shadowed variable warnings
- PerformanceMetrics:  Resolve shadowed variable warnings
- SWEfbInterface: Add missing declarations
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- PPCSymbolDB:  Resolve shadowed variable warnings
- PerformanceMetrics:  Resolve shadowed variable warnings
- SWEfbInterface: Add missing declarations
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #13398 from jordan-woyak/perf-tracker</title>
<updated>2025-03-23T19:21:11+00:00</updated>
<author>
<name>JMC47</name>
<email>JMC4789@gmail.com</email>
</author>
<published>2025-03-23T19:21:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=28f1beeca84911481e7ad8f925bd5fd1f5b2563e'/>
<id>28f1beeca84911481e7ad8f925bd5fd1f5b2563e</id>
<content type='text'>
PerformanceTracker: Eliminate mutex. General cleanups.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PerformanceTracker: Eliminate mutex. General cleanups.</pre>
</div>
</content>
</entry>
<entry>
<title>PerformanceTracker: Use SPSCQueue and atomic to eliminate need for a mutex. Clean up some math.</title>
<updated>2025-03-15T19:40:00+00:00</updated>
<author>
<name>Jordan Woyak</name>
<email>jordan.woyak@gmail.com</email>
</author>
<published>2025-03-05T09:26:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=46e0952e97bae2cfdecaeed88f7768d028718918'/>
<id>46e0952e97bae2cfdecaeed88f7768d028718918</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: Remove unused GetActualEmulationSpeed function and related variables/functions.</title>
<updated>2025-03-14T08:10:13+00:00</updated>
<author>
<name>Jordan Woyak</name>
<email>jordan.woyak@gmail.com</email>
</author>
<published>2025-03-05T20:44:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=2690a62949617c6cf7964e7972b8f95eb1588216'/>
<id>2690a62949617c6cf7964e7972b8f95eb1588216</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PerformanceMetrics: Eliminated a mutex. Code cleanups.</title>
<updated>2025-03-14T08:10:13+00:00</updated>
<author>
<name>Jordan Woyak</name>
<email>jordan.woyak@gmail.com</email>
</author>
<published>2025-03-05T03:32:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=e1745f682fd2846f12ac0693896785dacf3f3b91'/>
<id>e1745f682fd2846f12ac0693896785dacf3f3b91</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PerformanceMetrics: Add clamping, resetting on resize, and setting</title>
<updated>2025-02-24T21:17:57+00:00</updated>
<author>
<name>Dentomologist</name>
<email>dentomologist@gmail.com</email>
</author>
<published>2025-02-03T22:32:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/dolphin/commit/?id=0645a267d97767a82b8a9cb3ef7c5731444dc3cf'/>
<id>0645a267d97767a82b8a9cb3ef7c5731444dc3cf</id>
<content type='text'>
Clamp overlays to the render window (with some padding), reset their
positions when the render window changes sizes, and add a setting to
enable moving the overlays (off by default, .ini only for now).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Clamp overlays to the render window (with some padding), reset their
positions when the render window changes sizes, and add a setting to
enable moving the overlays (off by default, .ini only for now).
</pre>
</div>
</content>
</entry>
</feed>
