In Dev10 wir in der Lösung zur Verbesserung der Ladezeit investiert, indem man die Last asynchron zu machen. Leider ist diese Arbeit aus zeitlichen Gründen nicht in Dev10 übergegangen. Stattdessen haben wir uns entschieden, die Benutzererfahrung etwas besser zu machen, indem wir dem Benutzer Feedback geben, was während der Lösungsauslastung vor sich ging. Dies beinhaltete zunächst einen Dialog, der eine genaue Rückmeldung darüber lieferte, wie viele Projekte zusammen mit dem Namen des aktuell geladenen Projekts geladen wurden. Frühes Testen dieser Erfahrung ergab, dass es oft eine nicht-triviale Verzögerung gab (d. H. Der Spinning Donut und "nicht reagierend" Fenstertitel), nachdem die Projekte geladen wurden und die Existenz des Dialogs diese Verzögerung sehr offensichtlich machte, sobald der Dialog geschlossen wurde. Also, was ist die Verzögerung? Nach dem Laden der Lösungsprojekte laufen 2 Dinge ab. Zuerst werden alle zuvor geladenen Dokumente/Editoren wieder geöffnet und für einige Designer-Dateien kann dies einige Sekunden dauern. Zweitens und normalerweise viel schlechter rufen wir NotifyOnAfterSolutionOpen
an, was ein Erweiterungspunkt in VS ist. Jeder Abonnent dieses Ereignisses wird an diesem Punkt seinen Code ausführen und dieser Code ist sehr oft sehr teuer. Für Dev10 hatten wir nicht die Zeit, um die Leistung all dieser Abonnenten zu verbessern und so wurde der Eindruck erweckt, dass ein zweiter Dialog erforderlich war, um klarzustellen, dass die Lösungslast noch im Gange war. Was wirklich nervt über den zweiten Dialog ist, dass es Ihnen nicht sagt, welcher Teil des Codes die Verzögerung verursacht und schlechter die Fortschrittskontrolle ist der Marquee-Stil, was bedeutet, dass es nicht determinant ist (im Gegensatz zum ersten Dialog).
Wir arbeiten weiter daran, nach Möglichkeiten zu suchen, um das Laden von Lösungen wirklich asynchron zu machen und nie so unangenehme Dialoge zu zeigen. In der Verteidigung des Dialogs zeigen unsere Untersuchungen, dass die meisten Menschen einen modalen Status-Dialog über den Donut oder die nicht reagierende Benutzeroberfläche bevorzugen. Natürlich bevorzugen alle keine Verzögerung und wir arbeiten daran für Dev11.
Ich weiß, das ist nur eine Verschwendung eines Kommentars, aber LMFAO. –
@Erick_Robertson Guter Kommentar obwohl :) – Lazarus
Ich vermute, dass es über die gleiche Menge an Arbeit VS2008 getan hat, wenn ein Projekt geöffnet, aber jetzt gibt es eine Fortschrittsleiste darauf, so dass Sie sagen können, wenn es fertig ist. Aber ich habe die Geschwindigkeiten nicht verglichen. –