Microsoft-ui-xaml: UWP-App startet mit vielen Assets sehr langsam

Erstellt am 1. Apr. 2020  ·  3Kommentare  ·  Quelle: microsoft/microsoft-ui-xaml

Beschreibe den Fehler

Die Startlänge der UWP-App ist proportional zur Anzahl der im Projekt enthaltenen Assets (z. B. Bilder, bei denen die Build-Aktion auf _Content_ festgelegt ist). Selbst für eine einfache leere Seite, die nichts tut, führt die bloße Anwesenheit vieler Assets im Anwendungspaket dazu, dass die App extrem langsam geladen wird - während der Code sie überhaupt nicht berührt.

Schritte zum Reproduzieren des Fehlers
Schritte zum Reproduzieren des Verhaltens:

  1. Erstellen Sie eine leere App
  2. Starten Sie es - beobachten Sie, wie es fast sofort startet
  3. Füge 1000 kleine Bilder in den Assets Ordner hinzu (sogar Icons reichen aus)
  4. App starten - der Start kann jetzt sogar 20 Sekunden dauern

Der Einfachheit halber habe ich hier auf GitHub ein einfaches Repro erstellt. Es enthält zwei Apps – eine ist eine einfache leere UWP-App ohne Assets, die zweite ist eine leere UWP-App mit vielen Bildinhalts-Assets (die jedoch überhaupt nicht verwendet werden.

Erwartetes Verhalten

Wenn die App die Inhaltsdateien in keiner Weise verwendet, sollten sie die Startzeit der App nicht beeinflussen (da die Dateien bereits mit dem Paket bereitgestellt werden, sollte die App sie also beim Start nicht manipulieren).

Screenshots

_Profiler-Ausgabe_

Beachten Sie, dass der Profiler die gesamte Startzeit anzeigt, die in

Profiler results

Während des Debuggens können Sie feststellen, dass während dieser Wartezeit fast keine CPU- oder RAM-Aktivität stattfindet.

Versions Information

NuGet-Paketversion: keine erforderlich, klassisches UWP ist ausreichend


| Windows 10-Version | Haben Sie das Problem gesehen? |
| :--------------------------------- | :-------------------- |
| Insider-Build (xxxxx) | Ja |
| November 2019-Update (18363) | Ja |
| Mai 2019 Update (18362) | Ja |
| Update Oktober 2018 (17763) | Ja |
| Aktualisierung April 2018 (17134) | |
| Herbst Creators Update (16299) | |
| Creators-Update (15063) | |


| Geräteformfaktor | Haben Sie das Problem gesehen? |
| :-------------------- | :------------------ |
| Desktop | Ja |
| Mobil | Ja |
| Xbox | |
| Surface Hub | |
| IoT | |

Zusätzlicher Kontext

Ich habe dies vor langer Zeit bei meiner App bemerkt, die viele Inhaltssymbolbilder enthält, aber jetzt habe ich endlich herausgefunden, was die Ursache dafür ist, dass sie so langsam gestartet wird.

area-Performance needs-triage needs-winui-3 team-Reach

Hilfreichster Kommentar

@MartinZikmund Du hast das richtige Repo :). Mit WinUI3 werden die Plattform-Bits aus dem OS verschoben. So können wir dieses Problem hier verfolgen. Danke für die Berichterstattung.

Alle 3 Kommentare

@Austin-Lamb @bartekk8 Das Repro enthält nur die Plattform-Bits (kein winUI).

@ranjeshj Das stimmt, es wäre egal, wenn ich Microsoft.UI hinzufüge. Leider gibt es keinen besseren Ort, um UWP-Probleme zu melden (das würden die Entwickler sehen), deshalb habe ich das Problem hier gepostet. Ich werde es auch im Windows-Feedback erneut veröffentlichen, aber ich bin mir nicht sicher, ob es von dort aus das Entwicklerteam erreichen wird.

@MartinZikmund Du hast das richtige Repo :). Mit WinUI3 werden die Plattform-Bits aus dem OS verschoben. So können wir dieses Problem hier verfolgen. Danke für die Berichterstattung.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen