• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Denuvo Performance Cost & FPS Loss Tested

W1zzard

Administrator
Staff member
Joined
May 14, 2004
Messages
28,648 (3.74/day)
Processor Ryzen 7 5700X
Memory 48 GB
Video Card(s) RTX 4080
Storage 2x HDD RAID 1, 3x M.2 NVMe
Display(s) 30" 2560x1600 + 19" 1280x1024
Software Windows 10 64-bit
We take a detailed look at the performance cost of the Denuvo copy protection system and how it impacts FPS. We tested over 70 scenarios: varying game resolution, varying CPU frequency, different CPU core and thread counts, and graphics hardware from AMD vs. NVIDIA.

Show full review
 
Last edited by a moderator:
I am not sure what to believe but I will just follow my rule of thumb and believe it when I see it.
 
Last edited by a moderator:
So, basically, this proves that when implemented correctly Denuvo will have no noticeable performance impact.
 
when implemented correctly

This being the key part of that phrase. We've seen many implementations all different, and there is absolutely no guarantee that future versions of Denuvo will allow the same kind of implementation as the battle between cracking scene and them goes on.

Also, DMC5 is a super light game, that is linear and extremely CPU friendly. When resources are not saturated of course you'll barely notice it... I would love for this test to be revisited in games like AC: Odyssey or Deus Ex Mankind Divided, games that show heavy tanking of FPS due to CPU loads.

Nonetheless a great article, very informative.
 
This being the key part of that phrase. We've seen many implementations all different, and there is absolutely no guarantee that future versions of Denuvo will allow the same kind of implementation as the battle between cracking scene and them goes on.
I'm not seeing any reason why Denuvo should be placed in a performance critical code path, and I'm having a hard time imagining that any developer would be so stupid to do that

When resources are not saturated
They are saturated, either GPU or CPU, depending on the test (I get what you're saying though)

like AC: Odyssey or Deus Ex Mankind Divided
Impossible unfortunately unless they release a Denuvo-free EXE that has no other code changes. That's what makes the case of DmC 5 so interesting
 
Sure in this game in doesn't make much difference but go check out r/crackwatch - there have been many other games compared over time, where the perf difference is substantial.
 
From the article:

"Another gotcha is what happens with the game when the activation servers are down or gets turned off a decade from now. You would have paid for the game but might not be able to play it. "

I don't like DRM in general and that's why I buy from GOG whenever possible but that is my biggest concern with Denuvo. If I enjoy a game more than average then I replay it every few years. I even go back as far as the late 90's sometimes. I don't want that to be taken away from me if Denuvo should disappear in the future.

A lot of Developers remove Denuvo after the game has been cracked but not all do.
 
Another gotcha is what happens with the game when the activation servers are down or gets turned off a decade from now. You would have paid for the game but might not be able to play it.
2000 = you PAID the game, you OWN it
2019 = you PAID the game, you RENT it
 
I feel they can have correctly implemented denuvo for a max of 3 years then remove it.
 
So, basically, this proves that when implemented correctly Denuvo will have no noticeable performance impact.
Although the difference is small in this case, it is indeed a consistent and measureable difference.
So the point still stands that Denuvo hurts perfromance for paying customers.
 
I'm not seeing any reason why Denuvo should be placed in a performance critical code path, and I'm having a hard time imagining that any developer would be so stupid to do that

I'm not talking about what developers would do, because of course they would not willingly cripple performance. The reality though is that developers don't always have the final say. The publisher can decide version X.X of Denuvo needs to be used and Denuvo can release versions that define how it needs to be implemented to make sure it actually works. We've already seen major differences between different versions of Denuvo (crackable vs. very hard to crack) and Denuvo's whole business relies on the effectiveness of the DRM.

I think there is no telling or guarantee that Denuvo will not be placed anywhere.
 
While I have posted in the past we had no hard evidence Denuvo was impacting performance, my main concern is layered DRM. Do I need Denuvo running under SteamWorks possibly running under yet another DRM layer? Do all parties play nice with each other?
I just stuck with GOG and never cared much in the end.
 
Although the difference is small in this case, it is indeed a consistent and measureable difference.
So the point still stands that Denuvo hurts perfromance for paying customers.

There was never an argument that it didn't. The point is a measurable difference is not a noticeable difference. If the paying customer doesn't notice the difference, their experience playing the game is not changed, and there is no problem.
 
The publisher can decide version X.X of Denuvo needs to be used and Denuvo can release versions that define how it needs to be implemented to make sure it actually works
But it's the developer who puts in the Denuvo calls, the publisher can not do that as you need to recompile from source code. Just to clarify for other readers, if Denuvo releases an update, older games with older Denuvo versions won't be affected "automagically", this is not Windows Update

We've already seen major differences between different versions of Denuvo (crackable vs. very hard to crack) and Denuvo's whole business relies on the effectiveness of the DRM.
I think there is no telling or guarantee that Denuvo will not be placed anywhere.
The thing is that it makes no difference whether you place the Denuvo calls in the render thread or in any other code that gets regularly executed, only one slows down rendering, the other does not. From a cracking perspective these are 100% identical
 
now compare cpu usage, this benchmark is useless

i like to use my computer for other taks when gaming
 
With game engines finally upgrading to be able to use more threads & CPU cores DRM impact should be less visible on multicore processors.

But DRM all comes down to renting games now for a period of time, not ownership in the traditional sense anymore.
 
With game engines finally upgrading to be able to use more threads & CPU cores DRM impact should be less visible on multicore processors.

But DRM all comes down to renting games now for a period of time, not ownership in the traditional sense anymore.
Ownership has always been governed by the EULA which stipulates you only license the right to play the game. But it's true on PC, in the absence of DRM, you pretty much owned what you paid for. But that has never been true on consoles.
 
But it's the developer who puts in the Denuvo calls, the publisher can not do that as you need to recompile from source code. Just to clarify for other readers, if Denuvo releases an update, older games with older Denuvo versions won't be affected "automagically", this is not Windows Update


The thing is that it makes no difference whether you place the Denuvo calls in the render thread or in any other code that gets regularly executed, only one slows down rendering, the other does not. From a cracking perspective these are 100% identical

Alright, I see.

Is there anything you can say about stuff like VMware VMProtect (thanks W1z) that was used on top of Denuvo for example on AC:Odyssey?
 
Last edited:
Is there anything you can say about stuff like VMware that was used on top of Denuvo for example on AC:Odyssey?
VMProtect? http://vmpsoft.com/support/user-manual/introduction/what-is-vmprotect/

"The method of application code mutation applied in VMProtect is based on obfuscation — a process that adds to the application code various excessive, “garbage” commands, “dead” parts of the code, random conditional jumps. It also mutates original commands and transfers execution of certain operations to the stack."
All this code will use CPU time which shouldn't be a problem for "normal" applications. For games this becomes relevant though, unless you exclude performance-sensitive sections of the code from VMProtect (which is possible, but may be undesired using a naive view on things).

Combining this with Denuvo though will multiply (not combine) the performance impact. As we've seen from the EXE size, Denuvo adds A LOT of code to the binary, VMProtect amplifies that by adding a lot of obfuscation code around the larger code size.

I can understand the desire for using both though. Denuvo doesn't scramble the executable, so you can "just" load it into IDA Pro and start understanding how the program works (understanding Denuvo code is VERY complicated). Putting VMProtect on top of that makes things much much more difficult, but apparently not impossible, considering these games have been cracked in the meantime.
 
Ownership has always been governed by the EULA which stipulates you only license the right to play the game. But it's true on PC, in the absence of DRM, you pretty much owned what you paid for. But that has never been true on consoles.

Indeed.
 
So it shows no noticeable (or determinable) difference when playing a game using a high end intel CPU big deal not everyone can afford a new cpu everytime one comes out would be nice to see what happens with say an FX8350 or i7 3770 is used at stock speeds with the same set of GPU's used here
 
So it shows no noticeable (or determinable) difference when playing a game using a high end intel CPU big deal not everyone can afford a new cpu everytime one comes out would be nice to see what happens with say an FX8350 or i7 3770 is used at stock speeds with the same set of GPU's used here

Do you even read, the test contains an 8700K that was restricted to almost every core count / speed configuration you can find in a CPU product stack.

The only possible gripe you can have with this test is that only one game, and one that isn't CPU heavy, was used, but if the implementation is similar, the perf loss will also be similar. 3-4% of actual FPS loss, and that the same across all CPU configurations in the test - so even on a 2c/2t CPU.

By the way, if you use an FX or i7 3770 with your new 2080ti you need a lesson on overall system balance.
 
By the way, if you use an FX or i7 3770 with your new 2080ti you need a lesson on overall system balance.

If I could afford the 2000 bucks odd for a 2080ti I wouldn't still be using an FX CPU but point taken about the perf
 
now compare cpu usage, this benchmark is useless

i like to use my computer for other taks when gaming

I don't agree that it's useless, but CPU and RAM usage would be nice as some causal gamers usually have other tasks running.
 
Back
Top