A huge thanks, and few suggestions

Discussion in 'MSI AfterBurner Application Development Forum' started by krYshuT, Feb 27, 2021.

Thread Status:
Not open for further replies.
  1. krYshuT

    krYshuT New Member

    Messages:
    4
    Likes Received:
    0
    GPU:
    RTX 3060 Ti FTW3
    What’s up forum?

    I’d like to say big thanks to Unwinder and his neverstopping work in improving AB & RTSS. We’re a small company building ultrasilent workstation and gaming PC. Afterburner is actually our only software we install with Windows, bundling it with 3 OC profiles and a leaflet for customers to really understand the importance of this software and how in our opinion it is fundamental for what we do. Together with undervolting a CPU in BIOS, we normally lower the power output of the whole PC around 100W in load and a nice chunk in idle to light load as well. The other 2 profiles are either ultrasilent (minimal voltage that is the card able to run at load) or the other one on the opposite spectrum, the max sensible overclock profile. The feedback of our customers for this is incredible and the abbility to whenever display our custom HUD with all the sensors is pretty useful. We mostly use MSI boards / graphics cards, but we never had a problem to voltage regulate any other piece of card using AB (at least not since Radeon 400 / GeForce 1000), although the fan regulation is a bit of a hit & miss, even with the new firmware control mode or forcing fan speed, but I guess that is a thing/limit of NVIDIA/AMD driver fan APIs or the design of the specific boards. Love the backward compatibility and the fact, that I can run it on my almost 20y.o. PC with WinXP :)

    Anyways, I’d like to highlight some minor, mostly ease-of-use suggestions (as of years of feedback from our customers and our regular experience), if they ever been considered or if they’re even sensible to implement. Thanks you very much for checking them out.

    1) Zero-fan stop / start temp: this one is that I struggle with the most. I have kind of a love & hate relationship with Zero-RPM functions as a whole, but people seem to love it. For me, I’d rather be idling at a lowspeed of something like 500-600RPM, but most cards cannot be set that low, or even at something silent (and silent I mean you cannot hear it). Some cards even struggle to stabilize the fans at their lowest speeds and act like crazy (I’m looking at you Gigabyte Windforce cards, some EVGA ones). Then there are a lot of other brands/models that simply won’t go below 1300RPM and listening to that taking off every few minutes may be worse than just spinning at that fixed. I have a LG CX (4K 120Hz), some other QHD ~160HZ screens laying around here and all the modern cards consume 25-40W with these at idle and even in a well cooled case the temperatures climb quite fast when passivelly cooled. Basically I blame the manufacturers and partly drivers for this (AMD has this worse with the VRAM at max all the time) as for my ear in a calm environment I live in, this is unacceptably annoying acoustic discomfort and I suspect that these fluctuations and constant fan start/stop isn’t good for the longetivity as well.

    To me the only good workaround for this seems to be setting different fan STOP and START temperature values with manual fan curve. I have no clue about the limitations this could have on your app level and if all the cards that currently can go to zeroRPM with a manual curve would be allegible to use this. Let’s say for example 55-60°C would be a sensible point to start the fans and 30-35°C to stop them (at least in a 20°C ambient). Then the interval between fans taking off would be much wider and not so annoying. For example on a RX 6800 XT Red Devil, this is just mad - the stock behavior is start at 55°C, stop at 50°C and the lowest fan speed is 1200RPM. Unbearable. Setting temp hysteresis is a no-go, for example when I set the hysteresis for 10°C with the fan stop at 50°C, it sometimes just stops at 49°C as it may remember 59°C as the last fan change value. I mostly use around 3°C hysteresis just for flattening the curve a bit for less fluctuations and that’s its suggested use I guess.

    1.1) Also I was recently thinking about how minimum RPMs are declared by the driver and what AB can do about that, because obviously, the fans can physically run at lower speeds even if the driver doesn’t allow it. This annoyance came with some driver changes on AMD side. Manufacturers, chip makers, why there is no option to run fans at lower speeds and further the minimum fan speed than 30% PWM signal on most cards with new APIs? It was lower just last year before the Adrenalin 2020 Edition with new fan APIs. I have this data from 19.10.1, where most graphics cards from previous generations, like RX 5700 XT from MSI (GAMING X), could run at unhearable 500RPM and you wouldn't even notice the fans at idle, if I remember correctly that was at something around 15% PWM signal. Now the minimum RPMs are around 1200RPM (30%), which is just loud and this is for a lot other cards. I know 30% PWM is different for every fan, but most of the times, it is just too loud. I’ve seen some people has been successful with modding the registry or using the MorePowerTool (and the other one I don’t recall right now) and getting lower minimum speeds. So I guess the question is: is this possible to implement in Afterburner as well?

    2) Profile handling, manual fan curve profiling. There is a different pattern to how fans’ “Auto” and “User define” buttons are handled and how they are loaded. After trial and error I figured that the “Auto” button is bound to a profile while the “User define” button isn’t (it is stored in settings) and it doesn’t load back after profile change and/or restart if it was changed, even with a “Lock profiles” button on lock. It would make more sense if it was stored in profile together with “Auto” setting. Also there is this oddity that while you have to click “Apply” to apply the “Auto” button, you don’t have to do that for the “User define” button, it applies itself as you first click it and don’t have to confirm it, which makes it very confusing in some scenarios.

    It took me a while troubleshooting some customers’ problems on phone with weird fan behaviour, or fans not spinning as they weren’t aware of these behaviours. It would be amazing if the “User define” fan setting was stored within the profile, not the Afterburner settings, that would basically solve most of it. It would also solve instances, when I sometimes switched graphics cards and the card baked at almost 90°C before I noticed that I forget to uncheck “User define” because of totally different fan behaviour on the other card. And I guess this propably has been asked before, but if the User define setting was indeed saved in a profile, there could also be saved the whole manual fan curve, right? That would make sense for people that want to use more agressive fan curves for the more power hungry OC profiles.

    I also love the fact, that the “Lock profiles” button apart from locking profiles also loads the last applied profile after Windows reboot (really helps me a lot when someone messes up with the values :) ), but the tooltips interestingly doesn’t state that this is the case. It is also not evident which profile is locked (maybe currectly applied profile could stay lit up like when selecting it?).

    Maybe it would also be “safer” if the profile deletion was only allowed using the other way - pressing Ctrl + number? (another observation - the NUM keys doesn’t work with this shortcut). I had plenty of people accidentaly deleting profiles with a presumption “right mouse click” would be a context menu, not a delete button. With no way to undo deletion, it is kinda shame, especially when you forget the profile data and when someone is settings the GeForce F/V boost curve on multiple points (like I sometimes do), it is a lot of work to get it back.

    3) I use the OSD and sensors reporting in our computers like this showing all the basic GPU / CPU sensors together with framerates/frametimes. Unfortunately I have to use HWinfo plugin if I want the HUD complete with CPU fan speed / voltage / RAM frequency. Is there a consideration for AB to natively read at least these 3 sensors so they are complete with the GPU sensors or is it just too hard to implement it for all the motherboards that are out there? I think at least CPU voltage reporting is unified for modern CPUs. Not sure about CPU fan speed, but the Windows Task manager sure reads RAM frequency very well. I also think grouping monitoring sensors by a HW component would make it much easier for people setting up their OSDs.

    4) This is at utter least importance, but I wonder if DPI scalable skins will ever be a thing in Afterburner. I mainly ask because at 4K all the skins are just too blured out on higher scales or small / unusable with the original scale.

    Actually for me, I’d be pretty much the happiest man with a simple vector based skin without all the graphics, icons, gauges or bars. If I had the skill, I’d probably take the time to make it specifically for my PCs, but I doubt I have the resources for that.


    Sorry for the length of the post, I’m really bad at tl;drs :)

    Thanks to everyone that made it here and I’d be happy to hear your thoughts about these. Ready to discuss anything with you.
     
  2. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,314
    Likes Received:
    2,612
    There is an abyss between your "minor, mostly ease-of-use suggestions" and real possibilities and limitations of GPU control API provided by both GPU vendors. If you think that I add those fan speed control limitations just because I want to do so myself, then you don't see a full picture at all. Those are NOT my limitations, that's not something I hide from you and can easily unlock. So take it as cumulative "no" answer, sorry. That's everything I can say.

    And no, fan regulation is by far not a "hit & miss". Hit or miss exists in understanding of those who try to use reference fan control oriented software on custom fan control soluttions like EVGA iCX cards.
     
  3. krYshuT

    krYshuT New Member

    Messages:
    4
    Likes Received:
    0
    GPU:
    RTX 3060 Ti FTW3
    I didn't say those ARE your limitations - as I said, I know vendors are messing with the APIs for this, I just wonder how much these driver API limitation can be workedaround in AB like with MorePowerTool, where it works. And if AB's manual software fan control can stop the fans at 50°C (on certain cards) and with the hysteresis set for 15°C it ACTUALLY stops fans at 35°C, then starts at 50°C, there is evidently a way on how to mimic this behaviour, even though not through official AMD/NVIDIA APIs. If this hysteresis was set only for zero-fan speed (like with the new feature "override zero fan speed with hw curve"), the code logic for this seems pretty basic, it is just an extension of the current hysteresis functionality.

    Regarding the ease-of-use suggestion was mainly my 2nd point - the user define fan on/off setting stored within the card profile. Would you consider that?

    Thank you.
     
    Last edited: Feb 27, 2021
  4. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,314
    Likes Received:
    2,612
    No, Hysteresis doesn’t work the way you’re seeing it. I’d prefer to focus on real development instead if explaining why it is NOT pretty basic changes as you see them. Sorry.
     

  5. krYshuT

    krYshuT New Member

    Messages:
    4
    Likes Received:
    0
    GPU:
    RTX 3060 Ti FTW3
    I'm sorry for the interruption as I thought you were open to suggestions for new functionality and it seemed that with this new feature to "override zero fan speed with hardware curve" - which is basically using two different fan curves that are dependend on the current temperature - that logically my proposed settings fan.stop(X) and fan.start(Y) temp (that user would set in settings) could be fairly simple, dependend on two variables. I'm not saying they are totally simple, I'm just asking if they could, because this would be a REAL functionality that many people would welcome and use. In my OP I actually said that hysteresis isn't the way to go.

    For example:
    when TEMP < X (35°C), set hardware curve
    when TEMP > Y (55°C), set user define software curve
    otherwise leave last setting

    Or is there any obstacle that would prevent this from working? If the hardware / software curve switching works, why this wouldn't?

    Thanks again.
     
    Last edited: Feb 28, 2021
  6. Astyanax

    Astyanax Ancient Guru

    Messages:
    10,128
    Likes Received:
    3,608
    GPU:
    GTX 1080ti
    The problem you're hitting in this thread is that you're making assumptions on what can be done, while Unwinder knows what can't be done, and then you're taking it as offense when he says as such.
     
  7. krYshuT

    krYshuT New Member

    Messages:
    4
    Likes Received:
    0
    GPU:
    RTX 3060 Ti FTW3
    Yeah, "can't be done", just like the "force hardware curve" couldn't be done years ago, when people asked. Do you ACTUALLY care about the input from people? Dismissing everything else just on the base that you misread something in the first few lines of their carefully described problems with a ton of data?

    Look, Unwinder. I guess you’re probably a nice guy. I’m new here, even though I’m very familiar with all of this for years. I just wished that the rumours about you being so unrespectful were untrue...

    Not just the fact how the answers feel, but the reality of that you probably read like 5% of these posts as the anwers of yours actually don’t make any sense in the context of HOW they were asked.

    I'm literally just sitting here, watching the temperature and clicking on "User define" button when hitting 55°C a unclicking it once under 35°C. And there you have it. Variable fan start / stop temperature. Yeah "can't be done" for sure guys. Sure.

    [​IMG]

    I just don’t know which is more funny. The fact that a trained monkey could mimic this behaviour or that a newbie on your forum just schooled you.
     
  8. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,314
    Likes Received:
    2,612
    Why it is so typically sad to see some users starting their posts with “huge thanks” and ending it by personal attacks when your “pretty important” and “easy to implement” feature request is not satisfied. You didn’t want to say thanks. You just wanted to get something to be implemented with ANY MEANS necessary. No need to wrap it into adulation. It just smells bad and leaves you zero chances to be treated seriously. Closed.
     
    big ROBOT bill and Dan Longman like this.
Thread Status:
Not open for further replies.

Share This Page