Feb 11, 2021
Qualcomm products mentioned within this post are offered by Qualcomm Technologies, Inc. and/or its subsidiaries.
The use of laptops is soaring. Some estimates predict the global laptop market will grow by $7.52 bn USD from 2020 to 2024, citing demand for both traditional and 2-in-1 laptops as key commercial drivers.
As our world changes around us, remote work and learning are driving the demand for thin and light mobile PC form factors that deliver great performance with longer battery life, and seamless, lightning fast 4G and 5G connectivity.
While Android remains the predominant OS for mobile devices like smartphones and tablets, Microsoft Windows has and continues to push the boundaries of PCs and laptops. That’s why we designed the Qualcomm® Snapdragon™ compute platform, which combines the best of your smartphone with the performance of a premium, thin and light PC to power today’s Always On, Always Connected (ACPC) Windows-based laptops. Running full Windows 10 on ARM and powered by the features of this new compute platform, these detachable and convertible 2-in-1s and laptops offer longer battery life, generate less heat, and deliver high compute and rendering performance, with 4G LTE and 5G connectivity, redefining users’ expectations of how a laptop should perform.
We are so focused on enabling mobility and sustained performance in the PC so end users can experience true productivity, entertainment and more … from anywhere. In this blog we’ll take a closer look at the unique capabilities and architecture of Snapdragon compute platforms and see how easy it is for developers to build or port their Windows applications to run optimally on them.
The hardware behind the software
Qualcomm Technologies, Inc. (QTI) has a complete portfolio of platforms for ACPCs from Snapdragon 7c at the entry-level to Snapdragon 8c compute platforms for mainstream systems, with Snapdragon 8cx and Snapdragon 8cx Gen 2 for premium systems, as show in the table below:
Critical requirements of modern laptops
Users continue to demand long battery life, and Snapdragon powered ACPCs can run all day or even up to multiple days on a single charge*. Snapdragon compute platforms run the full version of Windows 10 with power management optimizations that take advantage of the heterogeneous and big.LITTLE architecture to balance power consumption and CPU performance with little-to-no development effort. Developers can take further advantage of the dedicated DSPs in the Snapdragon compute platform to further optimize efficiency, with Qualcomm engineering resources available to assist.
Similarly, OEMs now seek to reduce heat in thinner, lighter, and fan-less form factors without the need to throttle processor performance over time. The Snapdragon platform's efficient performance results in a reduction of heat generation and an increase in battery life, both significant benefits that Snapdragon brings to ACPCs as critical requirements for designing truly mobile devices.
The heatmaps below compare the heat of a competitor’s compute solution (left) versus an ACPC equipped with the Snapdragon compute platform (right) after 15 minutes of video streaming and gaming:
Laptops powered by the Snapdragon compute platform not only run cooler, but they don’t need to reduce or throttle compute performance over time as part of its thermal management.
The challenge of balancing long runtimes with low heat is further exacerbated by the demanding tasks that users expect their laptops to perform, such as 4K streaming and video playback, 3D rendering, and machine learning experiences. This is an area where the Snapdragon compute platform shines as developers can take advantage of the built-in Qualcomm® Adreno™ GPU for rendering and the Qualcomm® Hexagon™ DSP for vector-based operations, in addition to the power-efficient big.LITTLE cores of the Qualcomm® Kryo™ CPU.
Let’s take a look at another use case that many of us now find ourselves doing throughout the day – video conferencing. In this scenario, you can really witness the power efficiency of the Snapdragon compute platform with Zoom. From a user experience perspective, it means spending more time connecting with co-workers, friends, and family on applications like Zoom, and less time being tethered to a desk or worrying about where your charger is.
With today’s dependencies on cloud-based, cloud-driven solutions, connectivity everywhere is essential, especially in areas lacking a trusted Wi-Fi network or where broadband support may be lacking. Snapdragon accomplishes this by seamlessly switching between the latest connectivity technologies like 4G, 5G, and trusted Wi-Fi networks (up to and including the Wi-Fi 6 standard).
Building applications for Windows on ARM
Windows 10 on ARM supports different types of Windows application build targets, some of which run natively, while others are emulated. Aspects of these targets are summarized in the chart below:
Although emulation provides a quick path to deployment for Windows 10 on ARM, it’s recommended that developers compile or recompile their code as native ARM64 apps. Doing so will bring the benefits of faster processing with better power efficiency while taking advantage of the features of the Snapdragon compute platform (e.g., offload processing to different engines like video, AI, Camera ISP, etc.).
Developers will be pleased to know that building or porting applications to Windows 10 on ARM can be done through Microsoft Visual Studio IDE. And just as with traditional x86 Windows applications, the process is quick and easy. The video on our Windows on Snapdragon page shows how developers can accomplish this with the following steps in Visual Studio:
1. Install the Visual C++ compilers and libraries for ARM64 package:
2. Unload and edit the Visual Studio project file.
3. Add the WindowsSDKDesktopARM64Support tag to the project file under the Globals PropertyGroup element and set its value to true:
4. Save and reload the project after making this edit.
5. Create a new project configuration (build target) for ARM64 based on x64:
6. Build the solution using this new project configuration. This generates a native ARM64 executable that can run on Windows 10 on ARM
Note that Windows 10 on ARM will automatically install the optimal version of an app when a user downloads it from the Windows App Store to an ARM64 device. For example, if an app package contains x86, ARM32, and ARM64 versions, the OS will install the ARM64 version.
Developers can also utilize the LLVM project’s collection of compiler and toolchain technologies to build executables that run natively in ARM64. Pre-built LLVM binaries for Windows and Linux with support for ARM64 are available from GitHub. There is a branch of the LLVM compiler for Windows that includes Snapdragon optimizations, available for members of the Qualcomm Developer Network (QDN). You can register for free here.
Beyond easily porting applications to native ARM64, Qualcomm Technologies, Inc. also has dedicated resources to help application developers take advantage of various dedicated engines (e.g., Adreno and Hexagon) within the Snapdragon compute platform to create experiences never before possible on a PC. One example of technology that takes advantage of this is Microsoft eye contact feature enabled exclusively on the Surface Pro X using the Microsoft SQ1 and SQ2 processors developed in collaboration with Qualcomm Technologies Inc.
Always On, Always Connected are redefining computing experiences, enabling OEMs to combine the performance of a traditional laptop with the best features and functions of a smartphone. The unique capabilities and architecture of our Snapdragon compute platforms that are powering a growing portfolio of ACPCs that will revolutionize mobile computing. We’re also proud of our collaboration with Microsoft in helping developers create or port their applications for Windows 10 on ARM We are excited to see developers continue to build or port their Windows applications to drive these new, modern computing experiences that enable productivity, entertainment, and more… from anywhere!
For additional information on developing for Windows 10 on ARM, be sure to check out the following links: