Recommended Requirements for GCIII

I am wondering if anywhere there was posted what the recommended pc requirements are for Galactic Civilizations III? I know my pc can handle it, but I was wondering specifics like ram sizes. I was thinking of buying some more (I have 8gb but was thinking 12) but I was just wondering if more might be needed with having the game 64bit only.

I don't know if any of you are computer experts, but I was also wondering whether I should get 2x2gb or 1x4gb? I have two open slots on my mobo (P8z77v-lx) for ram and didn't know if it would improve performance to have 2x2gb?

38,498 views 13 replies
Reply #1 Top

We have not announced anything more specific than needing a 64bit OS and DirectX10 video card.

 

I have two open slots on my mobo (P8z77v-lx) for ram and didn't know if it would improve performance to have 2x2gb?

That is a dual channel board, so getting just one will decrease performance, as even what you have already will be forced down into single-channel mode as well. You will want a matched pair, if anything. At that though you will only see any gain if you can actually use more than your current maximum at once.

 

Reply #2 Top

Quoting kryo, reply 1

We have not announced anything more specific than needing a 64bit OS and DirectX10 video card. 

 

Alrighty, just wondering!

 

Quoting kryo, reply 1

That is a dual channel board, so getting just one will decrease performance, as even what you have already will be forced down into single-channel mode as well. You will want a matched pair, if anything. At that though you will only see any gain if you can actually use more than your current maximum at once. 

I suspected as much. I have used two channels (2x4gb already) so my performance is decent, but adding 2x2gb will give me some more room. (I should've bought that triple channel board!) I usually have several programs running when also playing a game, nearly using 7 gb at times. With the extra ram, I'll be ready for whatever Galactic Civilizations requires! Thanks for your help!

Reply #3 Top

From my understanding that running several programs at once causes you to more memory that is not on the game, and slows down your computer. Any program that you do not need to do anything prysical with should be shrunk down to your taskbar until you need to do something with.

Reply #4 Top

Quoting admiralWillyWilber, reply 3

From my understanding that running several programs at once causes you to more memory that is not on the game, and slows down your computer. Any program that you do not need to do anything prysical with should be shrunk down to your taskbar until you need to do something with.

This all depends.

First, a program that is inactive when idle, such as a browser or word processor, it uses little if any resources while idle. Most, if not all, of its  address space can be swapped out, freeing up ram to back up the virtual memory needed by the game. There will not be any further swapping needed on behalf of the browser until you tell it to do something, so there should not be any performance impact until you tell the browser to do something, and even then the amount should be minimal. This is true of any app that just sits there waiting for you to tell it to do something.

Second, highly active programs, such as games, have a lot going on all the time. If the ram available to back the address spaces of multiple games gets used up then progressively more frequent swapping of pages can start building up, and this will impact performance more and more as the rate of swapping goes up.

Third, minimizing a program (or as you put it, shrinking a program to the task bar) will have only a little, if any, affect on performance.

Reply #5 Top

Quoting sulley1, reply 2
I suspected as much. I have used two channels (2x4gb already) so my performance is decent, but adding 2x2gb will give me some more room. (I should've bought that triple channel board!) I usually have several programs running when also playing a game, nearly using 7 gb at times. With the extra ram, I'll be ready for whatever Galactic Civilizations requires! Thanks for your help!

We have not been given any idea how much memory GC3 is going to need. Adding 4G may be more than you need, or it may not support the largest galaxies the game will support. Until StarDock gives us some figures, you may wish to add 8G, just in case (If you can afford it, and your PC can handle it).

Reply #6 Top

Hey Jack are yousaying that maybe I should start closing programs instead of closing them to the taskbar if I want to aboid things like multitasking and multiprogramming. Or sharing memory.

I heard that the more ram you have the faster the computer runs. I'm sure at least when you wouldn't have to use virtual memory, but let's say that you still have to use some virtual memory. Would that slow all your ram to the speed of your hard drive, but what if you exceed the maximum amount of ram for the game. Does that mean the rest of the ram is useless. Can you answer anything on my questions please.

Reply #7 Top

Quoting admiralWillyWilber, reply 6
Hey Jack are yousaying that maybe I should start closing programs instead of closing them to the taskbar if I want to aboid things like multitasking and multiprogramming. Or sharing memory.

"Closing them to the taskbar" is not really closing them. It is minimizing them (i.e., moving them off the desktop). Minimized programs still take up resources; like CPU cycles (unless they are idle), and memory (mostly swap file space). 

Multitasking and multiprogramming are operating system capabilities, you either have them (Windows does) or you don't. You don't avoid them.

Quoting admiralWillyWilber, reply 6
Or sharing memory.

In the manner you stated, memory is not shared, it is allocated. The OS is responsible for making sure memory does not accidentally get allocated to more than one address space. Yes, different programs can "share" memory, but this is very different from what you imply. The programs have to know exactly what they are sharing and have to authorize each other (through OS facilities) to share memory, and this is relatively rare.

Quoting admiralWillyWilber, reply 6
I heard that the more ram you have the faster the computer runs.

This is another very common misconception. The truth behind this is that if you don't have enough RAM for the load you are putting on your PC, the OS will start page swapping (moving a less used page of data or code onto the swap file to make room for the page of data or code being accessed). The more overcommited the RAM gets, the higher the swap rate gets, and the less work the programs can do (swapping takes CPU cycles and IO reads and writes, which interrupts the programs affected). Adding RAM when this is happening will reduce the swapping, which will give the appearance of improved performance, which leads people to believe that "the more RAM you have the faster the computer runs". But this is only a situational appearance, not a factual rule.

Quoting admiralWillyWilber, reply 6
but let's say that you still have to use some virtual memory.

All programs use virtual memory. A program asks the OS for a quantity of memory, usually many times. Unless the program specifically asks for "Real Memory" (memory dedicated to RAM and can not be swapped) the OS will map Virtual Memory to the program's address space and tell the program what it's virtual address is. It is a very rare and privileged program that will ask the OS for direct access to "Real" memory. Virtual memory is mapped by the OS to one of two or more resources, the first of those resources being RAM and the remaining ones on disk (I am pretty sure Windows has only one disk space for this, the swap file).

Any OS with Virtual Memory capabilities manages Virtual Memory in chunks called pages (usually 4K bytes per page), and decides which pages should be mapped to RAM and which to the swap files, and "swaps" pages in or out as needed, making room for the pages being used more often by swapping the less often used pages out to the swap file.

Quoting admiralWillyWilber, reply 6
but what if you exceed the maximum amount of ram for the game.

The only direct memory limit imposed by the OS (and the computer hardware) on the game (or any other program) is the size of the address space. For a 32bit addressing program, this is 2G (actually only 31 bits are used for addressing). 64 bit addressing is many magnitudes greater.

The game can easily exceed the RAM available and keep functioning. That is what the Swap file is for. The amount of RAM mapped to the game's address space will constantly vary depending on how much virtual memory the game asks for and how much of the game's virtual memory is swapped out. The only concern here is how much swapping has to be done in a small period of time to keep up with the processing of all of the programs the OS is managing, which can impact performance. This is the criteria that should be used for choosing which programs to close to reduce the load on the available RAM or when to add more RAM to the computer.

Quoting admiralWillyWilber, reply 6
Would that slow all your ram to the speed of your hard drive

The speed of RAM is always the speed it was manufactured for. The slowing of speed to your hard drive speed that you may see is the result of how much and how fast the OS has to swap RAM to the Swap file. Also consider that if a virtual address is accessed by the game that is resident on the swap file (not in RAM), the OS has to find a page of RAM to write out to the swap file, then find the page the game tried to access and read that page into the vacated RAM page, before the game can actually access the data in that page. That is three accesses to the RAM page and two I/Os to the hard disk.

I am sitting here looking at what I have just entered for this reply and trying to think of a simpler way of answering your questions, but am not finding any. There is a lot here that goes much deeper into the details of the hardware and the OS, but I really don't think this forum is the appropriate place. I hope I have answered your questions well enough for you (and anyone else that needs it) to get a general idea. To go any further in detail would require several college courses in computer engineering and operating systems programming.

 

I still have to proof read this reply, but my time is constrained at the moment. I will review it later and make more corrections as needed.

EDIT-> Sorry it took so long to get back to proof read this, but I think I have it all stated as I intended to. I hope, Willy, that it helps you to understand what is going on a little bit better. As I said earlier, the subject is quite complex and can take years to learn, especially if you try to learn it from both the hardware and operating system aspects of it.

Reply #8 Top

Quoting Lucky, reply 7


"Closing them to the taskbar" is not really closing them. It is minimizing them (i.e., moving them off the desktop). Minimized programs still take up resources; like CPU cycles (unless they are idle), and memory (mostly swap file space). 

 

Going back to closing programs to keep them from slowing down my computer.

Quoting Lucky, reply 7


Multitasking and multiprogramming are operating system capabilities, you either have them (Windows does) or you don't. You don't avoid them.

 

I'm under the impression that the more programs you run the slower your computer becomes. I also remember that the Conroe processor ran things like Duo processors where they required multiple programs to take advantage of multiple cores where Amd utilized its cores for only as many programs that was running where if you only ran two programs you would be able to utilize 4 threads for a game and four threads for the operating system. A computer expert told me that Intel fixed that and can do that to. Can they. Can Amd do that.

Quoting Lucky, reply 7


In the manner you stated, memory is not shared, it is allocated. The OS is responsible for making sure memory does not accidentally get allocated to more than one address space. Yes, different programs can "share" memory, but this is very different from what you imply. The programs have to know exactly what they are sharing and have to authorize each other (through OS facilities) to share memory, and this is relatively rare.

 

Wow so are you telling me that games don't use Ram. If so are you telling that for the most part that only the operating system uses Ram unless specifically asked. If this is true does windows actually use 4 gigs and 8 gigs of memory for a 64 bit operating system if this is not true how can I allocate some of this memory to programs.

Quoting Lucky, reply 7


All programs use virtual memory. A program asks the OS for a quantity of memory, usually many times. Unless the program specifically asks for "Real Memory" (memory dedicated to RAM and can not be swapped)

the OS will map Virtual Memory to the program's address space and tell the program what it's virtual address is. It is a very rare and privileged program that will ask the OS for direct access to "Real" memory.

Virtual memory is mapped by the OS to one of two or more resources, the first of those resources being RAM and the remaining ones on disk (I am pretty sure Windows has only one disk space for this, the swap file).

 

Why do we have Ram and do we use it all up then when we have a lot of Ram.

 

[/quote]

That was awesome as good as I hoped. I wish you would write like this more often. I don't think it was to technical for a casual gamer. I wish I had more.

Reply #9 Top

Sorry it took me so long to get back to you.

Quoting admiralWillyWilber, reply 8
I'm under the impression that the more programs you run the slower your computer becomes.

There is some truth in this at a superficial level, once the number of programs running exceeds a threshold (and this can be a very arbitrary threshold).

In Actuality, the computer does not slow down. It just has more work to do, and the programs may be competing for the same resources and that will slow down the apparent rate at which programs will complete their tasks.

Competition between programs for access to the content of the hard drive is one of the biggest bottlenecks you can run into, the one that will slow down the running programs the most. Only one I/O operation can be done to a disk at a time (this is an argument used for having more than one hard disk, but the cost benefits on a personal computer really doesn't support having more than one hard drive for most of us).

Another bottleneck can be the number of programs running exhausting the supply of RAM pages, which causes page swapping, which also adds demand on I/O operations.

Quoting admiralWillyWilber, reply 8
I also remember that the Conroe processor ran things like Duo processors where they required multiple programs to take advantage of multiple cores where Amd utilized its cores for only as many programs that was running where if you only ran two games you would be able to utilize 4 threads for a game and four threads for the operating system. A computer expert told me that Intel fixed that and can do that to. Can they. Can Amd do that.

I think it is unfair to put the onus for this problem on the hardware. This is really a case of the support the OS has for multitasking and multithreading. Also, if you are running only one or two programs, ones that are not programmed to take advantage of multiple tasking or multiple threading, at the same time, then the OS will rarely use the entire multiple core/thread capabilities of the CPU chip. You might be able to display the core/thread usage with the resource monitor that comes with Windows. GalCiv 3 will be coded to take full advantage of multiple core/thread CPU chips (this was not announced in so many words, but it is there if one knows what to look for).

Quoting admiralWillyWilber, reply 8
Wow so are you telling me that games don't use Ram.

No. Lets see if I can clear this up.

RAM can be, but rarely is, accessed directly by programs, and only after getting it allocated via a privileged call to the OS. The rest of this dialog will ignore such programs.

Each program currently running has its own address space, containing pages of code, data, and unallocated space. RAM is used to back pages of virtual memory allocated to programs when a program asks for memory in which to place its code and/or data. All a program knows is the virtual address of the memory block it receives from the OS.

The OS keeps track of where every page of virtual memory in all of the address spaces currently in use is. They can be in RAM, on the swap file, or unallocated. When RAM is exhausted, pages of virtual memory gets swapped to the swap file by the OS (a "least used" algorithm is usually used). The program doesn't know this has happened. But, a program can not access code or data that is not in RAM. When the program tries to access anything on a page that has been swapped out, the OS finds room in RAM to swap the page back so that the program can access it again. The program is totally unaware of this action by the OS.

So, the game will use RAM, but only indirectly, through the maps and tables the OS and the hardware shares that shows where the virtual pages are backed. Does the game know the RAM address of the page it is accessing? No. It only knows the virtual address. When the game accesses the virtual address, the hardware will, using the tables provided to it by the OS:

1). translate the virtual address to the RAM address within the RAM page backing up the virtual page.

--OR--

2). signal the OS that the virtual page is not in RAM. When the OS receives this signal it will either; for swapped pages swap the page back into RAM (which might require swapping another page out to make room) and adjust its tables accordingly, or, for unallocated pages, terminate the program with an addressing exception.

Sorry for describing this two ways, but I hope one description or the other helps to better understand what is going on.

Quoting admiralWillyWilber, reply 8
I wish you would write like this more often.

I really don't think this forum is the proper venue for this, but sometimes I just can't help myself when I see that someone is obviously confused, so I jump right in. My apologies to everyone who wishes I hadn't done so. And I hope that more than one person benefited from this.

Reply #10 Top

Thank you!!!  That was awesome!!!

Reply #11 Top

Quoting Lucky, reply 9

Sorry it took me so long to get back to you.

There is some truth in this at a superficial level, once the number of programs running exceeds a threshold (and this can be a very arbitrary threshold).

In Actuality, the computer does not slow down. It just has more work to do, and the programs may be competing for the same resources and that will slow down the apparent rate at which programs will complete their tasks.

Competition between programs for access to the content of the hard drive is one of the biggest bottlenecks you can run into, the one that will slow down the running programs the most. Only one I/O operation can be done to a disk at a time (this is an argument used for having more than one hard disk, but the cost benefits on a personal computer really doesn't support having more than one hard drive for most of us).

Another bottleneck can be the number of programs running exhausting the supply of RAM pages, which causes page swapping, which also adds demand on I/O operations.

I think it is unfair to put the onus for this problem on the hardware. This is really a case of the support the OS has for multitasking and multithreading. Also, if you are running only one or two programs, ones that are not programmed to take advantage of multiple tasking or multiple threading, at the same time, then the OS will rarely use the entire multiple core/thread capabilities of the CPU chip. You might be able to display the core/thread usage with the resource monitor that comes with Windows. GalCiv 3 will be coded to take full advantage of multiple core/thread CPU chips (this was not announced in so many words, but it is there if one knows what to look for).

No. Lets see if I can clear this up.

RAM can be, but rarely is, accessed directly by programs, and only after getting it allocated via a privileged call to the OS. The rest of this dialog will ignore such programs.

Each program currently running has its own address space, containing pages of code, data, and unallocated space. RAM is used to back pages of virtual memory allocated to programs when a program asks for memory in which to place its code and/or data. All a program knows is the virtual address of the memory block it receives from the OS.

The OS keeps track of where every page of virtual memory in all of the address spaces currently in use is. They can be in RAM, on the swap file, or unallocated. When RAM is exhausted, pages of virtual memory gets swapped to the swap file by the OS (a "least used" algorithm is usually used). The program doesn't know this has happened. But, a program can not access code or data that is not in RAM. When the program tries to access anything on a page that has been swapped out, the OS finds room in RAM to swap the page back so that the program can access it again. The program is totally unaware of this action by the OS.

So, the game will use RAM, but only indirectly, through the maps and tables the OS and the hardware shares that shows where the virtual pages are backed. Does the game know the RAM address of the page it is accessing? No. It only knows the virtual address. When the game accesses the virtual address, the hardware will, using the tables provided to it by the OS:

1). translate the virtual address to the RAM address within the RAM page backing up the virtual page.

--OR--

2). signal the OS that the virtual page is not in RAM. When the OS receives this signal it will either; for swapped pages swap the page back into RAM (which might require swapping another page out to make room) and adjust its tables accordingly, or, for unallocated pages, terminate the program with an addressing exception.

Sorry for describing this two ways, but I hope one description or the other helps to better understand what is going on.


I really don't think this forum is the proper venue for this, but sometimes I just can't help myself when I see that someone is obviously confused, so I jump right in. My apologies to everyone who wishes I hadn't done so. And I hope that more than one person benefited from this.

 

I have a hard time believing you're as old as you say. Not every day you see an older person this well-versed in computers.

Reply #12 Top

Retired game programmer. He is!

Reply #13 Top

Quoting ParagonRenegade, reply 11
I have a hard time believing you're as old as you say. Not every day you see an older person this well-versed in computers.

There are a few of us around. There would have to be when you consider that electronic computers were first built in 1946.

Quoting admiralWillyWilber, reply 12
Retired game programmer. He is!

Retired programmer, yes. Operating Systems Design and coding, yes. Computer hardware installer, maintainer, and upgrader, yes (1963 - 1972). Game programmer, no.