feat: UI updated by @JamesCJ.

This commit is contained in:
Quentin “Storm1er” Decaunes 2020-01-02 09:38:14 +00:00
parent 4a827cc37d
commit 7040a31f1c
11 changed files with 812 additions and 472 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View File

@ -2,7 +2,7 @@
<html>
<head>
<title>Ryzen Controller</title>
<title id="title">Ryzen Controller</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="./node_modules/uikit/dist/css/uikit.min.css" />
@ -11,13 +11,103 @@
<script src="./node_modules/uikit/dist/js/uikit-icons.min.js"></script>
<script src="https://kit.fontawesome.com/c7184454f2.js" crossorigin="anonymous"></script>
<style>
* {
margin: 0;
padding: 0;
border: 0;
vertical-align: baseline;
}
html {
box-sizing: border-box;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
html,
body {
background-color: black;
color: white;
border: 1.25px solid #222;
min-width: 800px;
height: 100%;
-webkit-app-region: drag;
overflow-y: hidden;
}
#titlebar {
display: block;
position: fixed;
height: 32px;
width: calc(100% - 2px);
z-index: 9999999999;
/*Compensate for body 1px border*/
}
#main {
height: calc(100% - 29px);
margin-top: 29px;
overflow-y: scroll;
}
nav {
display: block;
top: 0;
left: 0;
width: 100%;
height: 32px;
background-color: #222;
position: absolute;
margin: auto;
-webkit-app-region: drag;
position: fixed;
z-index: 1000;
overflow: hidden;
}
nav #titleShown {
width: 30%;
height: 100%;
color: white;
font-size: 1em;
float: left;
padding: 0 0 0 1em;
line-height: 32px;
-webkit-app-region: drag;
}
nav #buttons {
float: right;
min-width: 150px;
height: 100%;
background-color: #333;
line-height: 32px;
}
#buttons #minimize,
#buttons #maximize,
#buttons #close {
float: left;
height: 100%;
width: 33%;
text-align: center;
color: #eee;
transition: all ease-in-out .2s;
cursor: default;
}
#buttons #minimize:hover,
#buttons #maximize:hover {
background-color: #222;
}
#buttons #close:hover {
background-color: #ff0000;
}
h1,
h2,
@ -68,28 +158,13 @@
}
#dark {
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
margin-left: 35px;
margin-top: 21px;
float: left;
position: absolute;
border: 2px solid;
border-left: none;
border-color: #333;
}
#light {
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
margin-right: 0;
float: left;
position: absolute;
margin-left: 10px;
margin-top: 21px;
background-color: black;
border: 2px solid;
border-right: none;
border-color: #333;
}
@ -102,8 +177,13 @@
}
#rcon {
height: 64px;
height: 110px;
width: auto;
margin-bottom: 0;
}
h1{
margin-bottom: 5px;
}
tr {
@ -124,12 +204,7 @@
background-color: #555;
}
.autoapply {
color: white;
}
.autoapply:hover {
color: #555;
td {
background-color: #333;
}
@ -138,155 +213,195 @@
#modal-export-preset div {
background-color: #333;
}
.uk-tab>* {
padding-left: 10px;
}
button,
ul,
li,
div {
-webkit-app-region: no-drag;
}
.delete {
margin-bottom: 0px;
}
@media only screen and (max-width: 1086px) {
.delete {
margin-bottom: 20px
}
}
</style>
</head>
<body class="uk-animation-fade" uk-height-viewport="expand: true">
<h1>
<img id="rcon" src="assets/icon.png">
Ryzen Controller
<span id="version" class="uk-badge"></span>
<a class="uk-badge" id="donation" title="Buy us some beers ❤️" href="#" onClick="require('electron').shell.openExternal('https://www.patreon.com/ryzencontrollerteam')">Patreon</a>
<a class="uk-badge" id="discord" title="Join us on discord" href="#" onClick="require('electron').shell.openExternal('https://discord.gg/EahayUv')">Discord</a>
<a class="uk-badge" id="light" title="Light Mode" href="index.html"><i class="fas fa-sun"></i></a>
<a class="uk-badge" id="dark" title="Dark Mode (BETA)" href="index-dark.html"><i class="fas fa-moon"></i></a>
</h1>
<ul uk-switcher="animation: uk-animation-fade" uk-tab uk-sticky class="uk-background-default uk-margin-remove" id="main-container-selector">
<li><a href="#">Presets</a></li>
<li><a href="#">Settings</a></li>
<li><a href="#">Releases</a></li>
<li><a href="#">Logs</a></li>
<li><a href="#">Tutorials</a></li>
</ul>
<ul class="uk-switcher uk-margin-remove" id="main-container" uk-height-viewport="expand: true" style="position:relative;">
<li class="uk-margin-top uk-margin-bottom uk-container">
<div id="presetTab"></div>
<p class="uk-margin">
<button class="uk-button uk-button-secondary" uk-toggle="target: #modal-export-preset" type="button" onClick="preset_export()">
Export
</button>
<button class="uk-button uk-button-secondary" uk-toggle="target: #modal-import-preset" type="button">
Import
</button>
</p>
</li>
<li class="uk-margin-top uk-margin-bottom uk-container">
<h3 class="windows-only">Auto start:</h3>
<label class="windows-only"><input class="uk-checkbox" type="checkbox" id="start_at_boot"> When checked, Ryzen Controller will start on session start.</label>
<h3>Auto apply on launch:</h3>
<label><input class="uk-checkbox" type="checkbox" id="apply_last_settings_on_launch"> When checked, Ryzen Controller will try to apply latest used settings on launch.</label>
<h3>Minimize to tray:</h3>
<label><input class="uk-checkbox" type="checkbox" id="minimize_to_tray"> When checked, Ryzen Controller will minimize to tray instead of taskbar.</label><br>
<label><input class="uk-checkbox" type="checkbox" id="start_minimized"> When checked, Ryzen Controller will start minimized when you launch it.</label>
<!-- <h3 class="windows-only">HPET:</h3>
<p class="uk-margin windows-only">
High Precision Event Timer: Allow application to get time with precision below microseconds, but is slower than most other other timer facilities.<br/>
Try running benchmark with and without to see if you get any difference.<br/>
If it doesn't make any difference, it's recommanded to let it enable.<br/>
<em>You must reboot to apply changes.</em>
</p>
<p class="uk-margin windows-only">
<button class="uk-button uk-button-primary" onClick="toggleHpet('true')">Enable</button>
<button class="uk-button uk-button-secondary" onClick="toggleHpet('false')">Disable</button>
</p> -->
<h3>Re-apply ryzenadj periodically:</h3>
<p>Ryzen Controller will re-apply ryzenadj every X seconds. Set to 0 to disable.</p>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-1-6">
<input class="uk-input" type="number" min="0" step="10" max="3600" value="0" id="reapply_periodically" repeat="reapply_periodically_range">
<body class="uk-animation-fade">
<header id="titlebar">
<nav>
<div id="titleShown"></div>
<div id="buttons">
<div id="minimize">
<span>-</span>
</div>
<div class="uk-width-expand">
<input class="uk-range" type="range" min="0" step="10" max="3600" value="0" repeat="reapply_periodically" id="reapply_periodically_range">
<div id="maximize">
<span>&square;</span>
</div>
<div id="close">
<span>&times;</span>
</div>
</div>
<h3>Ryzenadj path:</h3>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-2-3@s">
<input class="uk-input" type="text" id="ryzen_adj_path">
</div>
<div class="uk-width-1-3@s">
<button class="uk-button uk-button-default uk-button-small" type="button" onClick="askingForRyzenAdjExecutablePath()">
Select path to ryzenadj.exe
</nav>
</header>
<div id="main">
<h1>
<img id="rcon" src="assets/icon.png">
Ryzen Controller
<span id="version" class="uk-badge"></span>
<a class="uk-badge" id="donation" title="Buy us some beers ❤️" href="#" onClick="require('electron').shell.openExternal('https://www.patreon.com/ryzencontrollerteam')">Patreon</a>
<a class="uk-badge" id="discord" title="Join us on discord" href="#" onClick="require('electron').shell.openExternal('https://discord.gg/EahayUv')">Discord</a>
<a class="uk-badge" id="light" title="Light Mode" href="index.html"><i class="fas fa-sun"></i></a>
<a class="uk-badge" id="dark" title="Dark Mode (BETA)" href="index-dark.html"><i class="fas fa-moon"></i></a>
</h1>
<ul uk-switcher="animation: uk-animation-fade" uk-tab uk-tab uk-sticky="top: 56; offset: 32px; animation: uk-animation-slide-top;" class="uk-background-default uk-margin-remove" id="main-container-selector">
<li><a href="#">Presets</a></li>
<li><a href="#">Settings</a></li>
<li><a href="#">Releases</a></li>
<li><a href="#">Logs</a></li>
<li><a href="#">System Info</a></li>
<li><a href="#">Tutorial</a></li>
</ul>
<ul class="uk-switcher uk-margin-remove" id="main-container" uk-height-viewport="expand: true" style="position:relative;">
<li class="uk-margin-top uk-margin-bottom uk-container">
<div id="presetTab"></div>
<p class="uk-margin">
<button class="uk-button uk-button-secondary" uk-toggle="target: #modal-export-preset" type="button" onClick="preset_export()">
Export
</button>
<button class="uk-button uk-button-secondary" uk-toggle="target: #modal-import-preset" type="button">
Import
</button>
</p>
</li>
<li class="uk-margin-top uk-margin-bottom uk-container">
<h3 class="windows-only">Auto start:</h3>
<label class="windows-only"><input class="uk-checkbox" type="checkbox" id="start_at_boot"> When checked, Ryzen Controller will start on session start.</label>
<h3>Auto apply on launch:</h3>
<label><input class="uk-checkbox" type="checkbox" id="apply_last_settings_on_launch"> When checked, Ryzen Controller will try to apply latest used settings on launch.</label>
<h3>Minimize to tray:</h3>
<label><input class="uk-checkbox" type="checkbox" id="minimize_to_tray"> When checked, Ryzen Controller will minimize to tray instead of taskbar.</label><br>
<label><input class="uk-checkbox" type="checkbox" id="start_minimized"> When checked, Ryzen Controller will start minimized when you launch it.</label>
<!--
<h3 class="windows-only">HPET:</h3>
<p class="uk-margin windows-only">
High Precision Event Timer: Allow application to get time with precision below microseconds, but is slower than most other other timer facilities.<br/>
Try running benchmark with and without to see if you get any difference.<br/>
If it doesn't make any difference, it's recommanded to let it enable.<br/>
<em>You must reboot to apply changes.</em>
</p>
<p class="uk-margin windows-only">
<button class="uk-button uk-button-primary" onClick="toggleHpet('true')">Enable</button>
<button class="uk-button uk-button-secondary" onClick="toggleHpet('false')">Disable</button>
</p>
-->
<h3>Re-apply ryzenadj periodically:</h3>
<p>Ryzen Controller will re-apply ryzenadj every X seconds. Set to 0 to disable.</p>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-1-6">
<input class="uk-input" type="number" min="0" step="10" max="3600" value="0" id="reapply_periodically" repeat="reapply_periodically_range">
</div>
<div class="uk-width-expand">
<input class="uk-range" type="range" min="0" step="10" max="3600" value="0" repeat="reapply_periodically" id="reapply_periodically_range">
</div>
</div>
<h3>Ryzenadj path:</h3>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-2-3@s">
<input class="uk-input" type="text" id="ryzen_adj_path">
</div>
<div class="uk-width-1-3@s">
<button class="uk-button uk-button-default uk-button-small" type="button" onClick="askingForRyzenAdjExecutablePath()">
Select path to ryzenadj.exe
</button>
</div>
</div>
</li>
<li id="release-tab">
<webview style="height:100%;" frameborder="0" src="https://gitlab.com/ryzen-controller-team/ryzen-controller/releases"></webview>
</li>
<li class="uk-margin-top uk-margin-bottom uk-container">
<textarea class="uk-textarea" rows="20" id="logs" readonly></textarea>
</li>
<li class="uk-margin-top uk-margin-bottom uk-container">
<div>
<canvas id="glcanvas" width="0" height="0"></canvas>
<h3>System Infomation</h3>
<div id="cpu"></div>
<div id="cores"></div>
<div id="cpuspeed"></div>
<div id="gpu1"></div>
<div id="memory"></div>
<div id="platform"></div>
</div>
</li>
<li class="uk-margin-top uk-margin-bottom uk-container">
<div>
<h2>Coming Soon</h2>
</div>
</li>
</ul>
<!-- Add a preset modal -->
<div id="modal-new-preset" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Save current settings to preset</h2>
<p>The current settings will be saved to a new preset. Give it a name then you'll be able to reapply it fastly from the preset tab.</p>
<div class="uk-margin">
<input class="uk-input" type="text" id="new_preset_name" placeholder="Preset name: performance, low energy, unicorn power, ...">
</div>
<button class="uk-button uk-button-primary uk-modal-close" type="button" onClick="preset_createNewPreset()">Save</button>
<button class="uk-button uk-button-secondary uk-modal-close" type="button">Close</button>
</div>
</li>
</div>
<li id="release-tab">
<webview style="height:100%;" frameborder="0" src="https://gitlab.com/ryzen-controller-team/ryzen-controller/releases"></webview>
</li>
<li class="uk-margin-top uk-margin-bottom uk-container">
<textarea class="uk-textarea" rows="20" id="logs" readonly></textarea>
</li>
<li class="uk-margin-top uk-margin-bottom uk-container">
<div>
<h2>1. How to set CPU TDP</h2>
<h3>Where to find the STAMP limit</h3>
<p>The main way to change your Ryzen CPUs TDP is by changing the STAMP watt value which you can find under the Heavy Impact menu.</p>
<img src="assets/Heavyimpactlight.JPG" />
<p>You can change this value up if you wish to have a higher TDP which will allow the CPU more headroom for high boost speeds on both CPU and Vega Graphics at the cost of heat or you can choose a lower the value for a lower TDP which will give less head room for the CPU and Vega Graphics to boost but will run cooler.</p>
<img src="assets/STAMPLimitLight.JPG" />
<p>Please note that truning this value up too much may cause crashes and or damage to the device so be careful</p>
<h3>Additional ways to change CPU TDP</h3>
<img src="assets/PPTFastPPTSlowLight.JPG" />
<p>There are also other ways in which the TDP of your CPU can be changed if you were to scroll down from STAMP limit to the bottom of the page you will find PPT Fast Limit and PPT Slow limit. These are the TDP limits that the CPU will use when in boost which is PPT Fast and the TDP limits when the CPU is not boosting PPT Slow limit. Both limits like the STAMP limit can be altered up and down to your liking.</p>
<p>Please note that truning these values up too much may also cause crashes and or damage to the device so be careful</p>
<h3>How to apply changes</h3>
<p>To apply these changes just scroll down to the bottom of the page and press on the blue apply button shown below from this point your changed settings will be set.</p>
<img src="assets/Apply%20Light.JPG" />
<p>Please note if you have any problems with you PC after this a simple reboot will reset your PC back to its default settings.</p>
<p>You can get additional help from the community Discord server <a title="Join us on discord" href="#" onClick="require('electron').shell.openExternal('https://discord.gg/EahayUv'" )>Here</a></p>
<!-- Export preset modal -->
<div id="modal-export-preset" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Export presets</h2>
<p>This is the data to be used by Ryzen Controller to import presets.</p>
<div class="uk-margin">
<textarea class="uk-textarea" rows="5" id="modal-export-preset-textarea" readonly></textarea>
</div>
<button class="uk-button uk-button-secondary uk-modal-close" type="button">Close</button>
</div>
</li>
</div>
</ul>
<!-- Add a preset modal -->
<div id="modal-new-preset" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Save current settings to preset</h2>
<p>The current settings will be saved to a new preset. Give it a name then you'll be able to reapply it fastly from the preset tab.</p>
<div class="uk-margin">
<input class="uk-input" type="text" id="new_preset_name" placeholder="Preset name: performance, low energy, unicorn power, ...">
<!-- Import preset modal -->
<div id="modal-import-preset" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Import presets</h2>
<p>Paste here the presets and valid, your current presets will be merged with this.</p>
<div class="uk-margin">
<textarea class="uk-textarea" rows="5" id="modal-import-preset-textarea"></textarea>
</div>
<button class="uk-button uk-button-primary uk-modal-close" type="button" onClick="preset_import()">Import</button>
<button class="uk-button uk-button-secondary uk-modal-close" type="button">Close</button>
</div>
<button class="uk-button uk-button-primary uk-modal-close" type="button" onClick="preset_createNewPreset()">Save</button>
<button class="uk-button uk-button-secondary uk-modal-close" type="button">Close</button>
</div>
</div>
<!-- Export preset modal -->
<div id="modal-export-preset" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Export presets</h2>
<p>This is the data to be used by Ryzen Controller to import presets.</p>
<div class="uk-margin">
<textarea class="uk-textarea" rows="5" id="modal-export-preset-textarea" readonly></textarea>
</div>
<button class="uk-button uk-button-secondary uk-modal-close" type="button">Close</button>
</div>
</div>
<!-- Import preset modal -->
<div id="modal-import-preset" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Import presets</h2>
<p>Paste here the presets and valid, your current presets will be merged with this.</p>
<div class="uk-margin">
<textarea class="uk-textarea" rows="5" id="modal-import-preset-textarea"></textarea>
</div>
<button class="uk-button uk-button-primary uk-modal-close" type="button" onClick="preset_import()">Import</button>
<button class="uk-button uk-button-secondary uk-modal-close" type="button">Close</button>
</div>
</div>
<script>
require('./renderer.js')
</script>
<script type="text/javascript" src="./js/preset.js"></script>
<script type="text/javascript" src="./js/methods.js"></script>
<script type="text/javascript" src="./js/app.js"></script>
<script type="text/javascript" src="./js/init.js"></script>
<script type="text/javascript" src="./js/menuHandler.js"></script>
</body>
</html>

View File

@ -2,231 +2,365 @@
<html>
<head>
<title>Ryzen Controller</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="./node_modules/uikit/dist/css/uikit.min.css" />
<script src="https://browser.sentry-cdn.com/5.6.1/bundle.min.js" crossorigin="anonymous"></script>
<script src="./node_modules/uikit/dist/js/uikit.min.js"></script>
<script src="./node_modules/uikit/dist/js/uikit-icons.min.js"></script>
<script src="https://kit.fontawesome.com/c7184454f2.js" crossorigin="anonymous"></script>
<style>
html,
body {
min-width: 800px;
}
<title id="title">Ryzen Controller</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="./node_modules/uikit/dist/css/uikit.min.css" />
<script src="https://browser.sentry-cdn.com/5.6.1/bundle.min.js" crossorigin="anonymous"></script>
<script src="./node_modules/uikit/dist/js/uikit.min.js"></script>
<script src="./node_modules/uikit/dist/js/uikit-icons.min.js"></script>
<script src="https://kit.fontawesome.com/c7184454f2.js" crossorigin="anonymous"></script>
<style>
* {
margin: 0;
padding: 0;
border: 0;
vertical-align: baseline;
}
#release-tab.uk-active {
position: absolute;
display: inline-block;
width: 100%;
height: calc(100vh - 110px);
}
html {
box-sizing: border-box;
}
#controller-tab h3 label,
#experimental-tab h3 label {
cursor: pointer;
}
*,
*:before,
*:after {
box-sizing: inherit;
}
#donation {
background: rgb(232, 91, 70);
}
html,
body {
border: 1.25px solid #ddd;
min-width: 800px;
height: 100%;
-webkit-app-region: drag;
overflow-y: hidden;
}
#discord {
background: rgb(114, 137, 218);
}
#titlebar {
display: block;
position: fixed;
height: 32px;
width: calc(100% - 2px);
z-index: 9999999999;
/*Compensate for body 1px border*/
}
#main {
height: calc(100% - 29px);
margin-top: 29px;
overflow-y: scroll;
}
#dark {
background-color: #333;
}
#rcon {
height: 64px;
width: auto;
}
nav {
display: block;
top: 0;
left: 0;
width: 100%;
height: 32px;
background-color: #ddd;
position: absolute;
margin: auto;
-webkit-app-region: drag;
position: fixed;
z-index: 1000;
overflow: hidden;
}
#dark {
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
margin-left: 35px;
margin-top: 21px;
float: left;
background-color: white;
position: absolute;
border: 2px solid;
border-left: none;
border-color: #333;
color: black;
}
nav #titleShown {
width: 30%;
height: 100%;
color: black;
font-size: 1em;
float: left;
padding: 0 0 0 1em;
line-height: 32px;
-webkit-app-region: drag;
}
#light {
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
margin-right: 0;
float: left;
position: absolute;
margin-left: 10px;
margin-top: 21px;
border: 2px solid;
border-right: none;
border-color: #333;
}
nav #buttons {
float: right;
min-width: 150px;
height: 100%;
background-color: #bbb;
line-height: 32px;
}
#dark:hover {
color: #bbb;
}
#buttons #minimize,
#buttons #maximize,
#buttons #close {
float: left;
height: 100%;
width: 33%;
text-align: center;
color: white;
transition: all ease-in-out .2s;
cursor: default;
}
#buttons #minimize:hover,
#buttons #maximize:hover {
background-color: #444;
}
#buttons #close:hover {
background-color: #ff0000;
}
#release-tab.uk-active {
position: absolute;
display: inline-block;
width: 100%;
height: calc(100vh - 110px);
}
#controller-tab h3 label,
#experimental-tab h3 label {
cursor: pointer;
}
#donation {
background: rgb(232, 91, 70);
-webkit-app-region: no-drag;
}
#discord {
background: rgb(114, 137, 218);
-webkit-app-region: no-drag;
}
#dark {
background-color: #333;
}
#rcon {
height: 110px;
width: auto;
}
h1 {
margin-bottom: 5px;
}
#dark {
background-color: white;
border: 2px solid;
border-color: #333;
color: black;
-webkit-app-region: no-drag;
margin-left: 0;
}
#light {
margin-right: 0;
border: 2px solid;
border-color: #333;
-webkit-app-region: no-drag;
margin: auto;
}
#dark:hover {
color: #bbb;
}
#light:hover {
color: #bbb;
}
.uk-tab>* {
padding-left: 10px;
-webkit-app-region: no-drag;
}
button,
ul,
li,
div {
-webkit-app-region: no-drag;
}
.delete {
margin-bottom: 0px;
}
@media only screen and (max-width: 1086px) {
.delete {
margin-bottom: 20px
}
}
</style>
#light:hover {
color: #bbb;
}
</style>
</head>
<body class="uk-animation-fade" uk-height-viewport="expand: true">
<h1>
<img id="rcon" src="assets/icon.png">
Ryzen Controller
<span id="version" class="uk-badge"></span>
<a class="uk-badge" id="donation" title="Buy us some beers ❤️" href="#" onClick="require('electron').shell.openExternal('https://www.patreon.com/ryzencontrollerteam')">Patreon</a>
<a class="uk-badge" id="discord" title="Join us on discord" href="#" onClick="require('electron').shell.openExternal('https://discord.gg/EahayUv')">Discord</a>
<a class="uk-badge" id="light" title="Light Mode" href="index.html"><i class="fas fa-sun"></i></a>
<a class="uk-badge" id="dark" title="Dark Mode (BETA)" href="index-dark.html"><i class="fas fa-moon"></i></a>
</h1>
<body class="uk-animation-fade">
<header id="titlebar">
<nav>
<div id="titleShown"></div>
<div id="buttons">
<div id="minimize">
<span>-</span>
</div>
<div id="maximize">
<span>&square;</span>
</div>
<div id="close">
<span>&times;</span>
</div>
</div>
</nav>
</header>
<div id="main">
<h1>
<img id="rcon" src="assets/icon.png">
Ryzen Controller
<span id="version" class="uk-badge"></span>
<a class="uk-badge" id="donation" title="Buy us some beers ❤️" href="#" onClick="require('electron').shell.openExternal('https://www.patreon.com/ryzencontrollerteam')">Patreon</a>
<a class="uk-badge" id="discord" title="Join us on discord" href="#" onClick="require('electron').shell.openExternal('https://discord.gg/EahayUv')">Discord</a>
<a class="uk-badge" id="light" title="Light Mode" href="index.html"><i class="fas fa-sun"></i></a>
<a class="uk-badge" id="dark" title="Dark Mode (BETA)" href="index-dark.html"><i class="fas fa-moon"></i></a>
<ul uk-switcher="animation: uk-animation-fade" uk-tab uk-sticky class="uk-background-default uk-margin-remove" id="main-container-selector">
<li><a href="#">Presets</a></li>
<li><a href="#">Settings</a></li>
<li><a href="#">Releases</a></li>
<li><a href="#">Logs</a></li>
<li><a href="#">Tutorials</a></li>
</ul>
<ul class="uk-switcher uk-margin-remove" id="main-container" uk-height-viewport="expand: true" style="position:relative;">
</h1>
<ul uk-switcher="animation: uk-animation-fade" uk-tab uk-tab uk-sticky="top: 56; offset: 32px; animation: uk-animation-slide-top;" class="uk-background-default uk-margin-remove" id="main-container-selector">
<li><a href="#">Presets</a></li>
<li><a href="#">Settings</a></li>
<li><a href="#">Releases</a></li>
<li><a href="#">Logs</a></li>
<li><a href="#">System Info</a></li>
<li><a href="#">Tutorial</a></li>
</ul>
<ul class="uk-switcher uk-margin-remove" id="main-container" uk-height-viewport="expand: true" style="position:relative;">
<li class="uk-margin-top uk-margin-bottom uk-container">
<div id="presetTab"></div>
<p class="uk-margin">
<button class="uk-button uk-button-secondary" uk-toggle="target: #modal-export-preset" type="button" onClick="preset_export()">
Export
</button>
<button class="uk-button uk-button-secondary" uk-toggle="target: #modal-import-preset" type="button">
Import
</button>
</p>
</li>
<li class="uk-margin-top uk-margin-bottom uk-container">
<h3 class="windows-only">Auto start:</h3>
<label class="windows-only"><input class="uk-checkbox" type="checkbox" id="start_at_boot"> When checked, Ryzen Controller will start on session start.</label>
<h3>Auto apply on launch:</h3>
<label><input class="uk-checkbox" type="checkbox" id="apply_last_settings_on_launch"> When checked, Ryzen Controller will try to apply latest used settings on launch.</label>
<h3>Minimize to tray:</h3>
<label><input class="uk-checkbox" type="checkbox" id="minimize_to_tray"> When checked, Ryzen Controller will minimize to tray instead of taskbar.</label><br>
<label><input class="uk-checkbox" type="checkbox" id="start_minimized"> When checked, Ryzen Controller will start minimized when you launch it.</label>
<!--
<h3 class="windows-only">HPET:</h3>
<p class="uk-margin windows-only">
High Precision Event Timer: Allow application to get time with precision below microseconds, but is slower than most other other timer facilities.<br/>
Try running benchmark with and without to see if you get any difference.<br/>
If it doesn't make any difference, it's recommanded to let it enable.<br/>
<em>You must reboot to apply changes.</em>
</p>
<p class="uk-margin windows-only">
<button class="uk-button uk-button-primary" onClick="toggleHpet('true')">Enable</button>
<button class="uk-button uk-button-secondary" onClick="toggleHpet('false')">Disable</button>
</p>
-->
<h3>Re-apply ryzenadj periodically:</h3>
<p>Ryzen Controller will re-apply ryzenadj every X seconds. Set to 0 to disable.</p>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-1-6">
<input class="uk-input" type="number" min="0" step="10" max="3600" value="0" id="reapply_periodically" repeat="reapply_periodically_range">
</div>
<div class="uk-width-expand">
<input class="uk-range" type="range" min="0" step="10" max="3600" value="0" repeat="reapply_periodically" id="reapply_periodically_range">
</div>
</div>
<h3>Ryzenadj path:</h3>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-2-3@s">
<input class="uk-input" type="text" id="ryzen_adj_path">
</div>
<div class="uk-width-1-3@s">
<button class="uk-button uk-button-default uk-button-small" type="button" onClick="askingForRyzenAdjExecutablePath()">
Select path to ryzenadj.exe
</button>
</div>
</div>
</li>
<li id="release-tab">
<webview style="height:100%;" frameborder="0" src="https://gitlab.com/ryzen-controller-team/ryzen-controller/releases"></webview>
</li>
<li class="uk-margin-top uk-margin-bottom uk-container">
<textarea class="uk-textarea" rows="20" id="logs" readonly></textarea>
</li>
<li class="uk-margin-top uk-margin-bottom uk-container">
<div>
<canvas id="glcanvas" width="0" height="0"></canvas>
<h3>System Infomation</h3>
<div id="cpu"></div>
<div id="cores"></div>
<div id="cpuspeed"></div>
<div id="gpu1"></div>
<div id="memory"></div>
<div id="platform"></div>
<li class="uk-margin-top uk-margin-bottom uk-container">
<div id="presetTab"></div>
<p class="uk-margin">
<button class="uk-button uk-button-secondary" uk-toggle="target: #modal-export-preset" type="button" onClick="preset_export()">
Export
</button>
<button class="uk-button uk-button-secondary" uk-toggle="target: #modal-import-preset" type="button">
Import
</button>
</p>
</li>
</div>
</li>
<li class="uk-margin-top uk-margin-bottom uk-container">
<div>
<h2>Coming Soon</h2>
</div>
</li>
</ul>
<li class="uk-margin-top uk-margin-bottom uk-container">
<h3 class="windows-only">Auto start:</h3>
<label class="windows-only"><input class="uk-checkbox" type="checkbox" id="start_at_boot"> When checked, Ryzen Controller will start on session start.</label>
<h3>Auto apply on launch:</h3>
<label><input class="uk-checkbox" type="checkbox" id="apply_last_settings_on_launch"> When checked, Ryzen Controller will try to apply latest used settings on launch.</label>
<h3>Minimize to tray:</h3>
<label><input class="uk-checkbox" type="checkbox" id="minimize_to_tray"> When checked, Ryzen Controller will minimize to tray instead of taskbar.</label><br>
<label><input class="uk-checkbox" type="checkbox" id="start_minimized"> When checked, Ryzen Controller will start minimized when you launch it.</label>
<!-- <h3 class="windows-only">HPET:</h3>
<p class="uk-margin windows-only">
High Precision Event Timer: Allow application to get time with precision below microseconds, but is slower than most other other timer facilities.<br/>
Try running benchmark with and without to see if you get any difference.<br/>
If it doesn't make any difference, it's recommanded to let it enable.<br/>
<em>You must reboot to apply changes.</em>
</p>
<p class="uk-margin windows-only">
<button class="uk-button uk-button-primary" onClick="toggleHpet('true')">Enable</button>
<button class="uk-button uk-button-secondary" onClick="toggleHpet('false')">Disable</button>
</p> -->
<h3>Re-apply ryzenadj periodically:</h3>
<p>Ryzen Controller will re-apply ryzenadj every X seconds. Set to 0 to disable.</p>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-1-6">
<input class="uk-input" type="number" min="0" step="10" max="3600" value="0" id="reapply_periodically" repeat="reapply_periodically_range">
</div>
<div class="uk-width-expand">
<input class="uk-range" type="range" min="0" step="10" max="3600" value="0" repeat="reapply_periodically" id="reapply_periodically_range">
</div>
</div>
<h3>Ryzenadj path:</h3>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-2-3@s">
<input class="uk-input" type="text" id="ryzen_adj_path">
</div>
<div class="uk-width-1-3@s">
<button class="uk-button uk-button-default uk-button-small" type="button" onClick="askingForRyzenAdjExecutablePath()">
Select path to ryzenadj.exe
</button>
</div>
</div>
</li>
<!-- Add a preset modal -->
<div id="modal-new-preset" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Save current settings to preset</h2>
<p>The current settings will be saved to a new preset. Give it a name then you'll be able to reapply it fastly from the preset tab.</p>
<div class="uk-margin">
<input class="uk-input" type="text" id="new_preset_name" placeholder="Preset name: performance, low energy, unicorn power, ...">
</div>
<button class="uk-button uk-button-primary uk-modal-close" type="button" onClick="preset_createNewPreset()">Save</button>
<button class="uk-button uk-button-secondary uk-modal-close" type="button">Close</button>
</div>
</div>
<li id="release-tab">
<webview style="height:100%;" frameborder="0" src="https://gitlab.com/ryzen-controller-team/ryzen-controller/releases"></webview>
</li>
<!-- Export preset modal -->
<div id="modal-export-preset" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Export presets</h2>
<p>This is the data to be used by Ryzen Controller to import presets.</p>
<div class="uk-margin">
<textarea class="uk-textarea" rows="5" id="modal-export-preset-textarea" readonly></textarea>
</div>
<button class="uk-button uk-button-secondary uk-modal-close" type="button">Close</button>
</div>
</div>
<li class="uk-margin-top uk-margin-bottom uk-container">
<textarea class="uk-textarea" rows="20" id="logs" readonly></textarea>
</li>
<li class="uk-margin-top uk-margin-bottom uk-container">
<div>
<h2>1. How to set CPU TDP</h2>
<h3>Where to find the STAMP limit</h3>
<p>The main way to change your Ryzen CPUs TDP is by changing the STAMP watt value which you can find under the Heavy Impact menu.</p>
<img src="assets/Heavyimpactlight.JPG" />
<p>You can change this value up if you wish to have a higher TDP which will allow the CPU more headroom for high boost speeds on both CPU and Vega Graphics at the cost of heat or you can choose a lower the value for a lower TDP which will give less head room for the CPU and Vega Graphics to boost but will run cooler.</p>
<img src="assets/STAMPLimitLight.JPG" />
<p>Please note that truning this value up too much may cause crashes and or damage to the device so be careful</p>
<h3>Additional ways to change CPU TDP</h3>
<img src="assets/PPTFastPPTSlowLight.JPG" />
<p>There are also other ways in which the TDP of your CPU can be changed if you were to scroll down from STAMP limit to the bottom of the page you will find PPT Fast Limit and PPT Slow limit. These are the TDP limits that the CPU will use when in boost which is PPT Fast and the TDP limits when the CPU is not boosting PPT Slow limit. Both limits like the STAMP limit can be altered up and down to your liking.</p>
<p>Please note that truning these values up too much may also cause crashes and or damage to the device so be careful</p>
<h3>How to apply changes</h3>
<p>To apply these changes just scroll down to the bottom of the page and press on the blue apply button shown below from this point your changed settings will be set.</p>
<img src="assets/Apply%20Light.JPG" />
<p>Please note if you have any problems with you PC after this a simple reboot will reset your PC back to its default settings.</p>
<p>You can get additional help from the community Discord server <a title="Join us on discord" href="#" onClick="require('electron').shell.openExternal('https://discord.gg/EahayUv'" )>Here</a></p>
</div>
</li>
</ul>
<!-- Add a preset modal -->
<div id="modal-new-preset" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Save current settings to preset</h2>
<p>The current settings will be saved to a new preset. Give it a name then you'll be able to reapply it fastly from the preset tab.</p>
<div class="uk-margin">
<input class="uk-input" type="text" id="new_preset_name" placeholder="Preset name: performance, low energy, unicorn power, ...">
</div>
<button class="uk-button uk-button-primary uk-modal-close" type="button" onClick="preset_createNewPreset()">Save</button>
<button class="uk-button uk-button-secondary uk-modal-close" type="button">Close</button>
</div>
</div>
<!-- Export preset modal -->
<div id="modal-export-preset" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Export presets</h2>
<p>This is the data to be used by Ryzen Controller to import presets.</p>
<div class="uk-margin">
<textarea class="uk-textarea" rows="5" id="modal-export-preset-textarea" readonly></textarea>
</div>
<button class="uk-button uk-button-secondary uk-modal-close" type="button">Close</button>
</div>
</div>
<!-- Import preset modal -->
<div id="modal-import-preset" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Import presets</h2>
<p>Paste here the presets and valid, your current presets will be merged with this.</p>
<div class="uk-margin">
<textarea class="uk-textarea" rows="5" id="modal-import-preset-textarea"></textarea>
</div>
<button class="uk-button uk-button-primary uk-modal-close" type="button" onClick="preset_import()">Import</button>
<button class="uk-button uk-button-secondary uk-modal-close" type="button">Close</button>
</div>
</div>
<script type="text/javascript" src="./js/preset.js"></script>
<script type="text/javascript" src="./js/methods.js"></script>
<script type="text/javascript" src="./js/app.js"></script>
<!-- Import preset modal -->
<div id="modal-import-preset" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title">Import presets</h2>
<p>Paste here the presets and valid, your current presets will be merged with this.</p>
<div class="uk-margin">
<textarea class="uk-textarea" rows="5" id="modal-import-preset-textarea"></textarea>
</div>
<button class="uk-button uk-button-primary uk-modal-close" type="button" onClick="preset_import()">Import</button>
<button class="uk-button uk-button-secondary uk-modal-close" type="button">Close</button>
</div>
</div>
</div>
<script>
require('./renderer.js')
</script>
<script type="text/javascript" src="./js/preset.js"></script>
<script type="text/javascript" src="./js/methods.js"></script>
<script type="text/javascript" src="./js/app.js"></script>
<script type="text/javascript" src="./js/init.js"></script>
<script type="text/javascript" src="./js/menuHandler.js"></script>
</body>
</html>

78
js/init.js Normal file
View File

@ -0,0 +1,78 @@
var os = require("os");
var title = document.getElementById('title').innerHTML;
var cpus = os.cpus();
var cpucount = cpus.length;
var cpucores;
var cpuman;
var cpuspeed;
var cpuspeedmhz;
var platform;
var mem;
var totalmem;
var gputest1;
cpus.forEach(function (cpu, i) {
cpuman = "<strong>Processor Model: </strong>" + cpu.model;
cpuspeed = cpu.speed;
cpuspeedmhz = "<strong>Processor Frequency: </strong>" + cpuspeed.toString() + "MHz";
platform = os.platform();
mem = os.totalmem();
mem = mem / 1000000000;
mem = Math.trunc(mem);
totalmem = "<strong>System Memory: </strong>" + mem.toString()+ " " + "GB";
cpucores = "<strong>Processor Cores: </strong>" + cpucount.toString();
if(platform == "win32"){
platform = "<strong>Platform: </strong>" + "Windows " + os.release();
} else if(platform == "linux"){
platform = "<strong>Platform: </strong>" + "Linux " + os.release();
}
});
var canvas;
canvas = document.getElementById("glcanvas");
var gl = canvas.getContext("experimental-webgl");
function getUnmaskedInfo(gl) {
var unMaskedInfo = {
renderer: '',
vendor: ''
};
var dbgRenderInfo = gl.getExtension("WEBGL_debug_renderer_info");
if (dbgRenderInfo != null) {
unMaskedInfo.renderer = gl.getParameter(dbgRenderInfo.UNMASKED_RENDERER_WEBGL);
unMaskedInfo.vendor = gl.getParameter(dbgRenderInfo.UNMASKED_VENDOR_WEBGL);
}
return unMaskedInfo;
}
gputest1 = getUnmaskedInfo(gl).renderer;
if(gputest1 =="ANGLE (AMD Radeon(TM) RX Vega 10 Graphics Direct3D11 vs_5_0 ps_5_0)"){
gputest1 = "AMD Radeon(TM) RX Vega 10 Graphics"
} else if (gputest1 =="ANGLE (AMD Radeon(TM) RX Vega 8 Graphics Direct3D11 vs_5_0 ps_5_0)"){
gputest1 = "AMD Radeon(TM) RX Vega 8 Graphics"
} else if(gputest1 =="ANGLE (AMD Radeon(TM) RX Vega 8 Mobile Graphics Direct3D11 vs_5_0 ps_5_0)"){
gputest1 = "AMD Radeon(TM) RX Vega 8 Graphics"
} else if(gputest1 =="ANGLE (AMD Radeon(TM) RX Vega 3 Graphics Direct3D11 vs_5_0 ps_5_0)"){
gputest1 = "AMD Radeon(TM) RX Vega 3 Graphics"
} else if(gputest1 =="ANGLE (AMD Radeon(TM) RX Vega 3 Mobile Graphics Direct3D11 vs_5_0 ps_5_0)"){
gputest1 = "AMD Radeon(TM) RX Vega 3 Graphics"
}
document.getElementById('titleShown').innerHTML = title;
document.getElementById('cpu').innerHTML = cpuman;
document.getElementById('cores').innerHTML = cpucores;
document.getElementById('cpuspeed').innerHTML = cpuspeedmhz;
document.getElementById('platform').innerHTML = platform;
document.getElementById('memory').innerHTML = totalmem;
document.getElementById('gpu1').innerHTML = "<strong>GPU: </strong>" + gputest1;

22
js/menuHandler.js Normal file
View File

@ -0,0 +1,22 @@
const {remote} = require('electron');
document.getElementById('close').addEventListener('click', closeWindow);
document.getElementById('minimize').addEventListener('click', minimizeWindow);
document.getElementById('maximize').addEventListener('click', maximizeWindow);
function closeWindow () {
var window = remote.getCurrentWindow();
window.close();
}
function minimizeWindow () {
var window = remote.getCurrentWindow();
window.minimize();
}
function maximizeWindow () {
var window = remote.getCurrentWindow()
window.isMaximized() ? window.unmaximize() : window.maximize();
}

View File

@ -1,30 +1,8 @@
{
"min_socclk_frequency": {
"description": "The minimum clock speed the CPU is allowed to run at.",
"label": "Minimum SOC Clock Frequency (Mhz)",
"tab": "Experimental",
"min": "200",
"max": "750",
"step": "1",
"default": "200",
"ryzenadj_arg": "--min-socclk-frequency=",
"ryzenadj_value_convert": "roundTen"
},
"max_socclk_frequency": {
"description": "The maximum clock speed the CPU is allowed to run at.",
"label": "Maximum SOC Clock Frequency (Mhz)",
"tab": "Experimental",
"min": "200",
"max": "750",
"step": "1",
"default": "600",
"ryzenadj_arg": "--max-socclk-frequency=",
"ryzenadj_value_convert": "roundTen"
},
"slow_ppt_constant_time": {
"description": "This define the period to be used out of boost period to deliver a constant power to be delivered to the socket.",
"label": "Package Power Tracking (PPT) - Slow period",
"tab": "Low Impact",
"tab": "Power Settings",
"min": "1",
"max": "3600",
"step": "1",
@ -32,65 +10,10 @@
"ryzenadj_arg": "--slow-time=",
"ryzenadj_value_convert": "toThousand"
},
"min_fclk_frequency": {
"description": "Fabric is AMD's marketing term for the bus connection that connects processor dies (GPU/CPU). This define the bus's min. clock limit.",
"label": "Minimum transmission frequency (Mhz)",
"tab": "Low impact",
"min": "800",
"max": "1600",
"step": "1",
"default": "800",
"ryzenadj_arg": "--min-fclk-frequency=",
"ryzenadj_value_convert": false
},
"max_fclk_frequency": {
"description": "Fabric is AMD's marketing term for the bus connection that connects processor dies (GPU/CPU). This define the bus's max. clock limit.",
"label": "Maximum transmission frequency (Mhz)",
"tab": "Low impact",
"min": "800",
"max": "1600",
"step": "1",
"default": "1200",
"ryzenadj_arg": "--max-fclk-frequency=",
"ryzenadj_value_convert": false
},
"temperature_limit_c": {
"description": "The temperature the CPU can reach before boost levels off.",
"label": "Temperature Limit (°C)",
"tab": "Heavy impact",
"min": "50",
"max": "100",
"step": "1",
"default": "75",
"ryzenadj_arg": "--tctl-temp=",
"ryzenadj_value_convert": false
},
"stapm_limit_w": {
"description": "Skin Temperature Aware Power Management. This will define the socket power package limit which is used to manage the device boost period.",
"label": "STAPM Limit (W)",
"tab": "Heavy impact",
"min": "5",
"max": "60",
"step": "1",
"default": "20",
"ryzenadj_arg": "--stapm-limit=",
"ryzenadj_value_convert": "toThousand"
},
"stapm_time_ms": {
"description": "Skin Temperature Aware Power Management. This will define the boost period to be used.",
"label": "STAPM Constant Time (Sec.)",
"tab": "Heavy impact",
"min": "1",
"max": "3600",
"step": "1",
"default": "900",
"ryzenadj_arg": "--stapm-time=",
"ryzenadj_value_convert": "toThousand"
},
"psi0_current_limit": {
"description": "The limit of current we let the motherboard deliver to the PSI0.",
"label": "PSI0 Current Limit (mA)",
"tab": "Heavy impact",
"tab": "Power Settings",
"min": "20",
"max": "100",
"step": "1",
@ -101,7 +24,7 @@
"vrm_current_m_a": {
"description": "The limit of current we let the motherboard deliver to the CPU.",
"label": "VRM Current (A)",
"tab": "Heavy impact",
"tab": "Power Settings",
"min": "20",
"max": "75",
"step": "1",
@ -111,8 +34,8 @@
},
"min_gfxclk_frequency": {
"description": "The minimum clock speed the integrated (Vega) GPU is allowed to run at.",
"label": "Minimum GFX Clock Frequency (Mhz)",
"tab": "Heavy impact",
"label": "Minimum Vega iGPU Clock Frequency (Mhz)",
"tab": "GPU Settings",
"min": "400",
"max": "1300",
"step": "1",
@ -122,8 +45,8 @@
},
"max_gfxclk_frequency": {
"description": "The maximum clock speed the integrated (Vega) GPU is allowed to run at.",
"label": "Maximum GFX Clock Frequency (Mhz)",
"tab": "Heavy impact",
"label": "Maximum Vega iGPU Clock Frequency (Mhz)",
"tab": "GPU Settings",
"min": "400",
"max": "1300",
"step": "1",
@ -131,10 +54,65 @@
"ryzenadj_arg": "--max-gfxclk=",
"ryzenadj_value_convert": "roundTen"
},
"min_fclk_frequency": {
"description": "Infinity Fabric is AMD's marketing term for the bus connection that connects processor dies (GPU/CPU). This define the bus's min. clock limit.",
"label": "Minimum Infinity Fabric frequency (Mhz)",
"tab": "GPU Settings",
"min": "800",
"max": "1600",
"step": "1",
"default": "800",
"ryzenadj_arg": "--min-fclk-frequency=",
"ryzenadj_value_convert": false
},
"max_fclk_frequency": {
"description": "Infinity Fabric is AMD's marketing term for the bus connection that connects processor dies (GPU/CPU). This define the bus's max. clock limit.",
"label": "Maximum Infinity Fabric frequency (Mhz)",
"tab": "GPU Settings",
"min": "800",
"max": "1600",
"step": "1",
"default": "1200",
"ryzenadj_arg": "--max-fclk-frequency=",
"ryzenadj_value_convert": false
},
"temperature_limit_c": {
"description": "The temperature the CPU can reach before boost levels off.",
"label": "Temperature Limit (°C)",
"tab": "CPU Settings",
"min": "50",
"max": "100",
"step": "1",
"default": "75",
"ryzenadj_arg": "--tctl-temp=",
"ryzenadj_value_convert": false
},
"stapm_limit_w": {
"description": "Skin Temperature Aware Power Management. This will define the socket power package limit which is used to manage the device boost period.",
"label": "CPU TDP (W)",
"tab": "CPU Settings",
"min": "5",
"max": "60",
"step": "1",
"default": "20",
"ryzenadj_arg": "--stapm-limit=",
"ryzenadj_value_convert": "toThousand"
},
"stapm_time_ms": {
"description": "Skin Temperature Aware Power Management. This will define the boost period to be used.",
"label": "CPU Boost Period",
"tab": "CPU Settings",
"min": "1",
"max": "3600",
"step": "1",
"default": "900",
"ryzenadj_arg": "--stapm-time=",
"ryzenadj_value_convert": "toThousand"
},
"ppt_fast_limit_w": {
"description": "The amount of power the CPU can draw while boost levels on.",
"label": "PPT Fast Limit (W)",
"tab": "Heavy impact",
"label": "CPU Boost TDP (W)",
"tab": "CPU Settings",
"min": "5",
"max": "60",
"step": "1",
@ -144,8 +122,8 @@
},
"ppt_slow_limit_w": {
"description": "The amount of power the CPU can draw while boost levels off.",
"label": "PPT Slow Limit (W)",
"tab": "Heavy impact",
"label": "CPU Min TDP (W)",
"tab": "CPU Settings",
"min": "5",
"max": "60",
"step": "1",

View File

@ -180,7 +180,7 @@ function preset_updateList() {
</label>
</td>
<td class="preset">
<button class="uk-button uk-margin uk-button-danger" type="button" onClick="preset_deletion('${presetName}')">
<button class="uk-button uk-button-danger delete" type="button" onClick="preset_deletion('${presetName}')">
Delete
</button>
<button class="uk-button uk-button-primary" type="button" onClick="preset_apply('${presetName}')">

11
main.js
View File

@ -1,6 +1,7 @@
// Handle setupevents as quickly as possible
const setupEvents = require('./installers/setupEvents')
// squirrel event handled and app will exit in 1000ms, so don't do anything else
if (!setupEvents.handleSquirrelEvent()) {
@ -155,14 +156,20 @@ if (!setupEvents.handleSquirrelEvent()) {
// Create the browser window.
mainWindow = new BrowserWindow({
width: 1000,
height: 800,
height: 600,
minWidth: 950,
minHeight: 400,
frame: false,
webPreferences: {
nodeIntegration: true,
webviewTag: true,
},
icon: appIcon,
show: false,
})
});
mainWindow.setMenuBarVisibility(false);
mainWindow.setResizable(true);
if (!settings.get('settings.start_minimized')) {
mainWindow.show();
mainWindow.setMenuBarVisibility(false);

7
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "ryzencontroller",
"version": "1.16.0",
"version": "1.5.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -1298,6 +1298,11 @@
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
},
"jquery": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz",
"integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw=="
},
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",

View File

@ -35,6 +35,7 @@
"compare-versions": "^3.4.0",
"electron-settings": "^3.2.0",
"fix-path": "^2.1.0",
"jquery": "^3.4.1",
"uikit": "^3.1.5",
"uuid": "^3.3.2"
}