Dynamic Resolution + Temporal Anti-Aliasing cause screen shaking

I followed the official documentation for Dynamic Resolution and it works perfectly - except that every time it changes resolution, the screen seems to violently shake / flicker for one frame. It’s not a sudden change in resolution, but what looks like subtle but nauseating displacement. Having it happen is completely unreasonable and physically hurts eyes. What might be causing this? My target platform’s iOS Metal, but it happens in-editor too.

EDIT: I am aware mobile isn’t officially supported when it comes to Dynamic Resolutions, but the reasons stated are that the neccessary calculations haven’t been optimised for the platform, which can cause a side-effect of spiking the resolution way above 100 or plummet it to near zero. I’m not experiencing either - my resolution is perfectly adapting to my framerate, smoothly. I disabled Dynamic Resolution and recreated a simple setup myself: if fps is under 55, slightly lower the screen percentage, otherwise raise it. A lot less elegant, but this method too suffers from the weird shaking, so I’m positive it has something to do with the resolution changing itself.

UPDATE 1: It seems like r.PostProcessAAQuality has something to do with it. No AA, no screen violence. The shaking is noticable at 1-2, and anything above that seriously starts being unplayable. I’m assuming it has something to do with recycling previous frame, but I’m not sure.

UPDATE 2: Renamed question. This only happens when using TXAA. FXAA and MSAA don’t cause any sort of shaking when using Dynamic Resolution. For now, I’m just not gonna use TXAA. Leaving question open till I figure it.

Besides the reason you mentioned, the reason why DynamicRes is not supported offically on mobile systems is most android mobile phones(ES31) are tiled base architecture, and ES31 doesnot have an accurate way to query the gpu frame time. On some mobile platfroms, the gpu frame time is basically just 0, which means we cannot detect the accurate gpu time. While the goal of DynamicRes was to shrink down your primary screen reso so that the gpu can process less work. DynamicRes basically won’t work when your app is CPU bound .