Presentation is loading. Please wait.

Presentation is loading. Please wait.

Delivering great performance and battery life

Similar presentations


Presentation on theme: "Delivering great performance and battery life"— Presentation transcript:

1 Delivering great performance and battery life
11/30/2018 2:19 PM HW-459T Delivering great performance and battery life Sharif Farag Principal Lead Program Manager Jason Hendrickson Senior Program Manager Microsoft Corporation © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 Agenda Expanding range of PC capabilities
Delivering great experiences across PC hardware You’ll leave with an understanding of Why Metro style apps are a great start for performance and power How to take advantage of Windows 8 features for optimal performance and power Tips for delivering a great experience across a broad range of hardware

3 Windows 8 has been designed to enable new experiences with great performance and energy efficiency.

4 Expanding range of PC capabilities

5 The expanding set of PC options
Form Factors Processing & Graphics Idle power states Memory Storage Desktop, Laptop, All-In-One Power & Headroom Sleep/Hibernate Large range A breadth of options Thin, light Low-power components Connected standby Low RAM for power, cost Non-rotational storage

6 The broadening ecosystem & optimizations
Cannot rely on hardware performance improvements alone Engineering best practices today are more critical than ever before Optimization techniques are similar across range of hardware Performance considerations Power considerations As an app developer, you can choose the range of PCs you want your app to target Broad range Narrow range

7 Your app’s ability to perform well across the spectrum of PCs will enable it to reach increasingly broader audiences.

8 The Windows performance/power approach
Minimize consumption Prioritize UI responsiveness Scale at runtime to various hardware characteristics Power Wake infrequently & at the same time (coalesce) Stop running when not needed Windows features Enabling great performance with HTML Suspending apps Reducing the need for startup apps Getting disk writes out of the way Conserving memory Timer reduction, coalescing, resiliency

9 Delivering great experiences across PC hardware

10 Suspending apps What you can do What this buys you
Suspending automatically happens for you! Users don’t have to worry about background apps Write Metro style apps Metro style apps – OS managed background activity Desktop apps: stop doing work when in background Desktop apps – no worries about behavior in Connected Standby Services – throttled in Connected Standby

11 Reducing the need for Startup apps
What you can do What this buys you Develop Metro style apps to keep users up-to-date Minimization of boot, memory, power impact Use Automatic Maintenance where possible Metro style apps – best at keeping users connected & up-to-date Develop hardware-centric Metro style apps Automatic Maintenance – software updates, etc. at the right time Hardware-centric apps – automatically downloaded from the store for you

12 Timer reduction, coalescing, resiliency
App 2 activity App 1 activity With coalescing Time Frequent wakes = inability to enter extreme low power states

13 Timer reduction, coalescing, resiliency
What you can do What this buys you Windows 8 has significantly reduced timer wakes by default! Fewer CPU wakes = less time in “high power” states = better power Be event driven – don’t “poll” for status Coalescing = you don’t cause additional wakes = better power Cancel timers when not in use Coalesce timers to 5s+ bounds – in Connected Standby, timer coalescing is enforced! Avoid animating when idle Never change tick frequency

14 Enabling great performance with HTML
What you can do What this buys you Review [162]: “Build Fast & Fluid Metro style apps in HTML5” Build on IE engine performance Asynchronous calls & UI responsiveness via WinRT “promise” Review [386]: “50 performance Tricks to Make Your HTML5 Apps and Sites faster” Consistently performant touch & animations Take advantage of advanced features in WinRT & HTML5 Parallelization across cores & UI responsiveness via Web Workers

15 Getting disk writes out of the way
What you can do What this buys you Windows 8 already reduces disk I/O in many key areas! Low priority writes by default Write coalescing when screen is off Remove I/O, especially writes Don’t flush, don’t write unbuffered

16 Conserving memory What you can do What this buys you
Windows 8 already maintains low baseline memory usage! More apps running at the same time with great performance Minimize app memory use – think ~50MB Lower likelihood of your app being terminated Free memory in background where it’s “cheap” to recreate – Windows does this for you in some cases! Stop services when not in use

17 Why wait for network? What you can do What this buys you
Don’t assume network connectivity is great! Uploads/downloads even when your Metro style app is suspended Use background file transfer API Optimized impact to power and foreground performance Use asynchronous network calls No need to poll - “can I connect to the network yet?” Use connectivity change API

18 User expectations are the guide
In Windows 8 development, we set user perceived elapsed time goals for various interactions across hardware Interaction goals are derived from users expectation regardless of the hardware capabilities Goal: Delight our customers with performance on all Windows 8 PC’s Best Practices Recognize the hardware you’re targeting with your app and ensure you are evaluating performance on that target hardware Identify the key scenarios / interactions users will commonly perform in your app Instrument your code with start/stop events (ETW, msWriteProfilerMark) Measure & optimize performance using Windows Performance Analyzer

19 3 key “do’s” DO: develop Metro style apps to enable performance and power citizenship by design DO: take advantage of Windows 8 features to deliver great power/performance across platforms DO: deliver great performance across platforms to ensure your apps deliver delight for the largest possible audience

20 Related sessions [HW-456T] Understanding Connected Standby
[APP-409T] Fundamentals of Metro style apps: how and when your app will run [HW-141T] Reducing the memory footprint of drivers and apps [APP-162T] Building high performance Metro style apps using HTML5 [PLAT-386T] 50 performance tricks to make your Metro style apps and sites using HTML5 faster [PLAT-785T] Creating connected apps that work on today's networks [HW-275T] Building and delivering a great Metro style app for your device [HW-283T] Introducing Metro style device apps

21 Further reading and documentation
Introduction to Background Tasks Windows Timer Coalescing Event Tracing for Windows msWriteProfilerMark documentation Windows Performance Toolkit Windows Performance Analysis Developer Center Windows Hardware Dev Center Windows Dev Center

22 thank you Feedback and questions http://forums.dev.windows.com
Session feedback

23 11/30/2018 2:19 PM © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

24


Download ppt "Delivering great performance and battery life"

Similar presentations


Ads by Google