electron

1 posts

discord

How Discord Seamlessly Upgraded Millions of Users to 64-Bit Architecture (opens in new tab)

Discord is transitioning its Windows desktop application from a 32-bit to a 64-bit architecture to improve performance and long-term stability. While the 32-bit version originally allowed for universal compatibility across diverse hardware with a single build, the growing demands of the application frequently push against 32-bit memory limits. By migrating to 64-bit, Discord ensures it can leverage modern hardware more effectively and remain compatible with the evolving ecosystem of its underlying software libraries. ### Initial Strategy and Compatibility * Discord originally launched as a web app in 2015 before moving to the desktop using the Electron web wrapper. * The decision to build a 32-bit executable for Windows was based on portability, as it allowed the app to run on both 32-bit and 64-bit processors through Microsoft's backwards compatibility layers. * Using a single 32-bit version simplified development during the application’s early stages while ensuring it worked on the widest possible range of machines. ### Memory Addressing Challenges * While 32-bit applications generally use less memory than their 64-bit counterparts, they are subject to a hard restriction on total memory usage. * Even when running on a 64-bit machine, Discord has encountered these architectural limits, leading to performance errors and application crashes. * Moving to a 64-bit architecture is the industry-standard solution for overcoming these memory bottlenecks and providing a more stable environment for resource-intensive features like the In-Game Overlay. ### Ecosystem and Future-Proofing * Discord is built on various core libraries, including Electron and WebRTC, which have transitioned to 64-bit as their default architecture. * As 64-bit becomes the global standard, 32-bit versions of these libraries receive fewer refinements, bug fixes, and security updates. * Staying on 32-bit would expose users to potential inefficiencies and unaddressed bugs as the community of developers maintaining 32-bit dependencies continues to shrink. Adopting 64-bit architecture allows Discord to align with modern development standards, ensuring the application remains resilient and performant as its foundational technologies continue to advance.