<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yuzu/src/common/wall_clock.h, branch main</title>
<subtitle>Nintendo Switch emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/'/>
<entry>
<title>feat: add CPU clock rate slider to settings</title>
<updated>2025-05-12T11:46:19+00:00</updated>
<author>
<name>Zephyron</name>
<email>zephyron@citron-emu.org</email>
</author>
<published>2025-04-16T12:02:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=ea8bb22148a69ebe19b186073a06b21614913525'/>
<id>ea8bb22148a69ebe19b186073a06b21614913525</id>
<content type='text'>
Implement a slider in the CPU settings tab to adjust the BASE_CLOCK_RATE
up to 1,785 MHz (Switch's official maximum clock rate). Default remains
at 1,020 MHz.

This change:
- Adds UI slider and spinbox to configure_cpu.ui with range 500-1785 MHz
- Makes BASE_CLOCK_RATE dynamic by reading from settings
- Modifies WallClock to handle dynamic clock rate changes
- Updates APM controller to properly set the clock rate
- Changes clock rate settings category from Core to CPU

The user can now easily adjust the CPU clock rate to improve performance
or manage thermals and power consumption.

Signed-off-by: Zephyron &lt;zephyron@citron-emu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement a slider in the CPU settings tab to adjust the BASE_CLOCK_RATE
up to 1,785 MHz (Switch's official maximum clock rate). Default remains
at 1,020 MHz.

This change:
- Adds UI slider and spinbox to configure_cpu.ui with range 500-1785 MHz
- Makes BASE_CLOCK_RATE dynamic by reading from settings
- Modifies WallClock to handle dynamic clock rate changes
- Updates APM controller to properly set the clock rate
- Changes clock rate settings category from Core to CPU

The user can now easily adjust the CPU clock rate to improve performance
or manage thermals and power consumption.

Signed-off-by: Zephyron &lt;zephyron@citron-emu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Rework time service to fix time passing offline.</title>
<updated>2024-01-24T04:26:55+00:00</updated>
<author>
<name>Kelebek1</name>
<email>eeeedddccc@hotmail.co.uk</email>
</author>
<published>2023-10-29T13:50:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=e4915fb7d2077584a11a15141bc81d28ed2b0125'/>
<id>e4915fb7d2077584a11a15141bc81d28ed2b0125</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>core_timing: Fix SingleCore cycle timer</title>
<updated>2023-06-08T01:44:42+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2023-06-08T01:38:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=2e1e7254436b032f133372c76d9484aa756d56df'/>
<id>2e1e7254436b032f133372c76d9484aa756d56df</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>(wall, native)_clock: Add GetGPUTick</title>
<updated>2023-06-08T01:44:42+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2023-05-28T21:45:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=907507886d755fa56099713c4b8f05bb640a8b7d'/>
<id>907507886d755fa56099713c4b8f05bb640a8b7d</id>
<content type='text'>
Allows us to directly calculate the GPU tick without double conversion to and from the host clock tick.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allows us to directly calculate the GPU tick without double conversion to and from the host clock tick.
</pre>
</div>
</content>
</entry>
<entry>
<title>core_timing: Use CNTPCT as the guest CPU tick</title>
<updated>2023-06-08T01:44:42+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2023-04-23T04:01:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=8e56a84566036cfff0aa5c3d80ae1b051d2bd0bf'/>
<id>8e56a84566036cfff0aa5c3d80ae1b051d2bd0bf</id>
<content type='text'>
Previously, we were mixing the raw CPU frequency and CNTFRQ.
The raw CPU frequency (1020 MHz) should've never been used as CNTPCT (whose frequency is CNTFRQ) is the only counter available.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, we were mixing the raw CPU frequency and CNTFRQ.
The raw CPU frequency (1020 MHz) should've never been used as CNTPCT (whose frequency is CNTFRQ) is the only counter available.
</pre>
</div>
</content>
</entry>
<entry>
<title>(wall, native)_clock: Rework NativeClock</title>
<updated>2023-06-08T01:44:42+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2023-04-23T03:08:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=1492a65454d6a03f641b136cc61e68870be00218'/>
<id>1492a65454d6a03f641b136cc61e68870be00218</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>core_timing: Use higher precision sleeps on Windows</title>
<updated>2023-03-05T07:36:31+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2023-03-02T02:06:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=bff14532825e7517882ca913738347059f73cf7f'/>
<id>bff14532825e7517882ca913738347059f73cf7f</id>
<content type='text'>
The precision of sleep_for and wait_for is limited to 1-1.5ms on Windows.
Using SleepForOneTick() allows us to sleep for exactly one interval of the current timer resolution.
This allows us to take advantage of systems that have a timer resolution of 0.5ms to reduce CPU overhead in the event loop.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The precision of sleep_for and wait_for is limited to 1-1.5ms on Windows.
Using SleepForOneTick() allows us to sleep for exactly one interval of the current timer resolution.
This allows us to take advantage of systems that have a timer resolution of 0.5ms to reduce CPU overhead in the event loop.
</pre>
</div>
</content>
</entry>
<entry>
<title>general: Convert source file copyright comments over to SPDX</title>
<updated>2022-04-23T09:55:32+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2022-04-23T08:59:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=99ceb03a1cfcf35968cab589ea188a8c406cda52'/>
<id>99ceb03a1cfcf35968cab589ea188a8c406cda52</id>
<content type='text'>
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
</pre>
</div>
</content>
</entry>
<entry>
<title>common: wall_clock: Check precision against the emulated CPU and CNTFRQ</title>
<updated>2022-01-30T17:57:23+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2022-01-30T17:57:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=6267110b694d3b3f8a8561c61ad6b4a4548873b5'/>
<id>6267110b694d3b3f8a8561c61ad6b4a4548873b5</id>
<content type='text'>
In addition to requiring nanosecond precision, using the native clock requires that the hardware TSC has a precision greater than the emulated CPU and its clock counter.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In addition to requiring nanosecond precision, using the native clock requires that the hardware TSC has a precision greater than the emulated CPU and its clock counter.
</pre>
</div>
</content>
</entry>
<entry>
<title>common: wall_clock: Utilize constants for ms, us, and ns ratios</title>
<updated>2022-01-30T17:36:56+00:00</updated>
<author>
<name>Morph</name>
<email>39850852+Morph1984@users.noreply.github.com</email>
</author>
<published>2022-01-30T17:36:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=4e766280c4481d23a64a1c80c0ec40d7cf1ff378'/>
<id>4e766280c4481d23a64a1c80c0ec40d7cf1ff378</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
