RX 6900 XT underclocking itself while playing games
I have an XFX Speedster MERC 310 RX 6900 XT black gpu and have found that while playing games, primarily BF3, that my GPU clock is running half of its rated speed with syncing disabled. Even in benchmarks like Time Spy the gpu clocks are well below spec while my power and temps are fine. My case has great airflow so my gpu temps never go much beyond 130° F while gaming while my gpu is only slightly warmer.
I replaced my power supply with an EVGA Supernova 1300 G2 just to be sure since the other one was 7 years old with no change in behavior. I am running the latest drivers via adrenaline on windows 21H1 but the behavior was also present on 20H2. I did send a report to AMD but haven't heard anything back from them.
As it was already mentioned, check if anything is bottlenecking. Check your framerate also - how high is it? It's very common for more or less modern GPUs to downclock when the load is below certain threshold. For example, my 6900XT doesn't even get to 1000MHz when playing old games like Postal 2 in 4K with 120FPS limit, because it simply doesn't need that.
After posting that I discovered that it was the beta version of Afterburner that was the issue at hand. Once I removed it my fps returned to normal. I'm running a 3900X cpu and in Time Spy it runs a solid 4.4ghz all the way across the test.