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 <zephyron@citron-emu.org>
212 lines
6.1 KiB
XML
212 lines
6.1 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>ConfigureCpu</class>
|
|
<widget class="QWidget" name="ConfigureCpu">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>448</width>
|
|
<height>439</height>
|
|
</rect>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>Form</string>
|
|
</property>
|
|
<property name="accessibleName">
|
|
<string>CPU</string>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="vboxlayout_2" stretch="0">
|
|
<item>
|
|
<layout class="QVBoxLayout" name="vboxlayout">
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<item>
|
|
<widget class="QGroupBox" name="groupBox">
|
|
<property name="title">
|
|
<string>General</string>
|
|
</property>
|
|
<layout class="QVBoxLayout">
|
|
<item>
|
|
<widget class="QWidget" name="widget_accuracy" native="true">
|
|
<layout class="QVBoxLayout" name="verticalLayout">
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="label_recommended_accuracy">
|
|
<property name="text">
|
|
<string>We recommend setting accuracy to "Auto".</string>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>false</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="backend_group">
|
|
<property name="title">
|
|
<string>CPU Backend</string>
|
|
</property>
|
|
<layout class="QVBoxLayout">
|
|
<item>
|
|
<widget class="QWidget" name="widget_backend" native="true">
|
|
<layout class="QVBoxLayout" name="verticalLayout1">
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
<property name="visible">
|
|
<bool>false</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="unsafe_group">
|
|
<property name="title">
|
|
<string>Unsafe CPU Optimization Settings</string>
|
|
</property>
|
|
<layout class="QVBoxLayout">
|
|
<item>
|
|
<widget class="QLabel" name="label_accuracy_description">
|
|
<property name="text">
|
|
<string>These settings reduce accuracy for speed.</string>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>false</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QWidget" name="unsafe_widget" native="true">
|
|
<layout class="QVBoxLayout" name="unsafe_layout">
|
|
<property name="leftMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="topMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="rightMargin">
|
|
<number>0</number>
|
|
</property>
|
|
<property name="bottomMargin">
|
|
<number>0</number>
|
|
</property>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="clock_rate_group">
|
|
<property name="title">
|
|
<string>CPU Clock Rate</string>
|
|
</property>
|
|
<layout class="QVBoxLayout">
|
|
<item>
|
|
<widget class="QLabel" name="label_clock_description">
|
|
<property name="text">
|
|
<string>CPU clock rate in MHz. Setting a higher clock rate will improve performance but may cause system instability. Default is 1020 MHz.</string>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout">
|
|
<item>
|
|
<widget class="QSlider" name="clock_rate_slider">
|
|
<property name="minimum">
|
|
<number>500</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>1785</number>
|
|
</property>
|
|
<property name="value">
|
|
<number>1020</number>
|
|
</property>
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="tickPosition">
|
|
<enum>QSlider::TicksBelow</enum>
|
|
</property>
|
|
<property name="tickInterval">
|
|
<number>100</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QSpinBox" name="clock_rate_spinbox">
|
|
<property name="suffix">
|
|
<string> MHz</string>
|
|
</property>
|
|
<property name="minimum">
|
|
<number>500</number>
|
|
</property>
|
|
<property name="maximum">
|
|
<number>1785</number>
|
|
</property>
|
|
<property name="value">
|
|
<number>1020</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeType">
|
|
<enum>QSizePolicy::Expanding</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<resources/>
|
|
<connections/>
|
|
</ui>
|