Ich kann mir schon vorstellen das man ein entsprechendes Tool bauen könnte. Output Resolution ist ganz einfach, da die über den Treiber kommt und damit einfach abgegriffen werden kann (ist aber auch immer die Auflösung die man im Spiel eingestellt hat). Interessanter ist die Renderauflösung. Digital Foundry ermittelt sich die z.B. per Hand durch das Zählen von Pixeltreppen (gibt auf deren Youtube Kanal ein Video dazu). Man könnte sich ein Programm schreiben das die Kanten im Frame erkennt (gibt da genügend Algorithmen, z.B. über den relativen Kontrast benachbarter Pixel) und dann an der Kante die Pixeltreppe zählt. Damit nicht Kanten von Texturen analysiert werden könnte man anstatt dem fertigen Frame dann einen der Buffer auslesen oder über die Texturfilterung auf Treiberlevel die Texturen verschmieren.
Die Frage ist nur warum man sich so einen Aufwand machen sollte. Wenn dynamische Auflösungen benutzt werden, dann reicht es auch aus einfach mal die Pixel zu zählen wenn man hohe und niedrige FPS hat. So macht es z.B. Digital Foundry. Die machen eine Aufnahme von Spielszenen, jagen das durch deren Programm das die aufgenommenen Frames miteinander vergleicht und zählt wie viele unterschiedliche Frames es pro Sekunden gibt und ziehen sich dann ein paar einzelne Frames raus an denen die Pixeltreppen gezählt werden.