Anzeige

Am Puls von Microsoft

Anzeige

Windows 8 benötigt minimalste Ressourcen bei Metro Apps

prinblac

Moderator
Windows 8 soll nicht nur schnell und flüssig, sondern auch besonders ressourcensparend laufen, das hat Microsoft immer wieder bekräftigt. In einem neuen Blog-Beitrag erklären die Entwickler, wie die Effizienz von Metro Apps in Windows 8 dank drei verschiedener Energie-Modi maximiert werden soll.
Folglich sollte eine Anwendung, die vom Anwender gerade nicht genutzt wird und nicht auf dem Bildschirm zu sehen ist, auch keine Ressourcen verbrauchen.
Soweit die Theorie - dennoch sollte man sich im Klaren sein, dass viele Anwender statt der Metro-Oberfläche weiterhin den "normalen Desktop" nutzen werden und dabei nach wie vor Hintergrundprozesse, Dienste, gestartete Anwendungen den Ressourcen-Haushalt von Windows belasten.
Anders sieht dies bei Nutzung von Windows 8 im mobilen Bereich aus, wo ähnlich der Nutzung eines Smartphones wirklich Vieles über Apps abwickelt.

Folgende Modi werden unterschieden:

Die App läuft aktiv im Vordergrund
Der aktive Anwendung stehen grundsätzlich auch die vollen Ressourcen zur Verfügung - sie kann die Leistung von CPU,Festplatte und Arbeitsspeicher voll ausreizen. In diesem Fall verhalten sich die neuen Metro-Apps wie "herkömmliche" Desktop-Programme.
Da Apps grundsätzlich im Vollbildmodus laufen, belastet dies den Energieverbrauch entsprechend mehr.


Die App ist angehalten, jedoch abrufbereit im Hintergrund
Wird eine neue Anwendung aufgerufen, die vorher genutzte aber nicht explizit beendet, erkennt der Windows Scheduler (die Aufgabenplanung unter Windows, die unter anderem auch das Power-Management für CPU, RAM usw. regelt) dies und setzt reduziert dementsprechend die CPU und RAM Priorität. Somit bleibt die App im Hintergrund mit minimalem Ressourcenbedarf (Low-Power Zustand) abrufbereit. Die App befindet sich sozusagen im Ruhezustand, kann aber mittels "App-Switching" binnen kürzester Zeit wieder im Vordergrund bereitgestellt werden.

Mit einem Screenshot demonstriert Microsoft, dass Metro Apps, die aktuell nicht genutzt werden, keinerlei Ressourcen benötigen:

win8_taskmanager.jpg



Aktive Hintergrund-Apps
In diesem Punkt liegt die größte Herausforderung für App-Entwickler.
Denn wenn Anwendungen ihre Hintergrund-Aufgaben wie bisher mit hohen Prioritäten erledigen, wird man wohl nie eine Verbesserung der Akkulaufzeit eines mobilen Geräts erreichen.
Bis jetzt konnten Entwickler dank steigender Leistungsfähigkeit der CPUs diese verschwenderisch auch für Hintergrundarbeiten nutzen. Dies wird nun nur durch eine gut durchdachte Mischung aus Aufgabenplanung und Effizienz erreicht werden. Windows 8 im Zusammenspiel mit WinRT dürfte demnach den Hauptfokus darauf setzen, die Hintergrundprozesse (wie sie zum Beispiel auch bei Internetseiten in geöffneten Tabs vorhanden sind) nach Wichtigkeit eingestuft wirklich ressourcensparend einzusetzen.

Dies soll sich entsprechend positiv auf die Lebensdauer der Batterie auswirken.
Das neue Energiekonzept sollte natürlich nicht auf Kosten des flüssigen Arbeitens am Gerät gehen. Dies bedeutet eine große technische Herausforderung, Anwendungen schnell bereitzustellen, sie aber bei Nichtgebrauch wartend im Hintergrund abrufbereit zu haben - bei minimalem Ressourcenverbrauch. Gleichzeitig sollte das System schlagartig Ressourcen wieder freigeben, wenn Anwendungen ausgeschaltet werden.

Bei der Fülle von kostenlos App-Angeboten, wie sie zum Beispiel für Windows Phone 7 vorhanden sind und auch bestimmt für Windows 8 in Zukunft bereitstehen werden, bleibt abzuwarten, wie sauber diese programmiert sein werden.
Um ein wirklich effizientes Power-Management durchzusetzen, müsste eigentlich eine Gültigkeitsprüfung für Apps stattfinden. Im Hauptaugenmerk würde bei dieser Prüfung wohl ein Laden und Entladen und der Umgang mit Prioritäten für Hintergrundaktivitäten einer Anwendung für den mobilen Bereich stehen, um den Effizienzgedanken rigoros durchzusetzen...

Quelle: Improving power efficiency for applications
 
Anzeige
@Die App läuft aktiv im Vordergrund:
Wenn ich das richtig verstehe, ist das nicht viel anderes als ein SingleTastk (kein MultiTask) und somit ist klar, dass der App die vollen Resourcen zur Verfügung stehen. Auf dem Smartphone macht dieses auch in den meißten Fällen Sinn... aber für den Desktop-Bereich sehe ich dieses etwas skeptisch... (z.b. wenn man Musik hören will, gleichzeitig einen Messanger am laufen hat und gleichzeitig Dokumente schreibt/Grafik bearbeitet oder Programmiert). Wäre interessant zu Wissen, wie sich das ganze dann verhalten würde und ob der Programmierer der App festlegen muß, wie sich die App verhällt - oder ob der User sagen kann, dass die App im SingleTask läuft oder im Multitask.

Eine Aussage, die mich extrem irritiert und die ich mit meinem bisherigem Wissen um Software/Hardware/Entwicklung nicht nachvollziehen kann, dass eine App die im Vollbildschirmmodus läuft, mehr Energieverbrauch verursachen würde. Selbst wenn die App nicht im Vollbildschirmmodus laufen würde, so müßte die Grafikkarte den freien Bereich (wahrscheinlich Desktop) ebenfalls pro Frame neu zeichnen... Von daher spart die Grafikkarte nichts, da immer der volle Bildschirm neu gezeichnet wird. Von daher ist die Aussage für mich derzeit absolut nicht nachvollziehbar.


@Die App ist angehalten, jedoch abrufbereit im Hintergrund:
Stellt sich die Frage, wie dieses das PowerManagement feststellt... Einfach nur alle Handels der Programmfenster (hWnd) durchlaufen und schauen welches Fenster aktiv und im Vordergrund ist und entsprechend alle anderen auf eine Art Low-Priority setzen? Was ist, wenn man zwei Fenster bzw Programme nebeneinander hat oder gar auf zwei Bildschrirmen verteilt... Bin mal gespannt, wie sich das in der Praxis verhällt und wie man das gescheit lösen will.

Die Aussage auf dem Screenshot basierend, dass Metro Apps die nicht genutzt werden,
angeblich keinerlei Resourcen verschwenden würden, kann ich leider auch noch nicht so ganz - selbst mit Screenshot - nicht nachvollziehen. Zwar ist due CPU-Auslastung usw im Screenshot bei 0% (klar, wenn die App KOMPLETT vom OS angehalten wird) - dennoch verbrauchen diese (stillstehenden) Apps entsprechend (und teils nicht gerade wenig) Resourcen des Arbeitssspeichers, der im Screenshot mit 26,1 MB, 31,7 MB und 93,2 MB beansprucht wird! Dieses sind in meinen Augen verbrauchte Resourcen, so dass die Aussage, keine Resourcen zu verschwenden nicht stimmt - es sei denn, ich habe etwas übersehen oder stehe gerade komplett auf dem Schlauch und verstehe die Welt nicht mehr ;)
 
Zum Teil verstehe Ich deine Ansicht, daß es bestimmt noch die übergöttlich perfekte Lösung ist. Mich stört es auch jedes neue BS immer mehr Funktionen beinhaltet, die meist automatisch mitgestartet werden, und somit unnötig Speicher im Hintergrund belasten. Anders herum muss man auch sehen, dass Programme möglichst schnell starten sollen. Ich denke, darin den besten Kompromiss zu finden, mit dem der globus gleichmässig zufriedenzustellen , ist die grosse Kunst. Alles was im BS dauerhaft unnötig läuft, zieht ja auch unnötig dauerhaft strom aus der Dose, angesichst des immer wachsenden PC-Konsums.
.......... Was mich aber aufregt, wenn Leute einen Text schreiben, und der fast soviele Schreibfehler wie Wörter hat, und sich wie Kinderkacke rückwärts liest.
:rolleyes:
 
Anzeige
Oben