60fps in der mobilen Entwicklung: Wesen, Funktionsprinzip und Einfluss auf die Leistung

Autor: IT Sectr Veröffentlicht: 2026-04-01 Lesezeit: 8 Min.

60fps ist eine Bildrate von 60 Bildern pro Sekunde, bei der jedes Bild genau 16,7 ms benötigt und eine visuell flüssige Bewegung gewährleistet. Laut dem Android Game Optimization Guide gelten stabile 60 FPS als Mindeststandard für komfortable Animationen in mobilen Anwendungen. 16,7 ms ist das Zeitbudget für das Rendern eines einzelnen Bildes, das ein Entwickler einhalten muss, um 60 FPS zu erreichen.

Das Wichtigste

  • 60fps — der Standard für flüssige Animationen, bei dem jedes Bild in 16,7 ms verarbeitet wird
  • Frame time budget — die für das Rendern eines Bildes verfügbare Zeit, kritisch für stabile FPS
  • Bildausfälle treten auf, wenn die GPU ein Bild nicht innerhalb der zugewiesenen 16,7 ms verarbeiten kann
  • Choreographer unter Android und CADisplayLink unter iOS synchronisieren das Rendern mit der Bildwiederholfrequenz
  • Profiling — ein obligatorischer Schritt zur Identifizierung von Engpässen, die die FPS reduzieren

Was ist 60fps

60fps (60 Bilder pro Sekunde, frames per second) ist ein Maß für die Bildwiederholrate, bei der das Display das Bild 60 Mal pro Sekunde aktualisiert. Das menschliche Auge hört aufgrund des Persistenzeffekts des Sehens bei etwa 50–60 Hz auf, einzelne Bilder zu unterscheiden, was 60fps zu einer natürlichen Flüssigkeitsschwelle für die meisten Benutzer macht.

Jedes Bild bei 60fps hat ein festes Zeitbudget von 16,67 ms. Dieses Budget umfasst alles: von der Verarbeitung der Benutzereingabe bis zum Rendern und der Ausgabe auf dem Bildschirm. Wenn ein Vorgang — Physik, Animation, Rendern einer komplexen Szene — diese Grenze überschreitet, fällt die Bildrate auf 30fps oder niedriger, was visuell als Ruckeln wahrgenommen wird.

In der mobilen Entwicklung war 60fps aufgrund von Hardwareeinschränkungen lange Zeit die Obergrenze: Die meisten Displays vor 2017 arbeiteten mit 60 Hz. Mit dem Aufkommen von 90-Hz- und 120-Hz-Bildschirmen wurde 60fps zum unteren Standard statt zum oberen Ziel. Für UI-Anwendungen, Videos und die meisten Gelegenheitsspiele bleibt 60fps jedoch der Zielindikator für die Leistung.

Warum genau 60 Bilder pro Sekunde

60 Hz ist die Frequenz des Wechselstroms in den Stromnetzen der USA und Japans, die historisch die Bildwiederholfrequenz der ersten NTSC-Fernsehnormen bestimmte. Der PAL-Standard verwendete 50 Hz aufgrund des europäischen 50-Hz-Stromnetzes. Diese historische Trägheit ging auf Computermonitore und später auf mobile Displays über.

Visuelle Physiologie und Persistenz

Der Persistenzeffekt ist eine Eigenschaft des menschlichen Sehens, die ein Bild etwa 30–50 ms nach dem Verschwinden des Reizes auf der Netzhaut hält. Bei 60fps kommt ein neues Bild alle 16,7 ms an — bevor die Persistenzspur des vorherigen verschwindet, was die Illusion einer kontinuierlichen Bewegung erzeugt. Studien der Cardiff University (2023) zeigen, dass Kampfpiloten ein einzelnes Bild bei 220 Hz unterscheiden können, aber für den durchschnittlichen Benutzer ist der Unterschied zwischen 60 und 120 Hz weit weniger auffällig als zwischen 30 und 60 Hz.

Branchenstandards

Apple legte 2007 mit dem ersten iPhone 60fps als Standard für iOS fest und hielt daran bis zum iPhone 13 Pro (2021) fest. Android folgte historisch demselben Standard, obwohl die ersten Geräte mit 90 Hz (OnePlus 7 Pro, 2019) und 120 Hz (Razer Phone, 2017) früher erschienen. Heute ist 60fps die Mindestschwelle für die Zulassung von Anwendungen mit Animationen im App Store und bei Google Play, obwohl die formalen Anforderungen nicht dokumentiert sind.

So messen und steuern Sie FPS

Die FPS-Messung ist der erste Schritt der Optimierung. Ohne objektive Metriken ist es unmöglich festzustellen, wo Leistung verloren geht. Mobile Plattformen bieten integrierte Profiling-Tools und Software-APIs zur Messung der Bildrate in Echtzeit.

Profiling-Tools

Android Studio Profiler und Xcode Instruments sind die wichtigsten Werkzeuge zur FPS-Analyse. Android Profiler zeigt GPU-Renderzeit, Bildrate und Jank (Anzahl der ausgelassenen Bilder). Xcode Instruments enthält die Core Animation-Vorlage, die Bildrate, Renderzeit und Anzahl der Draw Calls anzeigt. Für Spiele-Engines bieten Unity Profiler und Unreal Insights detaillierte Zeitaufschlüsselungen nach Modulen.

kotlin
// Android — FPS-Messung über FrameMetrics
window.addOnFrameMetricsAvailableListener(
    { _, frameMetrics ->
        val duration = frameMetrics[FrameMetrics.TOTAL_DURATION]
        val fps = 1000f / (duration / 1_000_000f)
        Log.d("FPS", "Frame duration: ${duration / 1_000_000} ms, FPS: $fps")
    },
    Handler(Looper.getMainLooper())
)

Programmgesteuerte FPS-Begrenzung

CADisplayLink unter iOS und Choreographer unter Android sind Systemmechanismen, die das Rendern mit der Bildwiederholfrequenz des Displays synchronisieren. CADisplayLink ruft eine Methode mit jedem neuen Bild auf und übergibt einen Zeitstempel zur Verzögerungsberechnung. Choreographer unter Android macht dasselbe, unterstützt aber Rückrufe für verschiedene Bildphasen: Eingabe, Animation, Traversal, Rendering. Der Entwickler kann Choreographer.FrameCallback abonnieren und die Zeit zwischen Bildern messen.

Optimierung für stabile 60fps

Stabile 60fps bedeuten, dass kein Bild das Budget von 16,7 ms überschreitet. Selbst ein langes Bild pro Sekunde erzeugt spürbares Ruckeln. Die Optimierung gliedert sich in drei Ebenen: CPU, GPU und Speicher. Jede von ihnen kann zum Engpass werden.

CPU-Optimierung: Layout und Measure

Der Layout-Durchlauf ist einer der Hauptverbraucher von CPU-Zeit unter Android und iOS. Komplexe View-Hierarchien, verschachtelte ConstraintLayouts und schwere Drawables erzeugen lange Measure- und Layout-Ketten. Verwenden Sie für UI-Anwendungen eine flache View-Hierarchie (Tiefe nicht mehr als 3–4 Ebenen), ersetzen Sie verschachtelte RecyclerViews durch ConcatAdapter und für Listen unter iOS — Compositional Layout mit Prefetching.

OperationTypische ZeitAuswirkung bei Überschreitung
Layout1–3 msRuckeln bei komplexen Bildschirmen
Draw2–8 msNeuzeichnen, Bildausfälle
GPU Render3–10 msFPS-Abfall um die Hälfte
GC (Garbage Collection)2–50 msWahrnehmbare Mikroruckler

GPU-Optimierung: Overdraw und Draw Calls

Overdraw ist das wiederholte Rendern derselben Pixel. Jede View-Ebene, jeder Hintergrund und jedes Bild unter einem transparenten Element erhöht die Anzahl der Pixeloperationen. Verwenden Sie unter Android Debug GPU Overdraw in den Entwickleroptionen; unter iOS — Xcode Debug View Hierarchy. Reduzieren Sie Overdraw, indem Sie unnötige Hintergründe entfernen und undurchsichtige Flags verwenden: unter Android — @drawable mit android:opaque, unter iOS — isOpaque = true für UIKit.View.

Draw Calls sind die Anzahl der an die GPU gesendeten Renderbefehle. Moderne mobile GPUs verarbeiten 200–400 Draw Calls pro Bild bei 60fps. Wird diese Anzahl überschritten, kommt es zu Leistungseinbußen. Fassen Sie Sprites in Texturatlanten zusammen, verwenden Sie Batching und vermeiden Sie das individuelle Rendern jedes Elements durch einen separaten Draw Call.

Speicher und Garbage Collection

GC-Freezes sind eine der Hauptursachen für instabile FPS in JVM- und Kotlin-Anwendungen. Die Garbage Collection unter Android kann bis zu 30–50 ms dauern und dazu führen, dass 2–3 Bilder hintereinander übersprungen werden. Vermeiden Sie Allokationen in Animationsschleifen, verwenden Sie Objektpools und Speichervorbelegung. Unter iOS ist das Problem aufgrund von ARC weniger kritisch, aber Retain-Zyklen und Überläufe des Autorelease-Pools erzeugen ebenfalls Mikroruckler.

Für Spiele ist 60fps nicht nur ein Standard, sondern ein Wettbewerbsvorteil. Studien von Newzoo (2024) zeigen, dass Spiele mit instabilen FPS unter 60 auf Google Play 40 % mehr negative Bewertungen erhalten. Unity und Unreal Engine bieten integrierte Profiler zur Überwachung der Renderzeit: in Unity ist es der Frame Debugger, in Unreal — GPU Visualizer, die die genaue Zeit jedes Draw Calls und Shaders anzeigen. Stabile 60fps sind besonders wichtig für Action-Spiele, wo jedes ausgelassene Bild den Benutzer das Abschließen eines Levels kosten kann.

Über 60fps hinaus und hohe Frequenzen

90-Hz- und 120-Hz-Displays verändern die Zielvorgabe für die Leistung. Für Anwendungen, die auf ProMotion-Geräten laufen, kann der Ziel-FPS 120 betragen, und das Bildbudget schrumpft auf 8,3 ms. Dies erfordert einen doppelt so effizienten Code, insbesondere bei Draw Calls und GPU-Rendering.

Der Vorteil hoher Frequenzen liegt nicht nur in der Flüssigkeit: 120fps reduziert die wahrnehmbare Eingabeverzögerung um 8–10 ms, was für Spiele und interaktive Anwendungen entscheidend ist. Der Unterschied zwischen 60 und 120fps erfordert jedoch eine individuelle Herangehensweise: Für UI-Anwendungen (Scrollen, Animationen) kann 90fps ein optimaler Kompromiss zwischen Flüssigkeit und Energieverbrauch sein, da das Rendern von 120 Bildern pro Sekunde 30–40 % mehr Energie verbraucht als 60.

Apple stellt eine API zur Auswahl der bevorzugten Bildrate bereit: preferredFramesPerSecond in CADisplayLink. Android bot vor API 30 keine direkte Kontrolle über die Bildwiederholfrequenz, aber ab Android 12 kann der Entwickler die RefreshRate über den WindowManager festlegen und je nach Inhaltstyp 60, 90 oder 120 Hz anfordern.

Häufig gestellte Fragen

Warum gilt 60fps als Mindeststandard und nicht 30?

30fps wird beim Scrollen und bei Animationen als Ruckeln wahrgenommen, da jedes Bild 33,3 ms lang gehalten wird und das Auge die Diskretion bemerkt. 60fps liefert alle 16,7 ms ein Bild — unterhalb der Persistenzschwelle der meisten Benutzer.

Wie kann ich feststellen, ob eine Anwendung stabile 60fps liefert?

Verwenden Sie einen Profiler (Android Profiler, Xcode Instruments) und betrachten Sie das Frame-Zeit-Histogramm. Wenn 90 %+ der Bilder ohne Ausschläge in 16,7 ms passen, sind die FPS stabil. Einzelne Ausschläge bis zu 30–50 ms erzeugen spürbares Ruckeln.

Kann man auf preiswerten Geräten 60fps erreichen?

Ja, aber dafür ist eine aggressive Optimierung erforderlich: niedrige Renderauflösung, einfache Shader, minimale Anzahl von Draw Calls, Verzicht auf Transparenz und komplexe Schatten. Testen Sie auf Low-End-Geräten — sie zeigen die tatsächliche Leistung.

Warum fällt die FPS um die Hälfte (60 → 30) und nicht allmählich?

Aufgrund des VSync-Mechanismus: Wenn die GPU ein Bild nicht innerhalb von 16,7 ms fertigstellen kann, verpasst sie den VBlank und hält das aktuelle Bild für weitere 16,7 ms. Effektiv wird ein Bild für zwei Aktualisierungszyklen angezeigt, und die FPS fallen genau um die Hälfte.

Sollte man bei einer einfachen UI-Anwendung nach 60fps streben?

Ja. Selbst einfaches Listenscrollen und Übergangsanimationen erfordern 60fps für ein angenehmes Erlebnis. Benutzer bemerken Verzögerungen beim Wischen sofort, und dies reduziert die Bewertung der Anwendung in subjektiven Tests um das 2- bis 3-fache.

Zusammenfassung

  • 60fps — der Standard für flüssige Animationen mit einem Bildbudget von 16,7 ms
  • Frame time budget umfasst CPU-, GPU- und Systemoperationen
  • Bildausfälle treten bei Überschreitung des Budgets auf und werden als Ruckeln wahrgenommen
  • Profiling — ein obligatorischer Schritt zur Identifizierung von Engpässen
  • Overdraw und Draw Calls sind die Hauptverbraucher von GPU-Zeit
  • GC-Freezes unter Android erzeugen aufgrund von Allokationen instabile FPS
  • Bei 120-Hz-Displays schrumpft das Bildbudget auf 8,3 ms, was einen doppelt so effizienten Code erfordert

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch