Rob Tiffany Mobility Architect Microsoft Corporation MOB401.

Slides:



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

© 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.
© 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.
Rob Tiffany Mobility Architect Microsoft Corporation WMB306.
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.
 Nishant Gupta Program Manager Live Services Microsoft Corporation BB51.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.
 Pablo Castro Software Architect Microsoft Corporation TL08.
Larry Mead Microsoft Corp. Jon Flanders Session Code: INT203.
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.
© 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.
FonePlus Hugh Teegan Architect Mobile Devices Microsoft Corporation.
© 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.
demo Instance AInstance B Read “7” Write “8”

Jeff Neafsey Mobility Architect Microsoft Corporation WMB402.
Aaron Margosis Principal Consultant Microsoft Session Code: CLI405.
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.
Dawie Human Infrastructure Architect Inobits Consulting VIR202.
Sr. Dir. – Systems Architecture Inlet Technologies.
Sara Ford Program Manager Microsoft Corporation DPR301.

Scott Morrison Program Manager Microsoft Corporation Session Code: WUX308.
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/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
Brian Keller Sr. Technical Evangelist Microsoft Session Code: DEV310
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 /7/2018 9:06 AM
12/27/ :01 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Data Driven ASP.NET Web Forms Applications Deep Dive
Tech·Ed North America /17/2019 1:47 AM
Brian Keller Sr. Technical Evangelist Microsoft Session Code: DEV310
Peter Provost Sr. Program Manager Microsoft Session Code: DEV312
Building Silverlight Apps with RIA Services
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
The Windows API Code Pack
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
What’s New in Visual Studio 2012 for Web Developers
Presentation transcript:

Rob Tiffany Mobility Architect Microsoft Corporation MOB401

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 :: Disk Jockey

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

Windows CE Memory Model Rob Tiffany Mobility Architect Microsoft Corporation

Slot Fill Order FILE DLLsMODULE DLLs 01, 0 Slot 63 :: Resource-Only DLLs Slot 0 :: Alias of Active Process from other Slots FILE 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 RAM at runtime 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 MODULE DLLs

Slots Rob Tiffany Mobility Architect Microsoft Corporation

Slot 63 :: Resource-Only DLLs Slot 1 :: ROM 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 FILE 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 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 FILE 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 RAM 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 RAM 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 RAM 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 Rob Tiffany Mobility Architect Microsoft Corporation

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.

Complete an evaluation on CommNet and enter to win an Xbox 360 Elite!

© 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