Delivering great performance and battery life

Slides:



Advertisements
Similar presentations
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Document Attachment –Replace OLE Notes © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

Windows 8 Kristijan Kramaric, Optimized Desktop Lead
50 Performance Tricks to Make your HTML5 apps and sites Faster
Wireless Communication and Networks
6/10/ :23 PM TOOL-504T A deep dive into Visual Studio 11 Express for designing Metro style apps using XAML Joanna Mason & Unni Ravindranathan Program.
Building a great Metro style device app for your printer
Security in Windows Store apps
Connecting Bluetooth Low Energy devices to Windows
Reducing the memory footprint of drivers and apps
Возможности Excel 2010, о которых следует знать
Building great Metro style apps for mobile broadband devices
Understanding Wi-Fi Direct in Windows 8
Reaching more customers with accessible Metro style apps using HTML5
Building Metro style apps that connect to specialized devices
Windows Phone multitasking
Making apps social and connected with HTTP services
Building modern web applications with Visual Studio and Web Essentials
Title of Presentation 11/22/2018 3:34 PM
Deep dive on app data roaming
Building a great Metro style device app for your camera
Architecting and integrating sensor drivers
Certifying graphics experiences on Windows 8
Baseline: How Are We Doing Now?
Michael Beck Principal Group Program Manager Microsoft Corporation
12/2/ :23 PM APP-410T Real time communication: keep your Metro style app connected whether it is running or suspended Raghu Gatta Principal Development.
Title of Presentation 12/2/2018 3:48 PM
Build /2/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Building responsive apps and sites with HTML5 web workers
Quality & Performance for XAML Apps
Customizing WPA Trace Views
Windows Phone application performance and optimization
File type associations and AutoPlay
Introducing Metro style device apps
Create experiences that span devices
Introduction to the new WPA user interface
Building great Windows 8 systems
Best practices for packaging and distributing device drivers
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Delivering great hardware solutions for Windows
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
Under the hood: Installation and updates for Metro style apps
Introducing the Windows Store
Build /4/ Diagnosing issues with Windows Phone 8.1 JavaScript apps using Visual Studio Andy Sterland Senior Program
Leveraging existing code in Metro style apps
PENSACOLA ENERGY WORK PLAN OCTOBER 10, 2016
Title of Presentation 5/12/ :53 PM
Шитманов Дархан Қаражанұлы Тарих пәнінің
The complete developer's guide to the SkyDrive API
Build /20/2019 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Title of Presentation 5/24/2019 1:26 PM
Title of Presentation 7/24/2019 8:53 PM
Presentation transcript:

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.

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

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

Expanding range of PC capabilities

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

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

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

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

Delivering great experiences across PC hardware

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

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

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

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

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

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

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

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

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

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

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

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

thank you Feedback and questions http://forums.dev.windows.com Session feedback http://bldw.in/SessionFeedback

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.