Homebrew RELEASE sys-clk under/overclocking sysmodule

  • Thread starter m4xw
  • Start date
  • Views 338,808
  • Replies 1,059
  • Likes 85

UnT7oh

Well-Known Member
Newcomer
Joined
Mar 18, 2017
Messages
87
Trophies
0
XP
336
Country
United States
I have, several times. You must be using an old version or something.

I'm using the latest version. I'm afraid you've misinterpreted the log or didn't have a custom profile in place when testing. sys-clk custom profiles override boost mode immediately, it doesn't have any allowances in place for boost mode.

Why do you think the other tool I linked added a feature to pause sys-clk for boost mode?
 

UnT7oh

Well-Known Member
Newcomer
Joined
Mar 18, 2017
Messages
87
Trophies
0
XP
336
Country
United States
A mystery! Curious what is in fact true :) Maybe someone who worked on sysclk might know what is going on

It's really not a mystery, it's already known that sys-clk custom profile values override boost mode but I'll go ahead and prove it anyway so people don't get bad information. The most likely explanation is that he tested a custom profile that only consisted of CPU OR GPU and misinterpreted the fact that sys-clk was only changing one of values as sys-clk working with boost mode. Both of the following examples were from a log produced from the latest version of sys-clk: 0.13.0

Here is an example of Link's Awakening with a CPU and GPU overclock of 1581MHz and 844MHz. First of all we see our custom profile applied, then we see boost mode: 1785/76.8, within a split second of boost mode starting sys-clk reapplies 1581/844. When boost mode ends 4 seconds later the default clock of 1020/768 is applied and again within a split second sys-clk reapplies our profile of 1581/844.

[2019-11-06 13:15:45.754] [mgr] TitleID change: 01006BB00C6F0000
[2019-11-06 13:15:45.788] [mgr] CPU clock set : 1581.0 Mhz
[2019-11-06 13:15:45.804] [mgr] GPU clock set : 844.8 Mhz
[2019-11-06 13:15:47.391] [mgr] CPU clock change: 1785.0 Mhz
[2019-11-06 13:15:47.429] [mgr] GPU clock change: 76.8 Mhz
[2019-11-06 13:15:47.464] [mgr] CPU clock set : 1581.0 Mhz
[2019-11-06 13:15:47.500] [mgr] GPU clock set : 844.8 Mhz
[2019-11-06 13:15:51.440] [mgr] CPU clock change: 1020.0 Mhz
[2019-11-06 13:15:51.472] [mgr] GPU clock change: 768.0 Mhz
[2019-11-06 13:15:51.492] [mgr] CPU clock set : 1581.0 Mhz
[2019-11-06 13:15:51.516] [mgr] GPU clock set : 844.8 Mhz

Here is an example with only a GPU overclock of 844MHz, this is probably where he got confused. First of all we see our custom profile which is GPU only at 844MHz, then we see boost mode: 1785/76.8, within a split second sys-clk reapplies 844 GPU but the CPU is not changed because we don't have it in our profile. Boost mode ends 4 second later and the default clock of 1020/768 is applied and again within a split second sys-clk reapplies our profile of 844 GPU.

[2019-11-06 13:18:20.365] [mgr] TitleID change: 01006BB00C6F0000
[2019-11-06 13:18:20.397] [mgr] GPU clock set : 844.8 Mhz
[2019-11-06 13:18:22.334] [mgr] CPU clock change: 1785.0 Mhz
[2019-11-06 13:18:22.370] [mgr] GPU clock change: 76.8 Mhz
[2019-11-06 13:18:22.404] [mgr] GPU clock set : 844.8 Mhz
[2019-11-06 13:18:26.276] [mgr] CPU clock change: 1020.0 Mhz
[2019-11-06 13:18:26.336] [mgr] GPU clock change: 768.0 Mhz
[2019-11-06 13:18:26.425] [mgr] GPU clock set : 844.8 Mhz
 
Last edited by UnT7oh,

Instandhaltung

I feel it. I feel the cosmos!
Member
Joined
Aug 4, 2016
Messages
237
Trophies
0
Age
33
XP
1,544
Country
Germany
It's really not a mystery, it's already known that sys-clk custom profile values override boost mode but I'll go ahead and prove it anyway so people don't get bad information. The most likely explanation is that he tested a custom profile that only consisted of CPU OR GPU and misinterpreted the fact that sys-clk was only changing one of values as sys-clk working with boost mode. Both of the following examples were from a log produced from the latest version of sys-clk: 0.13.0

Here is an example of Link's Awakening with a CPU and GPU overclock of 1581MHz and 844MHz. First of all we see our custom profile applied, then we see boost mode: 1785/76.8, within a split second of boost mode starting sys-clk reapplies 1581/844. When boost mode ends 4 seconds later the default clock of 1020/768 is applied and again within a split second sys-clk reapplies our profile of 1581/844.

[2019-11-06 13:15:45.754] [mgr] TitleID change: 01006BB00C6F0000
[2019-11-06 13:15:45.788] [mgr] CPU clock set : 1581.0 Mhz
[2019-11-06 13:15:45.804] [mgr] GPU clock set : 844.8 Mhz
[2019-11-06 13:15:47.391] [mgr] CPU clock change: 1785.0 Mhz
[2019-11-06 13:15:47.429] [mgr] GPU clock change: 76.8 Mhz
[2019-11-06 13:15:47.464] [mgr] CPU clock set : 1581.0 Mhz
[2019-11-06 13:15:47.500] [mgr] GPU clock set : 844.8 Mhz
[2019-11-06 13:15:51.440] [mgr] CPU clock change: 1020.0 Mhz
[2019-11-06 13:15:51.472] [mgr] GPU clock change: 768.0 Mhz
[2019-11-06 13:15:51.492] [mgr] CPU clock set : 1581.0 Mhz
[2019-11-06 13:15:51.516] [mgr] GPU clock set : 844.8 Mhz

Here is an example with only a GPU overclock of 844MHz, this is probably where he got confused. First of all we see our custom profile which is GPU only at 844MHz, then we see boost mode: 1785/76.8, within a split second sys-clk reapplies 844 GPU but the CPU is not changed because we don't have it in our profile. Boost mode ends 4 second later and the default clock of 1020/768 is applied and again within a split second sys-clk reapplies our profile of 844 GPU.

[2019-11-06 13:18:20.365] [mgr] TitleID change: 01006BB00C6F0000
[2019-11-06 13:18:20.397] [mgr] GPU clock set : 844.8 Mhz
[2019-11-06 13:18:22.334] [mgr] CPU clock change: 1785.0 Mhz
[2019-11-06 13:18:22.370] [mgr] GPU clock change: 76.8 Mhz
[2019-11-06 13:18:22.404] [mgr] GPU clock set : 844.8 Mhz
[2019-11-06 13:18:26.276] [mgr] CPU clock change: 1020.0 Mhz
[2019-11-06 13:18:26.336] [mgr] GPU clock change: 768.0 Mhz
[2019-11-06 13:18:26.425] [mgr] GPU clock set : 844.8 Mhz


Thanks, very insightful.
 

p-sam

Well-Known Member
Member
Joined
Feb 3, 2019
Messages
108
Trophies
0
XP
602
Country
France
Wow yea, sys-clk never had any special treatment for boost mode, for the simple reason I never deemed worth to break the underclock use case (since then you UP the CPU if boost mode). The short period of time boost mode is active makes it next to pointless, because of how close you usually are to the actual boost mode cpu freq (if you have OC profiles like all you mad lads do). Even if, let's say you only increased to 1224Mhz, with the sys-clk loop polling and the time where it's actually applied, it would appear to be a far fetched hacked-in treatment with low rewards.
 

Puremin0rez

Active Member
Newcomer
Joined
Apr 1, 2019
Messages
28
Trophies
0
Age
28
Location
Chicago, IL, US
XP
290
Country
United States
I just got done playing Pokemon Sword with max clocks (CPU, GPU, MEM) docked the entire time using the official Nintendo charger.

When I started, my battery was at 100%. 9 hours later, my battery was down to 87%. Is this normal behavior? I'm worried that I'm straining my battery or system pretty hard that it can't even grab enough power.
 

Rahkeesh

Well-Known Member
Member
Joined
Apr 3, 2018
Messages
2,070
Trophies
1
Age
40
XP
2,503
Country
United States
It dropped only 20% after 9 hours so that isn't really significant battery strain compared to normal handheld operation. At least as I understand it. Its just that the dock can't deliver enough power on its own to support max clocks, so it has to pull from the battery as well.

If you got everything fully overclocked then of course its running at higher temps than normal. Up to you how much of a concern that is, but I would probably back down the CPU to the point where you see an actual difference, as the GPU seems to be better at idling when not needed.
 

UnT7oh

Well-Known Member
Newcomer
Joined
Mar 18, 2017
Messages
87
Trophies
0
XP
336
Country
United States
Wow yea, sys-clk never had any special treatment for boost mode, for the simple reason I never deemed worth to break the underclock use case (since then you UP the CPU if boost mode).

Are you really breaking underclock? GPU is the biggest power draw and it's throttled to minimum during boost mode as you know. Yes with an underclock you probably have a low GPU to begin with but I'd argue that minimum GPU and a shortened loading time may not have much of a different power draw to a longer loading period with a potentially higher GPU clock.

The short period of time boost mode is active makes it next to pointless, because of how close you usually are to the actual boost mode cpu freq (if you have OC profiles like all you mad lads do). Even if, let's say you only increased to 1224Mhz, with the sys-clk loop polling and the time where it's actually applied, it would appear to be a far fetched hacked-in treatment with low rewards.

The short period of time boost mode is active? Boost mode is used for long periods in certain games, even so I don't think looking at it in a vacuum, as an amount of time is correct - you should be thinking of this as a percentage total gain across all games, even 5% would save the user a lot of loading time after a certain amount of time.

Which leads me to my next point, you say having profiles close to maximum CPU makes implementing a boost mode allowance pointless. I would disagree with that, even if we 'only' jump from 1581 to 1785 we're throwing over 10% extra CPU power at the task. I haven't recorded any metrics as to how much time that translates to in real world but that could easily be tested, the point is that even if we gained 5% loading time improvement it is actually worth it. Plus that only considers use cases where we have a large CPU overclock already, it doesn't consider for example GPU only overclocks where of course you would get a massive CPU increase during boost mode.

I've been using this solution and it works for me for pausing sys-clk during boost mode to allow full CPU, improving loading speed and resuming sys-clk custom profile when boost mode ends: https://gbatemp.net/threads/universal-clock-settings-for-sys-clk-and-sys-clk-editor.548829/
In that thread you say games don't get a benefit but they do, I asked you why you made that statement and didn't receive a reply so I'm curious to know why you say that unless it's simply for the reasons you gave above?
 
Last edited by UnT7oh,

p-sam

Well-Known Member
Member
Joined
Feb 3, 2019
Messages
108
Trophies
0
XP
602
Country
France
Are you really breaking underclock?
Yup, I get the logic that you're trying to explain after, but you're still breaking it in a sense that you're setting something different from the user profile, where it's supposed to apply what you requested.

I'd argue that minimum GPU and a shortened loading time may not have much of a different power draw to a longer loading period with a potentially higher GPU clock.
May or may not, I don't have numbers either, I'd even argue for theories sake that an underclock use-case would be on games with no intense loading times anyway, making the whole underclock case non-existant. My most used underclocked game is Picross, it never had any boost mode to begin with.

you should be thinking of this as a percentage total gain across all games, even 5% would save the user a lot of loading time after a certain amount of time.
It would be close to trying to put it in percentage just so that it makes "big numbers", correct? I would not agree with you in that case. "deeming worth" the "spaghetti code" handling would take numbers noticeable by users on typical uses cases. (The "spaghetti" term might be more extreme than the actual situation, it's just about picturing the costs vs reward, because I prioritized having dumb straight logic on this sysmodule up until now). I want to stress that from my POV, it comes down as just a matter of taste/opinion.

I haven't recorded any metrics as to how much time that translates to in real world but that could easily be tested
It would probably strenghten your points if you did, most of my responses are me saying there are no metrics, remember that as i said sys-clk doesn't immediately readjusts or apply profiles on charger type changes, or when apm profiles are requested, that's what i meant by "with the sys-clk loop polling and the time where it's actually applied", so it may be smth to take into consideration too.

I asked you why you made that statement and didn't receive a reply so I'm curious to know why you say that unless it's simply for the reasons you gave above?
Simple paperwork, if you wanted answers you would ask them on this thread as you did. I may have missed your message, or assumed it was for the other thread OP. I also don't log in here daily, so I often get back with people answering on my behalf.
 
General chit-chat
Help Users
  • phalk @ phalk:
    but.... nah
    Gift
  • Veho @ Veho:
    No point really.
    Gift
  • Veho @ Veho:
    Even the simplest device these days runs some sort of high level language.
    Gift
  • The Real Jdbye @ The Real Jdbye:
    @Veho all the IT stuff i've learned in school has been extremely basic... i knew most of it already
    Gift
  • The Real Jdbye @ The Real Jdbye:
    it's better to learn on your own, it goes much faster than the snail pace they teach you at in school
    Gift
  • Coto @ Coto:
    assembly is actually great, gets you to run everything about 80% faster than C massaged code
    Gift
  • Coto @ Coto:
    assembler syntax is dead easy, but "how to put pieces together" logic requires to have in mind the original idea, and the CPU layout, and that's like double the work of C stuff. It's best to write C first, add some unit tests, then go assembly, then run the unit tests
    Gift
  • The Real Jdbye @ The Real Jdbye:
    it can run faster than compiled code, but modern compilers are really good at optimization and you need to be even better at assembly to do a better job
    Gift
  • Coto @ Coto:
    with that all your assembler base will actually work
    Gift
  • Coto @ Coto:
    even on embedded systems, without a damned debugger
    Gift
  • The Real Jdbye @ The Real Jdbye:
    syntax is easy but the code is hard to read, you can't look at a piece of code and expect to understand it without looking at all the code around it to see how it all works together so it takes much longer to read the code, it takes longer to write it too because what might be 1 line of code in C might be 20 lines of assembly
    Gift
  • The Real Jdbye @ The Real Jdbye:
    the language is very simple to understand (because it's barely a language at all) understanding how all the instructions work together to form a whole is another matter, in general it's such a pain to work with that i would never recommend it unless you have a need for it. don't listen to this guy and learn assembly just because you want to make your code run faster, you are wasting your time, but if you run into a situation where your code isn't fast enough even after you enabled -Ofast and you NEED it to be faster, then you can consider assembly
    Gift
  • The Real Jdbye @ The Real Jdbye:
    @Coto have you tried -Ofast btw? ;)
    Gift
  • Gift
  • Psionic Roshambo @ Psionic Roshambo:
    I have o fast before but I suspect we are talking different Os lol
    Gift
  • Gift
  • Coto @ Coto:
    @The Real Jdbye quite idiotic and frankly, bu
    llshit points as usual you make. Not only because you have no idea what you're talking about, but also because there is proof (both i've seen and maintained) in regards to C and hand-written assembler code, and the speed gain is simply over half the framerate.
    Gift
  • Coto @ Coto:
    gbaemu4ds's C ARM and THUMB CPU emulator and GBARunner2's ARM and THUMB handcoded assembly. Just run Yoshi's Island GBA and compare it by yourself.
    Gift
  • Coto @ Coto:
    or SnemulDS's C CPU Core vs SnemulDS SnezziDS ARM core. The first running at about 45% (half the speed) vs ~105% (full speed)
    Gift
  • Coto @ Coto:
    yeah, keep believing -Ofast will make everything faster.
    Gift
  • mthrnite @ mthrnite:
    Must ambulate quickly! ~Sonic (a hedgehog)
    Gift
  • Gift
  • Psionic Roshambo @ Psionic Roshambo:
    Gotta Go Fast diarrhea makes a horrible sound, blue skin and super sick... Probably food poisoning from bad chili dogs.
    Gift
  • KennieDaMeanie @ KennieDaMeanie:
    Huh Betty white was born on mlk day
    Gift
  • KennieDaMeanie @ KennieDaMeanie:
    Slim Jim Monster Sonic Chili Cheese Dog Flavor, 1.94 Oz (Pack Of 18) https://www.amazon.com/dp/B08MC9KVDG/ref=cm_sw_r_apan_glt_i_V2DMVRA3YQPJZF2F4Q95
    Gift
    KennieDaMeanie @ KennieDaMeanie: Slim Jim Monster Sonic Chili Cheese Dog Flavor, 1.94 Oz (Pack Of 18)...