• RightHandOfIkaros@lemmy.world
    link
    fedilink
    English
    arrow-up
    23
    ·
    10 hours ago

    Ok, well you obviously don’t understand how Denuvo actually works, so let me give you the simple TLDR version. Maybe if you understand how it works, you can see why it is so bad.

    When a developer compiles their game with Denuvo, Denuvo adds itself to various functions of the game (set by the developer but has defaults as well). Usually this includes at least the main game loop which runs every frame, but also to other functions in the game as well. I cannot remember if Denuvo is added to every function of the game by default or just a lot of functions of the game, but it is added in multiple places and not just one. Anyway, by doing this, Denuvo basically partially encrypts the functions it adds itself to. Then, when the game is running in Denuvos virtual machine, it uses a magic number set during development and does a math calculation using a formula with parameters that include your HWID and your game license. It then compares the math calculation result to the magic number, and if those both match then everything is good and the game can keep running. Again, it does this in every function it is added, and since it is usually at least in the main game loop that runs every frame, you often can have Denuvo checking your license multiple times each frame, which is at the very least, wasteful. This is the only actual function that Denuvo accomplishes, by the way.

    Denuvo ALSO adds a bunch of other unnecessary “dead end code” to these partially encrypted functions, which either loop on themselves or do nothing, in order to throw off cracking groups. This dead end code contains calculations that the CPU actually processes. They are not just there for looks, they do take up compute power even though functionally they do nothing important. Again, wasteful. The ticket can certainly expire between frames and cause issues.

    When you said you watched videos comparing cracked games and non-cracked games and saw minimal gain, this is where I knew you didn’t really know how Denuvo works, because I wasn’t even talking about cracked Denuvo games.

    Cracked Denuvo games still run Denuvo. Yes, thats right.

    The way that Denuvo games get cracked is simple, but it is tedious and takes time. A hacker has to sift through the game code to find every Denuvo infected function. Then, they have to find where Denuvo checks the results of the magic number and the math calculation which is not always at the end of the function. The hacker then alters the check to always pass even if the numbers don’t match. Sometimes, they can catch the function before it does the math and it just instantly passes the check, but other times it has to be done later in the function depending on what the function does in the game and where it performs the check in the code. Regardless, this is why it generally results in a negligible performance gain: its still running Denuvo. Denuvo is just modified to always say “yes, the license is correct” every time. Two games which had a less negligible difference in performance when Denuvo was altered was Rime and Syberia 3.

    I was talking about games that were officially updated to remove Denuvo by the developers. NieR Automata on PC, most notably, on the 21st of June, 2021, received an update that fixed performance issues with the game:

    • Removed 3rd - Party DRM - Denuvo Anti-tamper

    You can verify this on SteamDB, the change is U:24088901.

    The performance gain was immediate, and everyone that had the game could tell the difference. Just for reference, when the game had Denuvo, the executable was ~100MB. After Denuvo was removed, the new filesize was just ~17MB. Thats ~83MB of bloated cancerware removed. Gone. And with it, the stuttering issues that plagued the game when it launched ~5 years prior.

    This isnt a made up horror story. I never said Denuvo killed any children. This isnt made up for dramatic effect. This is how Denuvo works, and why I say it is cancerware. It only harms real paying consumers and should be removed for their benefit. Businesses that sell games are forgetting that the only thing that keeps them alive is being slightly more convenient than piracy.

    If you don’t like it, I don’t know what else to tell you. This is the way it is.

    • realitaetsverlust@piefed.zip
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      2 hours ago

      Thanks for the explanation! Didn’t know most of that. Especially the part with the cracked games.

      However, my point does still stand. GPU’s rarely have to wait for CPUs these days. So while the CPU utilization would increase with denuvo, it wouldn’t have a noticeable impact on performance.

      Just for reference, when the game had Denuvo, the executable was ~100MB. After Denuvo was removed, the new filesize was just ~17MB. Thats ~83MB of bloated cancerware removed

      That might be true, but I’m also gonna be very honest, 83MB is irrelevant in a timeline where we have terabytes of storage. Two assets left in the game and never removed would take up more than that. It’s more a question of bad optimization in that case. Also, filesize has nothing to do with performance (unless the filesize is really absurd).

      And with it, the stuttering issues that plagued the game when it launched ~5 years prior.

      I bought the game a few weeks after release back then and didn’t notice any performance issues, even tho I gotta admit my PC back then was top-of-the-line. So that’s probably not going to be true for everyone.

      So, I did some digging regarding that because that’s honestly pretty interesting. So I’ve dug up the patch file list from steam DB for that time, which is https://steamdb.info/patchnotes/7020666/ and to me, this looks like a bunch of optimizations. The performance improvement could’ve just as well been a result of that instead of the removal of Denuvo.

      I also found https://www.videogameschronicle.com/news/a-version-of-resident-evil-village-which-reportedly-removes-drm-runs-better-analysis-shows/ which claims that RE:Village runs better without denuvo, and https://www.vg247.com/resident-evil-village-patch-denuvo-drm which says that “adjustments” to how denuvo was used were made. That in turn also leads me to believe that denuvo is only a problem if it’s utilized incorrectly - something that almost any application that interfaces with a game does and can’t be blamed on denuvo, but the dev team.

      For me personally, it’s just difficult to pinpoint. The way you describe denuvo and how I read about it online doesn’t really lead me to believe that the way it works has any particular impact on performance, unless you have a VERY weird setup, like a RTX 50 series GPU but an ancient CPU. CPU bottlenecking just hasn’t been a thing for over 10 years at this point. So it’s just not that believable. However, at the same time, don’t know enough about the inner workings of denuvo to debunk what you’re saying either.

      I never said Denuvo killed any children

      Well I obviously never claimed you did, I was just making a funsies.

      Businesses that sell games are forgetting that the only thing that keeps them alive is being slightly more convenient than piracy.

      I think that’s a pretty stupid stance. If there’s no businesses making games, there’s nothing to pirate. It’s a bit like the AI discussion. If Wikipedia or StackOverflow die, AI will have nothing to learn from.