Sorry it took me so long to get back to you.
Quoting admiralWillyWilber,
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,
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,
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,
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.