Kostenloser Leitfaden

Power Apps Performance: 50 Tipps für schnelle Canvas Apps.

Langsame Apps werden nicht genutzt. Hier habe ich meine 50 Empfehlungen für schnelle und stabile Power Apps Canvas Apps gesammelt: Von der Datenquelle über Delegierung und Formeln bis zu SharePoint, SQL Server und Tests. Kostenlos und ohne Anmeldung.

  • 50 Tipps
  • 7 Themenbereiche
  • 15 schnell umsetzbar
  • Kostenlos ohne Anmeldung

01Warum Leistung zählt

Schnelle Apps werden genutzt.

Die Leistungsoptimierung von Canvas Apps ist zu einem der wichtigsten Themen der Microsoft Power Platform geworden: Die Plattform entwickelt sich ständig weiter, immer mehr Unternehmen setzen sie ein und die Anforderungen an die Apps steigen. Drei Gründe, warum sich der Aufwand lohnt.

Benutzererfahrung

Schnelle Apps werden gern und oft genutzt.

Jede App wird letztlich an der Erfahrung gemessen, die sie bietet. Ladezeiten mögen nebensächlich wirken, doch oft entscheiden Sekundenbruchteile darüber, ob jemand zufrieden ist. In einer gut optimierten App sind sie kurz und Informationen und Funktionen sofort da.

Es geht aber nicht nur ums Laden: Klicken, Scrollen und Eingeben müssen flüssig und intuitiv sein, Übergänge zwischen Bildschirmen nahtlos. Wer sich in einer App wohlfühlt, nutzt sie häufiger, entdeckt mehr Funktionen und empfiehlt sie weiter. Der Unterschied zwischen einer App, die nur „funktioniert“, und einer, die begeistert, liegt in der Optimierung.

Ressourcennutzung

Effiziente Apps schonen Geräte, Budget und Umwelt.

Digitale Ressourcen wirken unbegrenzt, sind es aber nicht. Jede ineffiziente App beansprucht mehr Rechenleistung, Speicher und Strom als nötig. Das nutzt die Hardware schneller ab und erhöht die Kosten.

Eine gut optimierte App vermeidet unnötige Prozesse, verschwendet keinen Speicher und belastet den Prozessor weniger. Geräte halten länger, Rechenzentren verbrauchen weniger Energie und die App reagiert schneller und stürzt seltener ab. Effizienz zahlt sich wirtschaftlich, ökologisch und für die Menschen aus, die mit der App arbeiten.

Skalierbarkeit

Gute Apps wachsen mit dem Unternehmen mit.

Wächst ein Unternehmen, wachsen Datenmengen, Nutzerzahlen und tägliche Interaktionen mit. Eine App, die nicht skaliert, bricht unter dieser Last ein: Ausfälle, lange Reaktionszeiten und im schlimmsten Fall Datenverlust sind die Folge.

Eine gut geplante Canvas App ist deshalb nicht nur für den heutigen Bedarf gebaut. Ihre Architektur trägt steigende Nutzerzahlen und Datenmengen, ohne dass sie neu gebaut werden muss. So wird Skalierbarkeit vom technischen Merkmal zur Grundlage, mit der Unternehmen flexibel auf Veränderungen reagieren.

02Der Weg der Daten

Wo eine App Zeit verliert.

Jeder Datenaufruf reist vom Gerät über die App und das Netzwerk bis zur Datenquelle und zurück. An jeder Station lässt sich Zeit gewinnen. Die Zahlen führen direkt zum passenden Tipp.

  1. Gerät & Browser

    Speicher, Prozessor, Netz und Browser auf dem Gerät der Nutzenden.

    Passende Tipps:567892439

  2. Die App

    Bildschirme, Steuerelemente, Formeln, Variablen und der Start.

    Passende Tipps:1213141516171819202133373840414243444546

  3. Netzwerk & Plattform

    Region, Firewall, Anforderungslimits und das lokale Datengateway.

    Passende Tipps:2343435

  4. Datenquelle

    Dataverse, SharePoint und SQL Server: Spalten, Ansichten, Indizes.

    Passende Tipps:110112223252627282930313236

03Die Empfehlungen

50 Tipps für mehr Tempo.

Sortiert nach sieben Bereichen. Suchen Sie nach einem Stichwort, filtern Sie nach Bereich oder nach Tipps, die sich direkt in der App umsetzen lassen, und haken Sie ab, was bei Ihnen schon erledigt ist. Tipp 50 zeigt zum Schluss, warum sich das lohnt. Die Beispiele sind in Power Fx mit Komma als Trennzeichen geschrieben (englische Spracheinstellung von Power Apps Studio).

Plattform & Geräte

Datenquelle, Region, Netzwerk, Limits, Geräte und Browser · 8 Tipps

Dataverse

Tipp 1: Die Datenquelle nach den Anforderungen wählen

Canvas Apps lassen sich mit sehr vielen Datenquellen verbinden. Für Unternehmensanwendungen mit hohen Anforderungen an die Leistung empfiehlt Microsoft Dataverse als Datenquelle.

Schätzen Sie vor dem Bau ab, was auf die App zukommt: Wie viele Personen werden sie nach der Veröffentlichung nutzen? Wie viele Datensätze werden angelegt, gelesen, geändert und gelöscht? Welche Art von Dateninteraktion steht im Vordergrund? Von wo aus wird zugegriffen und mit welchen Geräten?

Empfehlung

Wählen Sie die Datenquelle nach Nutzerzahl, Transaktionsvolumen, Art der Dateninteraktion, Zugriffsorten und Geräten aus. Bei hohen Anforderungen ist Dataverse die erste Wahl.

Bereich: Plattform & Geräte

Geografie

Tipp 2: Die Umgebung nah an den Nutzenden anlegen

Die Region der Power Platform-Umgebung und damit die Entfernung zwischen Datenquelle und Gerät beeinflusst die Leistung einer Canvas App.

Statische Inhalte der App liefert Power Apps über ein Content Delivery Network (CDN) von Microsoft Azure aus. Daten kommen dagegen immer direkt aus der Datenquelle. Eine große Entfernung wirkt sich deshalb auf vielen Ebenen aus: Höhere Latenz, geringerer Durchsatz, weniger Bandbreite und im schlechtesten Fall Paketverluste.

Empfehlung

Legen Sie die Power Platform-Umgebung in die Region, in der die meisten Nutzenden und ihre Geräte arbeiten.

Bereich: Plattform & Geräte

Netzwerkinfrastruktur

Tipp 3: Firewall und Proxy richtig freigeben

Ein unzureichend oder falsch konfiguriertes lokales Netzwerk bremst Canvas Apps aus, oft ohne dass es auf den ersten Blick auffällt.

Empfehlung

Stellen Sie sicher, dass die von Power Apps benötigten Dienstadressen nicht blockiert werden bzw. in der Positivliste der Firewall stehen.

Bereich: Plattform & Geräte

Anforderungslimits

Tipp 4: Anforderungslimits und Lizenzen kennen

Die Power Platform begrenzt die Zahl der Anfragen, die eine Person pro Tag über Power Automate, Power Apps, Microsoft Copilot Studio (früher Power Virtual Agents) und Dynamics 365-Anwendungen stellen kann. So sichert Microsoft Servicequalität und Verfügbarkeit.

Wie hoch die Limits sind, hängt von der Lizenz ab. Wer die Power Platform nur über die in Microsoft 365 enthaltenen Rechte nutzt, hat deutlich niedrigere Limits als Personen mit einer eigenen Power Automate- oder Power Apps-Lizenz (Stand Oktober 2026: 6.000 statt 40.000 Anfragen je 24 Stunden).

Empfehlung

Prüfen Sie, welche Personen besonders viele Anfragen erzeugen, und weisen Sie ihnen bei Bedarf eine vollwertige Lizenz zu. Damit steigen ihre Anforderungslimits.

Bereich: Plattform & Geräte

Client-Geräte

Tipp 5: Nur laden, was der Bildschirm braucht

Dieselbe App kann sich je nach Gerät sehr unterschiedlich verhalten, vor allem wenn große Datenmengen unter Windows, iOS oder Android geladen werden.

Der Grund: Jede Plattform begrenzt Netzwerkanfragen anders, bspw. die Zahl der gleichzeitig erlaubten Anfragen. Das wirkt sich direkt auf die Ladezeit großer Datenmengen aus.

Empfehlung

Laden Sie nur die Daten, die für die Anzeige und für die Logik der App gebraucht werden. Alles andere laden Sie seitenweise nach oder speichern es in Variablen bzw. Sammlungen zwischen.

Bereich: Plattform & Geräte

Client-Geräte

Tipp 6: Hintergrund-Apps im Zaum halten

Gerade auf mobilen Geräten leidet eine Canvas App, wenn andere Apps im Hintergrund das Mobilfunknetz oder das WLAN belasten. Der zusätzliche Datenverkehr erhöht außerdem den Speicherbedarf auf dem Gerät.

Empfehlung

Reduzieren Sie die Netzwerkaktivität von Hintergrund-Apps oder schalten Sie sie während der Arbeit mit der App ganz ab.

Bereich: Plattform & Geräte

Browser-Unterstützung

Tipp 7: Unterstützte Browser verwenden

Mit nicht unterstützten oder veralteten Browsern treten bei Canvas Apps häufiger Leistungsprobleme auf.

Empfehlung

Nutzen Sie nur Browser, die Microsoft für Power Apps unterstützt: Microsoft Edge, Google Chrome und Mozilla Firefox jeweils in einer der letzten drei Hauptversionen sowie Apple Safari ab Version 13.

Bereich: Plattform & Geräte

Browser-ErweiterungenSchnell umsetzbar

Tipp 8: Browser-Erweiterungen prüfen

Installierte Erweiterungen und Add-ons können die Ausführung einer Canvas App spürbar verlangsamen.

Empfehlung

Deaktivieren Sie Erweiterungen und Add-ons, die Sie für die Arbeit mit der App nicht brauchen.

Bereich: Plattform & Geräte

Daten abrufen

Spalten, Delegierung, Ansichten und gezielte Abfragen · 6 Tipps

SpaltenSchnell umsetzbar

Tipp 9: Nur die benötigten Spalten abrufen

Wie schnell eine App lädt, hängt stark davon ab, wie viele Spalten sie abruft. Jede Spalte, die weder angezeigt noch in Formeln gebraucht wird, erzeugt zusätzlichen Datenverkehr und belegt Speicher auf dem Gerät.

Das trifft vor allem mobile Geräte und Rechner mit älteren Prozessoren, wenig Arbeitsspeicher oder schwacher Verbindung.

Empfehlung

Rufen Sie nur die Spalten ab, die für die Anzeige und für die Logik der App gebraucht werden.

Bereich: Daten abrufen

Ansicht-Objekt

Tipp 10: Rechenarbeit in die Datenquelle verlagern

Speicherausnahmen sind die häufigste Ursache, wenn eine Canvas App auf bestimmten Geräten abstürzt oder einfriert. Der JavaScript-Speicher (Heap) stößt an seine Grenze, weil auf dem Gerät umfangreiche Skripte Daten verknüpfen, filtern, sortieren oder gruppieren.

Empfehlung

Nutzen Sie bei Dataverse oder SQL Server Ansichten (Views). Dann erledigt die Datenquelle das Verknüpfen, Filtern, Sortieren und Gruppieren und nicht das Gerät.

Bereich: Daten abrufen

Delegierbare Funktionen

Tipp 11: Delegierung nutzen

Delegierbare Funktionen verlagern die Verarbeitung an die Datenquelle. Das Gerät bekommt nur noch das Ergebnis und muss deutlich weniger leisten.

Wo keine Delegierung möglich ist, verarbeitet die App nur die ersten Datensätze bis zum Datenzeilenlimit für nicht delegierbare Abfragen. Es liegt standardmäßig bei 500 und lässt sich in den Einstellungen der App auf bis zu 10.000 erhöhen. Höhere Werte können die Leistung allerdings verschlechtern. Nicht zu verwechseln mit dem Schwellenwert für Listenansichten in SharePoint (5.000 Einträge), der eine eigene Grenze der Liste ist.

Empfehlung

Verwenden Sie, wo möglich, delegierbare Funktionen und Operatoren und beachten Sie die Delegierungswarnungen im Studio. Für den Rest stellen Sie das passende Datenzeilenlimit ein.

Power Fx · Beispiel
// Delegierbar: Die Datenquelle filtert, das Gerät erhält nur das Ergebnis
Filter(Auftraege, Status = "Offen" && Auftragsdatum >= DateAdd(Today(), -30))

Bereich: Daten abrufen

App-Design

Tipp 12: Arbeit zwischen Gerät und Datenquelle verteilen

Auch der Aufbau einer App beeinflusst ihre Leistung. Typisches Beispiel: Die App lädt zunächst große Datenmengen auf das Gerät und reduziert sie dann über mehrere Bildschirme hinweg mit Filtern, Sortieren oder Gruppieren. Auch eine lange Formel im OnStart kann viele unnötige Datenaufrufe auslösen.

Empfehlung

Prüfen Sie den Aufbau mit dem Monitor von Power Apps: Welche Datenaufrufe dauern lange und wie viele Aufrufe löst eine Aktion aus? Verteilen Sie die Arbeit dann sinnvoll zwischen Gerät und Datenquelle.

Bereich: Daten abrufen

Paginierung

Tipp 26: Große Datenmengen seitenweise anzeigen

Paginierung teilt große Datenmengen in kleinere Blöcke auf, statt alles auf einmal anzuzeigen. Das entlastet Speicher und Datenquelle, verkürzt Ladezeiten und macht die App reaktionsschneller.

Gleichzeitig werden Listen übersichtlicher, weil niemand von einer Flut an Einträgen erschlagen wird.

Empfehlung

Bauen Sie in Listen und Datenansichten eine seitenweise Anzeige ein. Das verbessert Leistung und Bedienbarkeit gleichermaßen.

Bereich: Daten abrufen

Datenabfragen

Tipp 36: Gezielt abfragen

Effiziente Datenabfragen sind entscheidend für jede Canvas App. Übermäßige oder schlecht gebaute Abfragen verlängern die Ladezeiten und verschwenden Ressourcen.

Empfehlung

Formulieren Sie Abfragen spezifisch, damit nur die benötigten Daten zurückkommen. Vermeiden Sie überflüssige Daten und Abfragen, deren Ergebnis bereits in der App vorliegt. Weniger Daten und weniger Abfragen machen die App spürbar schneller.

Bereich: Daten abrufen

App-Aufbau & Start

Bildschirme, Steuerelemente, Komponenten und der Start der App · 10 Tipps

Steuerelemente

Tipp 13: Wenige Steuerelemente je Bildschirm

Jedes Steuerelement auf einem Bildschirm erhöht den Speicherbedarf, sobald der Bildschirm geladen wird. Schlanke Bildschirme werden schneller gezeichnet und brauchen weniger Speicher.

Empfehlung

Gestalten Sie Bildschirme mit möglichst wenigen Steuerelementen und teilen Sie überladene Bildschirme auf. Für wiederkehrende Elemente eignet sich ein Katalog: Jedes Steuerelement darin zählt nur einmal, egal wie viele Zeilen angezeigt werden.

Bereich: App-Aufbau & Start

Komponenten

Tipp 14: Komponenten statt Kopien

Komponenten sind wiederverwendbare Bausteine für Canvas Apps. Mit ihnen bauen Sie eigene Steuerelemente, die Sie auf allen Bildschirmen einsetzen. Sie können eigene Eigenschaften und auch komplexe Logik enthalten.

Empfehlung

Setzen Sie Komponenten für wiederkehrende Blöcke wie Kopf- und Fußzeilen ein. Das erspart kopierte Steuerelemente, senkt den Pflegeaufwand und verbessert die Leistung.

Bereich: App-Aufbau & Start

DelayOutputSchnell umsetzbar

Tipp 15: Eingaben verzögert auswerten

Die Eigenschaft Text einer Texteingabe ändert sich mit jedem Tastendruck. Hängt daran eine Abfrage, bspw. die Suche in einem Katalog, startet bei jedem Buchstaben ein neuer Datenaufruf.

Empfehlung

Setzen Sie bei der klassischen Texteingabe die Eigenschaft DelayOutput auf true. Bei der modernen Texteingabe heißt das Pendant TriggerOutput mit dem Wert Delayed oder FocusOut. Dann fragt die App die Datenquelle erst ab, wenn die Eingabe pausiert, und nicht bei jedem Tastendruck.

Power Fx · Beispiel
// Klassische Texteingabe txtSuche, Eigenschaft DelayOutput
true

// Katalog galKunden, Eigenschaft Items
Search(Kunden, txtSuche.Text, Name)

Bereich: App-Aufbau & Start

ReferenzenSchnell umsetzbar

Tipp 16: Nicht auf andere Bildschirme verweisen

Verweist eine Formel auf Steuerelemente anderer Bildschirme, muss Power Apps diese Bildschirme im Speicher halten, auch wenn sie gerade nicht angezeigt werden. Das kann die Leistung deutlich verschlechtern.

Empfehlung

Verweisen Sie in Formeln nur auf Steuerelemente des aktuellen Bildschirms. Werte, die Sie auf anderen Bildschirmen brauchen, übergeben Sie über globale Variablen.

Power Fx · Beispiel
// Bildschirm scrKunden: Auswahl merken und wechseln
Set(gblKunde, galKunden.Selected);
Navigate(scrKundeDetail)

// Bildschirm scrKundeDetail: Variable statt galKunden.Selected
gblKunde.Name

Bereich: App-Aufbau & Start

Debugging-EinstellungSchnell umsetzbar

Tipp 17: Veröffentlichte Apps ohne Debug-Modus

Ist die Einstellung „Veröffentlichte App debuggen“ eingeschaltet, läuft die App langsamer.

Empfehlung

Veröffentlichen Sie produktive Apps mit ausgeschalteter Einstellung. Schalten Sie sie nur vorübergehend zur Fehlersuche ein.

Bereich: App-Aufbau & Start

StartScreen-EigenschaftSchnell umsetzbar

Tipp 18: Den Startbildschirm festlegen

Die Eigenschaft StartScreen bestimmt, welcher Bildschirm zuerst erscheint. Power Apps wertet sie einmal beim Start aus. Ist sie leer, erscheint der erste Bildschirm der Strukturansicht.

Empfehlung

Legen Sie den Startbildschirm ausdrücklich über App.StartScreen fest, statt im OnStart zu navigieren. Halten Sie diesen ersten Bildschirm schlank und mit wenig Abhängigkeiten.

Power Fx · Beispiel
// App, Eigenschaft StartScreen
If(IsBlank(Param("AuftragId")), scrStart, scrAuftrag)

Bereich: App-Aufbau & Start

OnStart-EreignisSchnell umsetzbar

Tipp 19: OnStart schlank halten

Datenlastige Formeln im OnStart gehören zu den häufigsten Fehlern beim Bau von Canvas Apps. Solange OnStart läuft, wartet die Person vor dem Ladebildschirm. Hier sollten nur die Daten abgerufen werden, die zum Starten der App wirklich nötig sind.

Empfehlung

Verschieben Sie Abrufe aus dem OnStart in die Eigenschaft OnVisible des Bildschirms, der die Daten braucht. So startet die App schnell und weitere Schritte laufen, während sie schon geöffnet ist.

Power Fx · Beispiel
// Bildschirm scrAuftraege, Eigenschaft OnVisible (statt App.OnStart)
ClearCollect(colOffen, Filter(Auftraege, Status = "Offen"))

Bereich: App-Aufbau & Start

OnStart-Ereignis

Tipp 20: Daten zwischenspeichern statt immer neu laden

OnStart läuft bei jedem Start der App. Große Datenmengen an dieser Stelle verlangsamen also jeden einzelnen Start.

Empfehlung

Nutzen Sie, wo möglich, einen Cache, bspw. Sammlungen für Stammdaten, die sich selten ändern. Werte und Daten, die die ganze App braucht, legen Sie heute am besten als benannte Formeln in App.Formulas an. Power Apps berechnet sie erst, wenn sie gebraucht werden, ohne den Start aufzuhalten.

Power Fx · Beispiel
// App, Eigenschaft Formulas (benannte Formeln)
nfAktiveKunden = Filter(Kunden, Aktiv = true);
nfHeute = Today();

Bereich: App-Aufbau & Start

BilderSchnell umsetzbar

Tipp 24: Bilder komprimieren

Große oder unkomprimierte Bilder verschlechtern nicht nur die Leistung, sie verzögern auch spürbar die Darstellung.

Empfehlung

Verwenden Sie für die Anzeige möglichst verkleinerte Fassungen (Vorschaubilder) oder SVG-Grafiken.

Bereich: App-Aufbau & Start

VeröffentlichungSchnell umsetzbar

Tipp 46: Regelmäßig neu veröffentlichen

Microsoft entwickelt die Power Platform laufend weiter. Davon profitiert eine Canvas App, aber viele Verbesserungen erreichen sie erst mit einer neuen Veröffentlichung.

Empfehlung

Veröffentlichen Sie Ihre Apps regelmäßig neu, um Leistungsverbesserungen und neue Funktionen der Plattform zu erhalten.

Bereich: App-Aufbau & Start

Formeln & Variablen

Neuberechnung, Variablen, Sammlungen und effiziente Funktionen · 11 Tipps

Rekalkulationen

Tipp 21: Unnötige Neuberechnungen vermeiden

Jede Neuberechnung von Daten oder Formeln kostet Prozessorzeit und Speicher. Wiederholte und überflüssige Neuberechnungen bremsen die App.

Empfehlung

Berechnen Sie Werte nur neu, wenn es wirklich nötig ist. Speichern Sie Ergebnisse in Kontextvariablen oder Sammlungen und verwenden Sie sie wieder. Prüfen Sie genau, welche Formeln tatsächlich neu berechnet werden müssen.

Bereich: Formeln & Variablen

Globale Variablen

Tipp 33: Globale Variablen sparsam einsetzen

Globale Variablen speichern Werte für die ganze App. Das ist praktisch, aber jede Variable belegt Speicher und kann, wenn sie nicht sauber verwaltet wird, zu Engpässen führen.

Empfehlung

Setzen Sie globale Variablen gezielt ein und greifen Sie, wo es passt, zu Kontextvariablen eines Bildschirms oder zu Sammlungen. Leeren Sie Variablen, die nicht mehr gebraucht werden.

Power Fx · Beispiel
// Nicht mehr benötigte Variable leeren
Set(gblAuswahl, Blank())

Bereich: Formeln & Variablen

Asynchrone Operationen

Tipp 37: Die Oberfläche nicht blockieren

Lange Aufgaben wie umfangreiche Datenabfragen sollten die Oberfläche nicht lahmlegen. Bleibt die App währenddessen bedienbar und gibt Rückmeldung, wirkt sie flüssig und friert nicht scheinbar ein.

Empfehlung

Planen Sie lange Vorgänge so, dass die App reagiert und anzeigt, was gerade passiert. Das braucht eine sorgfältige Planung und Fehlerbehandlung, damit alle Vorgänge korrekt abschließen und keine Datenprobleme entstehen.

Power Fx · Beispiel
// Ladeanzeige über eine Kontextvariable
UpdateContext({locLaedt: true});
ClearCollect(colAuftraege, Filter(Auftraege, Status = "Offen"));
UpdateContext({locLaedt: false})

// Ladeanzeige, Eigenschaft Visible
locLaedt

Bereich: Formeln & Variablen

Caching mit Sammlungen

Tipp 38: Mit Sammlungen zwischenspeichern

Caching heißt, Daten vorübergehend zu speichern, damit Zugriff und Berechnung schneller gehen. Die übliche Methode in Power Apps sind Sammlungen (Collections): Die App hält Daten im Speicher und muss die Datenquelle nicht erneut fragen.

Empfehlung

Finden Sie das richtige Maß: Zu lange gespeicherte Daten veralten und Sammlungen aktuell zu halten braucht einen Plan. Gut eingesetzt sorgt Caching für deutlich schnelleren Datenzugriff.

Bereich: Formeln & Variablen

SammlungenSchnell umsetzbar

Tipp 39: Sammlungen klein halten

Mobile Geräte begrenzen den Speicher streng. Sammlungen liegen im Arbeitsspeicher des Geräts. Wird er zu knapp, beendet das Betriebssystem die App und sie stürzt ab.

Empfehlung

Begrenzen Sie Sammlungen auf die nötigen Zeilen und Spalten. Mit ShowColumns, DropColumns und AddColumns übernehmen Sie nur die Spalten, die die App wirklich braucht.

Power Fx · Beispiel
ClearCollect(
    colKunden,
    ShowColumns(Filter(Kunden, Aktiv = true), Name, Ort, Telefon)
)

Bereich: Formeln & Variablen

Massendatensätze

Tipp 40: Viele Datensätze auf einmal speichern

ForAll mit einem Patch je Datensatz ist bei vielen Datensätzen langsam, weil die Änderungen nacheinander gespeichert werden.

Empfehlung

Übergeben Sie mehrere Datensätze in einem einzigen Patch an dieselbe Datenquelle. So werden die Änderungen gebündelt statt einzeln gespeichert. Das funktioniert, wenn die Spalten in Sammlung und Datenquelle gleich heißen. Bei abweichenden Spalten bleibt ForAll mit Patch nötig.

Power Fx · Beispiel
// Langsam: ein Aufruf je Datensatz
ForAll(colAenderungen As a,
    Patch(Auftraege, LookUp(Auftraege, ID = a.ID), {Status: a.Status})
)

// Schneller: ein Patch mit einer Tabelle
// (colAenderungen enthält je Zeile die ID und die geänderten Spalten)
Patch(Auftraege, colAenderungen)

Bereich: Formeln & Variablen

Formeln

Tipp 41: Formeln einfach halten

Komplexe, verschachtelte Formeln verlängern die Verarbeitung. Manchmal sind sie nötig, aber sie sind schwer zu verstehen, schwer zu pflegen und machen die App träger.

Empfehlung

Vereinfachen Sie Formeln und streichen Sie unnötige Berechnungen. Zerlegen Sie komplexe Formeln in kleinere, verständliche Teile, bspw. mit With().

Power Fx · Beispiel
With(
    {netto: Sum(colPositionen, Menge * Preis)},
    netto * 1.19
)

Bereich: Formeln & Variablen

ConcurrentSchnell umsetzbar

Tipp 42: Daten parallel laden

Beim Start lädt eine App oft mehrere Datenquellen vor. Üblicherweise passiert das im OnStart nacheinander.

Empfehlung

Laden Sie voneinander unabhängige Daten mit Concurrent gleichzeitig. Das verkürzt die Wartezeit beim Start.

Power Fx · Beispiel
Concurrent(
    ClearCollect(colKunden, Kunden),
    ClearCollect(colArtikel, Artikel),
    Set(gblIch, User())
)

Bereich: Formeln & Variablen

ClearCollectSchnell umsetzbar

Tipp 43: ClearCollect statt Clear und Collect

Clear leert eine Sammlung, Collect fügt Datensätze hinzu. ClearCollect erledigt beides in einem Schritt und ist damit schneller als zwei einzelne Aufrufe.

Empfehlung

Verwenden Sie, wo es passt, ClearCollect() anstelle von Clear() und Collect().

Power Fx · Beispiel
// Zwei Schritte
Clear(colArtikel); Collect(colArtikel, Artikel)

// Ein Schritt
ClearCollect(colArtikel, Artikel)

Bereich: Formeln & Variablen

CountIfSchnell umsetzbar

Tipp 44: CountIf statt CountRows(Filter())

Mit den Zählfunktionen ermitteln Sie, wie viele Datensätze eine Bedingung erfüllen.

Empfehlung

Verwenden Sie, wo es passt, CountIf() statt CountRows(Filter()). Achten Sie bei großen Datenquellen zusätzlich auf die Delegierung.

Power Fx · Beispiel
// Statt
CountRows(Filter(Auftraege, Status = "Offen"))

// besser
CountIf(Auftraege, Status = "Offen")

Bereich: Formeln & Variablen

UpdateContextSchnell umsetzbar

Tipp 45: Kontextvariablen gebündelt setzen

UpdateContext legt Kontextvariablen an, die vorübergehend einen Wert halten, bspw. wie oft eine Schaltfläche geklickt wurde. Viele einzelne Aufrufe hintereinander kosten unnötig Leistung.

Empfehlung

Setzen Sie zusammengehörige Kontextvariablen in einem einzigen UpdateContext-Aufruf.

Power Fx · Beispiel
UpdateContext({locLaedt: true, locFehler: "", locSeite: 1})

Bereich: Formeln & Variablen

SharePoint

Nachschlagespalten, Bilder, Anhänge und große Listen · 3 Tipps

SharePoint-Connector

Tipp 22: Nachschlagespalten sparsam einsetzen

SharePoint kennt dynamische Spaltentypen wie Nachschlagen, Person oder Gruppe und Berechnet. Je mehr davon eine Liste enthält, desto länger braucht SharePoint, um sie aufzulösen, bevor die Daten an die App gehen. Das erzeugt vermeidbaren Aufwand auf der SharePoint-Seite.

Empfehlung

Verwenden Sie dynamische Nachschlagespalten nicht übermäßig. Oft genügen einfache Spalten, bspw. für die E-Mail-Adresse oder den Namen einer Person.

Bereich: SharePoint

Bildspalte und Anhang

Tipp 23: Bilder und Anhänge in SharePoint im Blick behalten

Große Bilder oder Anhänge in SharePoint verlangsamen den Abruf auf dem Gerät. Denn die passenden Datensätze kommen bis zum Datenzeilenlimit mit allen abgefragten Spalten auf das Gerät, auch mit solchen, die die App gar nicht nutzt.

Empfehlung

Prüfen Sie die Liste: Enthält sie nur die Spalten, die die App braucht? Achten Sie außerdem darauf, dass die App nur die verwendeten Spalten abfragt. Die explizite Spaltenauswahl ist bei neuen Apps standardmäßig aktiv. Prüfen Sie bei älteren Apps in den Einstellungen, ob sie eingeschaltet ist.

Bereich: SharePoint

Große Listen

Tipp 25: Große SharePoint-Listen aufteilen

OData-Abfragen an SharePoint hängen stark von der Zahl der Spalten und der abgerufenen Zeilen ab, begrenzt durch das Datenzeilenlimit für nicht delegierbare Abfragen. Weniger Spalten und ein niedrigeres Datenzeilenlimit verbessern die Leistung.

Empfehlung

Teilen Sie sehr große Listen mit vielen tausend Einträgen auf, bspw. nach Jahr oder Monat. Die App lässt dann zuerst einen Zeitraum wählen und ruft nur die passende Liste ab.

Bereich: SharePoint

Dataverse, SQL & Gateway

Ansichten, Indizes, Datentypen und das lokale Datengateway · 8 Tipps

Dataverse-Connector

Tipp 27: Dataverse-Ansichten nutzen

Mit Dataverse gehen Datenanfragen direkt an die Umgebung, ohne den Umweg über Azure API Management. Trotzdem kann eine App langsam sein, wenn viel auf dem Gerät gerechnet wird, bspw. beim Filtern.

Empfehlung

Verwenden Sie, wo möglich, Dataverse-Ansichten mit den nötigen Verknüpfungen und Filtern statt der ganzen Tabelle. Das spart Rechenarbeit und Datenübertragung.

Bereich: Dataverse, SQL & Gateway

SQL Server-ConnectorSchnell umsetzbar

Tipp 28: StartsWith statt in

Eine App wird langsam, wenn ihre Abfragen in der Datenbank Tabellenscans statt einer Indexsuche auslösen.

Empfehlung

Nutzen Sie StartsWith statt des Operators in. Mit SQL Server kann StartsWith eine Indexsuche auslösen, in führt dagegen zu einem Index- oder Tabellenscan.

Power Fx · Beispiel
// Indexsuche möglich
Filter(Kunden, StartsWith(Name, txtSuche.Text))

// Index- oder Tabellenscan
Filter(Kunden, txtSuche.Text in Name)

Bereich: Dataverse, SQL & Gateway

SQL Server-Connector

Tipp 29: Index passend zur Sortierung

Indexschlüssel werden standardmäßig aufsteigend (ASC) angelegt. Ruft die App die Daten einer Spalte absteigend sortiert ab (DESC), sollte auch der Index dieser Spalte absteigend sein.

Empfehlung

Legen Sie für Spalten, die die App absteigend sortiert abruft, einen absteigenden Index an.

T-SQL · Beispiel
CREATE INDEX IX_Auftraege_Datum_Desc
    ON dbo.Auftraege (Auftragsdatum DESC);

Bereich: Dataverse, SQL & Gateway

Ressourcenkonkurrenz

Tipp 30: Engpässe in der Datenbank beheben

Leistungsprobleme entstehen auch auf dem Server, etwa durch Sperren, Wartezeiten, Deadlocks oder Zeitüberschreitungen bei Abfragen.

Empfehlung

Prüfen Sie die SQL-Datenbank auf Ressourcenkonflikte wie Prozessorengpässe, E/A-Konflikte, Speicherdruck oder Engpässe in der tempdb.

Bereich: Dataverse, SQL & Gateway

Datengröße

Tipp 31: Große Datentypen ausschließen

Standardmäßig zeigt eine Canvas App Daten über die Tabellen oder Ansichten der Datenbank an. Alle Spalten einer Tabelle abzurufen verlangsamt die Antwort, vor allem bei großen Datentypen wie NVARCHAR(MAX).

Empfehlung

Arbeiten Sie mit schlanken Ansichten auf Datenbankebene, die nur die nötigen Spalten enthalten und große Datentypen wie NVARCHAR(MAX), VARCHAR(MAX) und VARBINARY(MAX) weglassen.

T-SQL · Beispiel
CREATE VIEW dbo.vwAuftraegeOffen AS
SELECT ID, Nummer, Kunde, Auftragsdatum, Betrag
FROM dbo.Auftraege
WHERE Status = N'Offen';

Bereich: Dataverse, SQL & Gateway

Ansicht-Objekte

Tipp 32: Gruppieren und Filtern in der Datenbank

Gruppieren und nicht delegierbare Filter führt eine Canvas App auf dem Gerät aus und nutzt dafür Prozessor und Speicher. Je nach Datenquelle und Datenmenge dauert das spürbar und der Speicherbedarf steigt.

Empfehlung

Verzichten Sie, wo möglich, auf Gruppieren und Filtern in der App und legen Sie dafür Ansichten in der SQL-Datenbank an, ebenfalls nur mit den nötigen Spalten und ohne große Datentypen.

T-SQL · Beispiel
CREATE VIEW dbo.vwUmsatzJeKunde AS
SELECT Kunde, COUNT(*) AS Auftraege, SUM(Betrag) AS Umsatz
FROM dbo.Auftraege
GROUP BY Kunde;

Bereich: Dataverse, SQL & Gateway

Lokales Datengateway

Tipp 34: Alle Gateway-Knoten gesund halten

Ein lokales Datengateway kann aus mehreren Knoten bestehen. Ist nur einer davon nicht erreichbar, beantworten Anfragen an diesen Knoten nicht rechtzeitig oder enden nach einer Wartezeit mit einer Fehlermeldung.

Empfehlung

Achten Sie darauf, dass alle Knoten fehlerfrei laufen und mit möglichst geringer Latenz zur Datenbank verbunden sind.

Bereich: Dataverse, SQL & Gateway

Lokales Datengateway

Tipp 35: Gateway nah an der Datenbank, bei Last als Cluster

Das lokale Datengateway übersetzt OData-Anfragen in Datenbankbefehle (DML) und muss dafür das Tabellenschema kennen. Liegt zwischen Gateway und Datenbank eine hohe Netzwerklatenz, kostet jede Anfrage zusätzlich Zeit.

Empfehlung

Platzieren Sie das Gateway nah an der Datenbank. Sind viele Datenabrufe zu erwarten, empfiehlt sich ein skalierbarer Gateway-Cluster.

Bereich: Dataverse, SQL & Gateway

Qualität & Betrieb

Fehlerbehandlung, Messung, Tests und regelmäßige Pflege · 4 Tipps

Fehlerbehandlung

Tipp 47: Fehler sauber abfangen

Unbehandelte Fehler führen zu unerwartetem Verhalten, Abstürzen oder sogar zum Verlust von Eingaben. Eine robuste Fehlerbehandlung erkennt Probleme und reagiert angemessen, bspw. mit einer verständlichen Meldung oder einem neuen Versuch.

Empfehlung

Fangen Sie Fehler gezielt ab, besonders beim Speichern. Das verbessert die Bedienung und sorgt dafür, dass die App auch unter schwierigen Bedingungen stabil läuft.

Power Fx · Beispiel
IfError(
    Patch(Auftraege, Defaults(Auftraege), {Titel: txtTitel.Text}),
    Notify("Speichern nicht möglich: " & FirstError.Message, NotificationType.Error)
)

Bereich: Qualität & Betrieb

Performance-Überprüfung

Tipp 48: Leistung regelmäßig messen

Anforderungen ändern sich, Datenquellen wachsen und neue Funktionen kommen hinzu. All das beeinflusst die Leistung einer App, oft schleichend.

Regelmäßige Leistungstests decken Engpässe und ineffiziente Abläufe auf. Werkzeuge wie der Monitor und die App-Prüfung in Power Apps helfen, die Daten zu sammeln und auszuwerten.

Empfehlung

Prüfen Sie die Leistung Ihrer Apps nicht erst, wenn sich jemand beschwert, sondern regelmäßig und vorausschauend.

Bereich: Qualität & Betrieb

Test Studio

Tipp 49: Automatisiert testen

Tests gehören zu jedem modernen Entwicklungszyklus, auch bei Canvas Apps. Sie sichern die geforderte Qualität und finden Fehler früh, bevor sie im Alltag auffallen. Für kleine Apps genügen oft manuelle Tests. Bei komplexen Apps lohnt sich ein Testwerkzeug.

Empfehlung

Prüfen Sie mit Test Studio laufend, ob Ihre App wie erwartet funktioniert, besonders nach eigenen Änderungen und nach Updates der Power Platform.

Bereich: Qualität & Betrieb

Allgemeines

Tipp 50: Optimierung als Daueraufgabe verstehen

Weniger Fehler und Abstürze, geringere Kosten, ein Vorsprung vor anderen, effizientere Entwicklung, Zukunftssicherheit, sparsamer Umgang mit Daten und ein besseres Bild Ihres Unternehmens: Eine optimierte App zahlt sich auf vielen Ebenen aus.

Empfehlung

Verstehen Sie die Optimierung Ihrer Canvas App nicht nur als technischen Vorgang, sondern als strategischen Ansatz und als Investition in die Zukunft der App und des Unternehmens.

Bereich: Qualität & Betrieb

04Tipp 50 im Detail

Warum sich Optimierung immer lohnt.

Die Optimierung einer Canvas App ist nicht nur ein technischer Vorgang, sondern ein strategischer Ansatz: Sie hält die App wettbewerbsfähig, gibt den Nutzenden den bestmöglichen Wert und ist eine Investition in die Zukunft des Produkts und des Unternehmens.

  • Weniger Fehler und Abstürze

    Jeder Fehler und jeder Absturz schadet dem Ruf einer App. Optimierung beseitigt Schwachstellen und Fehlerquellen und macht die App stabiler und zuverlässiger.

  • Kostenersparnis

    Weniger Ressourcenverbrauch bedeutet auf lange Sicht geringere Betriebskosten, ob für Speicher, Server oder Wartung.

  • Wettbewerbsvorteil

    Wenn es viele Optionen gibt, entscheidet die Leistung. Eine App, die besser funktioniert als andere, gewinnt leichter Aufmerksamkeit und Vertrauen.

  • Effizienz in Entwicklung und Pflege

    Optimierter Code ist sauberer, strukturierter und leichter zu verstehen. Das erleichtert die Weiterentwicklung und die Fehlersuche und spart Zeit und Geld.

  • Zukunftssicherheit

    Technologien ändern sich schnell. Eine optimierte App ist meist modular und flexibel gebaut und lässt sich leicht an neue Anforderungen anpassen.

  • Dateneffizienz

    Eine optimierte App überträgt und speichert nur die nötigen Daten. Das verbessert den Datenschutz und spart Kosten.

  • Markenwahrnehmung

    Eine einzige schlechte Erfahrung kann dem Ruf schaden. Eine schnelle, zuverlässige App stärkt das Vertrauen in Ihr Unternehmen.

05App-Analyse

Ich schaue mir Ihre App an.

Ihre Canvas App ist zu langsam, hängt oder stürzt ab? Gern analysiere ich Ihre vorhandene App und erstelle eine umfangreiche Auswertung mit konkreten Empfehlungen. Damit können Sie die Optimierung selbst vornehmen oder ich übernehme sie für Sie.

  1. Kostenloses Erstgespräch

    Wir klären, um welche App es geht, wo es hakt und welche Zugänge ich für die Analyse brauche.

  2. Analyse der App

    Ich untersuche Aufbau, Bildschirme, Formeln, Datenquellen und Datenaufrufe Ihrer App, u. a. mit dem Monitor und der App-Prüfung von Power Apps.

  3. Umfangreiche Auswertung

    Sie erhalten eine Auswertung, die zeigt, was die App bremst, warum das so ist und was zu tun ist, mit Empfehlungen nach Wirkung und Aufwand geordnet.

  4. Optimierung

    Die Empfehlungen setzen Sie mit Ihrem Team selbst um oder ich nehme die Optimierung für Sie vor.

Sie optimieren selbst

Die Auswertung ist so aufgebaut, dass Ihr Team oder Ihr Dienstleister die Optimierung Schritt für Schritt umsetzen kann.

Ich optimiere für Sie

Ich setze die Empfehlungen direkt in Ihrer App um, nachvollziehbar dokumentiert und getestet.

06Fragen und Antworten

Häufige Fragen

Warum ist meine Power Apps Canvas App langsam?
Die häufigsten Ursachen sind zu viele Daten auf dem Gerät (zu viele Spalten, keine Delegierung, große Sammlungen), datenlastige Formeln im OnStart, überladene Bildschirme und Verweise auf Steuerelemente anderer Bildschirme. Mit dem Monitor von Power Apps sehen Sie, welche Datenaufrufe wie lange dauern.
Was bedeutet Delegierung in Power Apps?
Bei der Delegierung übernimmt die Datenquelle das Filtern, Sortieren und Suchen und schickt nur das Ergebnis an die App. Nicht delegierbare Abfragen verarbeitet die App selbst und nur bis zum eingestellten Datenzeilenlimit. Bei großen Datenmengen fehlen dann Datensätze im Ergebnis.
Wie messe ich die Leistung einer Canvas App?
Der Monitor in Power Apps zeichnet alle Ereignisse und Datenaufrufe einer Sitzung mit Dauer und Datenmenge auf. Ergänzend weist die App-Prüfung im Studio auf typische Leistungs- und Delegierungsprobleme hin.
Ist Dataverse immer schneller als SharePoint?
Nicht automatisch. Für Unternehmensanwendungen mit vielen Nutzenden, großen Datenmengen und komplexen Beziehungen empfiehlt Microsoft Dataverse. Für kleinere Apps kann SharePoint völlig ausreichen, wenn Spalten, Nachschlagespalten und Listengrößen bewusst geplant sind.
Kann ich den Leitfaden weitergeben?
Sehr gern per Link auf diese Seite. Die Inhalte sind urheberrechtlich geschützt. Für eine Nutzung darüber hinaus, bspw. in eigenen Schulungsunterlagen, schreiben Sie mir einfach.

Ihre App ist zu langsam? Sprechen wir darüber.

Im kostenlosen Erstgespräch (30 Minuten, per Microsoft Teams) klären wir, wo Ihre Canvas App Zeit verliert und ob eine Analyse mit Auswertung der richtige nächste Schritt ist.