Wenn du z.B. irgend eine kleine App für Windows programmierst, z.B. in Visual Basic, dann ist der Bereich des Fensters in Ram abgelegt und solange da nichts drin passiert, wird auch nichts neu gezeichnet, also berechnet. Windows hat die komplette Info des Bildschirms im (Video)Ram und zeigt das einfach an. Wenn sich Bereiche des Bildschirminhaltes verändern, dann wird nur dieser Bereich im Ram überschrieben.
Baust du deine App aber mit Unity, dann wird der Bereich bei jedem Update neu berechnet und in den Ram abgelegt. Vollkommen egal, ob sich auf dem Anzeigebereich etwas geändert hat, oder nicht. Also wenn du jetzt einfach nur ein UI Element anzeigen würdest, würde Unity immer gucken wo das Element liegt, ob etwas da drüber liegt, ob die Textur transparente Teile hat, was dahinter liegt usw. und dann mit all diesen Informationen das Bild neu berechnen.
Unity überwacht nicht, ob sich die UI verändert hat und würde dann nur die Veränderungen zeichnen, nö, Unity macht immer das gleiche.
Du kannst in Unity natürlich einstellen, wieviele FPS du haben willst. Aber 0 gibt es nicht.
Selbst der Editor, ohne dass du auf Play gedrückt hast, zeichnet ständig neu.
Du kannst das ja selber testen.
Mach mal Unity kleiner und schieb das Fenster an den Rand.
Jetzt machts die Ereignisanzeige auf, schiebst die auf die Andere Seite vom Screen und gehst auf Leistung. Klick mal den CPU Bereich an, damit du den Verlauf in groß siehst.
Du siehst da eine Grundauslastung, wenn du die Maus in Ruhe lässt. Jetzt minimiere mal Unity. Du wirst einen Peak sehen, weil Windows jetzt kurz was zu tun hat. Danach ist aber die Grundauslastung geringer als vorher. Nicht viel, aber erkennbar.
Ich hoffe du bist mit Windows unterwegs.
Wenn nicht, mit dem Apfel kann man sich das auch anzeigen lassen. (Glaube ich)