Actually, sorry for replying to my own comment, but it really helps if you understand how Denuvo works. You get to choose how often to call it and how much crap it does when you call it.
So in the lightest form it can do a verification of files/crcs or in-memory crc at startup to see if there's been any tampering. This will have no impact on later performance, just loading performance, but is easily cracked. It's what Denuvo uses to claim there is 'no performance impact', but is not what they suggest.
In the worst form it can do this every single frame, reducing your frame rate to a slideshow.
Between the two you can do things like a quick memory scan every frame or every second or so looking for executable tampering, and this sort of thing is what most games are doing. It absolutely comes with a performance cost. Some games back it off to every couple seconds, but this causes (surprise) micro-stuttering.
It is impossible to have Denuvo with useful protection and no impact on frame rates unless the game is so CPU unbound that you just dedicate a core to the DRM. Most games that have Denuvo removed have significant performance increases.