1
\$\begingroup\$

As far as I understand it, Visual Studio is the de-facto standard for Windows development in C# and C++, but it is limited by the fact that it's a 32-bit application and thus only has access to 4 GB of RAM for loading projects (Microsoft wrote a blog post 10 years ago explaining(?) why there is no 64-bit version). AAA games, however, are dozens of GB large, and even after factoring out the assets (which VS doesn't load), still amount to quite a bit of executable code.

Are AAA developers able to work within those limits for PC development, or do they use other IDEs that have 64-bit versions?

(I am aware that Visual Studio often uses out-of-process facilities for actually building and running projects, but the IDE itself is 32-bit and a lot of its functions, such as CodeLens, run in process).

\$\endgroup\$
  • \$\begingroup\$ Why would it have to load the whole codebase into memory? There's no reason to have e.g. networking available, when I'm working on AI \$\endgroup\$ – Bálint Mar 13 '19 at 0:50
  • \$\begingroup\$ Isn't VS just meant to be a text editor? If you have text files that take more than 4GB of memory open at the same time, you are doing something wrong. If you include the compiler, still while compilation, you don't open all files at the same time, you compile them one at a time. \$\endgroup\$ – TomTsagk Mar 13 '19 at 1:05
  • \$\begingroup\$ @TomTsagk VS is also a code analyzer that builds up a lot of semantic information about your program, in order to support features like "Find All References", "Refactor -> Rename", and Intellisense/AutoComplete. This not only includes information from code files that are not currently open, but also already-compiled assemblies your program references. \$\endgroup\$ – TheHansinator Mar 13 '19 at 16:01
3
\$\begingroup\$

A 4GB limit is simply rarely a problem.

Most of what makes games so large in total are assets that are never loaded by Visual Studio. Even assets that are referenced in VS's project files are not loaded until they are opened, and usually end up unloaded afterwards (once any editing windows for those assets are closed).

Generally, most of what Visual Studio loads in terms of user data is text, and the text is simply just not that big (generally measured in megabytes, not gigabytes) and there is generally not that much of it open at once (relatively speaking) or, indeed, at all.

| improve this answer | |
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.