Rob Tiffany Mobility Architect Microsoft Corporation WMB306.

Slides:



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

Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Scott myKB.com, Inc. Session Code: DEV301r.
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.
 Phil Haack Senior Program Manager Microsoft Corporation PC21.
 Nishant Gupta Program Manager Live Services Microsoft Corporation BB51.
Johan Arwidmark Chief Technical Architect TrueSec WEM303.
Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.
 Pablo Castro Software Architect Microsoft Corporation TL08.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
 Rico Mariani Architect Microsoft Corporation.
 Frank Savage Architect Microsoft Corporation.
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
 Paul Vick Principal Architect Microsoft Corporation  Lucian Wischik Software Engineer Microsoft Corporation.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Ram Cherala Principal Program Manager Microsoft Corporation DTL320.
Rob Tiffany Mobility Architect Microsoft Corporation MOB401.

Jeff Neafsey Mobility Architect Microsoft Corporation WMB402.
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.
The CLR CoreCLRCoreCLR © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
Dion Hutchings Technical Product Manager Microsoft Corporation WEM306.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Sr. Dir. – Systems Architecture Inlet Technologies.
Gavin Russell-Rockliff BI Technical Specialist Microsoft BIN202.
Sara Ford Program Manager Microsoft Corporation DPR301.

Patrick Ortiz Global SQL Solution Architect Dell Inc. BIN209.
Mark Michaelis Chief Computer Nerd IDesign/Itron/IntelliTechture DTL313.
Scott Morrison Program Manager Microsoft Corporation Session Code: WUX308.
6/5/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Tech·Ed North America /6/2018 2:20 AM
6/26/2018 9:02 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
9/11/2018 5:53 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Tech·Ed North America /14/2018 7:13 PM
Sysinternals Tutorials
Deploying Windows Embedded with Style
11/21/2018 4:57 AM SIA303 Advanced Persistent Threats (APT): Understanding the New Era of Attacks! Marcus Murray Security Team Manager, Microsoft MVP –
11/22/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Jason Zander Unplugged
12/5/2018 3:24 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Tech·Ed North America /5/2018 6:43 PM
Tech·Ed North America /7/2018 9:06 AM
Tech·Ed North America /17/2019 1:47 AM
Building Silverlight Apps with RIA Services
Building SaaS Solutions on Windows Azure
Pushing Data to and from the Cloud with SQL Azure Data Sync
2/28/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
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.
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
TechEd /28/2019 7:58 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Tech·Ed North America /25/ :53 PM
Hack-proofing your Clients using Windows 7 Security!
Шитманов Дархан Қаражанұлы Тарих пәнінің
Lap Around the Windows Azure Platform
Code First Development in Microsoft ADO.NET Entity Framework 4.1
7/5/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Tech·Ed North America /6/2019 7:10 PM
TechEd /5/2019 2:08 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
What’s New in Visual Studio 2012 for Web Developers
Presentation transcript:

Rob Tiffany Mobility Architect Microsoft Corporation WMB306

Who Am I? Mobility Architect in the Microsoft Mobile Global Practice Created the Microsoft Mobile Line of Business Accelerator Writer :: Entrepreneur :: Former Embedded MVP :: Submariner :: DJ

Session Objectives and Takeaways Learn how Windows Mobile 6.5 makes more memory available to applications Learn how Windows Mobile 6.5 boosts both application & graphics performance Learn a new pattern for.NET Compact Framework development Create new opportunities with faster, richer, more complex games and apps that target the consumer, science, education and line of business segments

Slot Fill Order FILE DLLsMODULE DLLs 01, 0 Slot 63 :: Resource-Only DLLs Slot 0 :: Alias of Active Process from Other Slots Overflow DLLs Reduce VM Space for All Processes Slots 2-32 :: Application Processes Slots GB Large Memory Area Memory-Mapped Files 2 GB :: User Space FILE DLLs are loaded into every slot which decreases VM space to all slots MODULE DLLs are 4K page-aligned instead of 64K due to ARM architecture saving 9MB of VM Slot 62 :: Shared Heaps Windows Mobile 6 Slot Machine Slot 1 :: ROM FILE DLLs + MODULE DLLs

Slots

Slot 63 :: Resource-Only DLLs Slot 1 :: ROM FILE DLLs + MODULE DLLs Slots 2-32 :: Application Processes Slots :: Large Memory Area Memory-Mapped Files 2 GB :: User Space Slot 62 :: Shared Heap Area Slot 61 :: Read-Only FILE DLLs Slot 60 :: Read-Only FILE DLLs Slot 59 :: Device.exe Thread Stacks Extra 64 MB of VM Extra 8 MB of VM for Device Drivers Slot 0 :: Alias of Active Process from Other Slots Overflow DLLs Reduce VM Space for All Processes Convert mshtml.dll to FILE DLL to free 6 MB of VM DLLs used exclusively by one process don’t take space from other processes Windows Mobile 6.1 Better Slot Machine Slot Fill Order FILE DLLsMODULE DLLs 60, 61, 01, 0

Slot 63 :: Resource-Only DLLs Slot 1 :: ROM FILE DLLs + MODULE DLLs Slots 2-32 :: Application Processes Slots :: Large Memory Area Memory-Mapped Files 2 GB :: User Space Slot 62 :: Shared Heaps Slot 61 :: FILE + MODULE DLLs Slot 60 :: FILE + MODULE DLLs Slot 59 :: Device.exe Thread Stacks Slot 0 :: Alias of Active Process from Other Slots Overflow DLLs Reduce VM Space for All Processes Faster MODULE DLLs whose VM is allocated at build time instead of runtime can go everywhere! Process Threshold of 28 Windows Mobile 6.5 Best Slot Machine Slot Fill Order FILE DLLsMODULE DLLs 60, 61, 01, 61, 60, 0

Windows Mobile 6.5 Faster performance JPEG images decode faster by aligning buffer size to 128-byte boundary needed by hardware Glyph Cache jumps from 8KB to 72KB for English and 128KB for Asian builds to boost font rendering speed GDI used to draw text one character at a time; now draws the entire string in one shot Switching Today screens and backgrounds repeatedly does not degrade device performance Paging Pool is set to a minimum of 15 MB to boost application load performance Minimum devices specs include a 400 MHz processor, 128 MB of RAM and 256 MB of ROM

Application Process Space Native 64 KB Guard Section Image of EXE file (Code + Data + Resources) 64 KB/Thread Stack (Local Method Variables) Heap (Object Instance Variables) Free Virtual Memory Other DLLs + Your DLLs Pushing Up Pushing Down Large Memory Area (1 GB) Memory-Mapped Files LoadLibrary MapViewOfFileCreateFileMapping 32 MB :: Slot Space Breakout DLL Crunch

64 KB Guard Section Image of EXE file (Code + Data + Resources) AppDomain Heap (CLR Data Structures) JIT Heap (Current Call Stack) 64 KB/Thread Stack (Local Method Variables) GC Heap (Object Instance Variables) Free Virtual Memory Other Native DLLs Large Memory Area (1 GB) NETCF Class Libraries Managed EXEs + DLLs 32 MB :: Slot Space 32 MB :: Slot Space Application Process Space Managed Breakout In-ROM NETCF uses 650KB less Slot VM

64 KB Guard Section Empty EXE file (5KB) AppDomain Heap (CLR Data Structures) JIT Heap (Current Call Stack) 64 KB/Thread Stack (Local Method Variables) GC Heap (Object Instance Variables) Free Virtual Memory Other Native DLLs Large Memory Area (1 GB) NETCF Class Libraries Managed EXEs + DLLs 32 MB :: Slot Space Application Lives in DLLs using System; namespace OptimizedExe { static class Program { [MTAThread] static void Main() { OptimizedDLL.StartUp.Main(); } } } using System; using System.Windows.Forms; namespace OptimizedDLL { public class StartUp { public static void Main() { Application.Run(new Main()); } } } MemMaker Pattern Managed development

MemMaker Pattern

Other Ways to Breakout Store data in the 1 GB large memory area via memory mapped files Use IPC to access an in-memory Hashtable cache running in a different slot Use IPC to access SQL Server Compact in a different slot Run database with a larger Max Buffer Size setting Send SQL commands Receive Generic Lists of strongly typed objects

Summary Windows Mobile 6.5 provides your games and apps with more virtual memory and performance than any previous release Incorporating the MemMaker pattern for.NET Compact Framework development will automatically boost the amount of virtual memory available to your games and apps for better performance and stability

Sessions On-Demand & Community Resources for IT Professionals Resources for Developers Microsoft Certification and Training Resources Microsoft Certification & Training Resources Resources Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online. Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online.

Windows Mobile ® Resources TechNet TechCenter – System Center Mobile Device Manager TechNet TechCenter – Windows Mobile MSDN Center – Windows Mobile Webcasts and Podcasts for IT – Windows Mobile General Information – Windows Mobile General Information – System Center Mobile Device Manager Windows Marketplace Developer Portal

Windows Mobile ® is giving away Blackjack IIs ! Stop by the Windows Mobile Technical Learning Center to learn how to enter

Complete an evaluation on CommNet and enter to win! Required Slide

© 2009 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. Required Slide