I am reading a number of statements in this topic that worry me. I am afraid that the advise being passed is not accurate, complete or even true and I would seriously like to advise that you consult multiple sources for issues on OS versions, memory management, etc.
As far as I have understood it (a few years ago when I was working more actively as software engineer/consultant):
Virtual Memory is NOT the same as the swap file on disk. Virtual Memory is the entire system that can provide applications and services with a heap of memory blocks that the applications see as PRIVATE memory - the applications cannot see the memory of the other applications. This is what is meant with the word VIRTUAL.
Virtual Memory (VM) systems are meant for managing blocks of memory on behalf of the running applications and services. Swap files are always a standard component of such memory managers. The operating system can swap out the least recently used memory blocks from RAM out to disk, when there are no more free memory blocks in physical (fast) memory, thus freeing RAM memory. When the application needs to use information in memory blocks now residing on disk, the OS will make sure the contents are read back into physical memory, using a similar swap out/in scheme.
If you think about this, you should notice that the swap file is thus NOT some type of alternative type of memory management. Neither is it worse, or something to avoid. It is just part of a smart, larger system to provide all applications with more memory than is available in RAM.
Windows XP is actually Windows NT 5.1 and Windows 2000 is actually Windows NT 5.0. So, if you trust Windows 2000, it does not make sense to completely distrust Windows XP. They are very similar under the hood, and both (I believe) quite robust and stable systems, meant for doing a lot of complex things at (nearly) the same time...
Now, with GigaStudio, we are dealing here with a very special and dedicated type of application, that is built around the feature of LOCKING allocated memory blocks. This means that memory blocks, once allocated to GigaStudio, have to remain at a fixed location in physical RAM, and thereby severely limiting the Operatings System to constantly keep moving blocks around, merging and swapping them to disk, if the usage count drops.
This locking feature is typically meant for small and critical drivers and kernel-type of routines, interrupt handlers, etc. GigaStudio however uses it to "aggressively" try to get hold of a maximum amount of RAM memory, which is quite opposite to the goals of Virtual Memory managers.
Of course, the OS will not allow an application to lock ALL physical memory, because that would render the OS itself unresponsive or even out of service. Here lies a big difference between the Win95 family (95/98/ME) and the NT family. The former require only 64-128 Mb for itself to run in, the latter at least double that amount. Also, under Windows 98 the user can reduce the amount of disk caching (the famouse [vcache] setting in System.ini). Under the NT OS-es this is not possible, and the OS takes a much larger percentage of the RAM for disk caching. Please note, that disk caching has NOTHING to do with the swap file.
Finally, to wrap up, GigaStudio has a known bug that limits it internally to use only up to 1 Gb of memory (if you followed my explanation of locking), that practically means: physical memory. Under XP this bug has worse consequences than under Windows 98 because of the size of the OS and the amount of disk caching.
So, if you want to get the most out of GigaStudio, please use Windows 98. This is a far less complex OS than XP and gives you really 30-50% more samples to load with the same amount of RAM. Win98 may be less stable, but if you only use it for GigaStudio and once you have it running well, it will be solid as rock. Keep the machine clean from other applications, install 1 Gb of Ram and make sure to specify a setting for the disk caching.
I have tried the XP route as well, experimented a lot, but finally reverted to Windows 98 SE for GigaStudio. My sequencer runs very nicely on an XP machine.
For Windows 98 SE / ME only:
Specify in the [vcache] section in the file System.ini:
[vcache]
MinFileCache=32768
MaxFileCache=32768
If you do not do this, you may run into trouble if you have more than 512 Mb RAM installed.
Hope this long story clarifies some points about memory management in general.
Cheers,
Peter Roos
peter.roos "at" deltaworks.nl
As far as I have understood it (a few years ago when I was working more actively as software engineer/consultant):
Virtual Memory is NOT the same as the swap file on disk. Virtual Memory is the entire system that can provide applications and services with a heap of memory blocks that the applications see as PRIVATE memory - the applications cannot see the memory of the other applications. This is what is meant with the word VIRTUAL.
Virtual Memory (VM) systems are meant for managing blocks of memory on behalf of the running applications and services. Swap files are always a standard component of such memory managers. The operating system can swap out the least recently used memory blocks from RAM out to disk, when there are no more free memory blocks in physical (fast) memory, thus freeing RAM memory. When the application needs to use information in memory blocks now residing on disk, the OS will make sure the contents are read back into physical memory, using a similar swap out/in scheme.
If you think about this, you should notice that the swap file is thus NOT some type of alternative type of memory management. Neither is it worse, or something to avoid. It is just part of a smart, larger system to provide all applications with more memory than is available in RAM.
Windows XP is actually Windows NT 5.1 and Windows 2000 is actually Windows NT 5.0. So, if you trust Windows 2000, it does not make sense to completely distrust Windows XP. They are very similar under the hood, and both (I believe) quite robust and stable systems, meant for doing a lot of complex things at (nearly) the same time...
Now, with GigaStudio, we are dealing here with a very special and dedicated type of application, that is built around the feature of LOCKING allocated memory blocks. This means that memory blocks, once allocated to GigaStudio, have to remain at a fixed location in physical RAM, and thereby severely limiting the Operatings System to constantly keep moving blocks around, merging and swapping them to disk, if the usage count drops.
This locking feature is typically meant for small and critical drivers and kernel-type of routines, interrupt handlers, etc. GigaStudio however uses it to "aggressively" try to get hold of a maximum amount of RAM memory, which is quite opposite to the goals of Virtual Memory managers.
Of course, the OS will not allow an application to lock ALL physical memory, because that would render the OS itself unresponsive or even out of service. Here lies a big difference between the Win95 family (95/98/ME) and the NT family. The former require only 64-128 Mb for itself to run in, the latter at least double that amount. Also, under Windows 98 the user can reduce the amount of disk caching (the famouse [vcache] setting in System.ini). Under the NT OS-es this is not possible, and the OS takes a much larger percentage of the RAM for disk caching. Please note, that disk caching has NOTHING to do with the swap file.
Finally, to wrap up, GigaStudio has a known bug that limits it internally to use only up to 1 Gb of memory (if you followed my explanation of locking), that practically means: physical memory. Under XP this bug has worse consequences than under Windows 98 because of the size of the OS and the amount of disk caching.
So, if you want to get the most out of GigaStudio, please use Windows 98. This is a far less complex OS than XP and gives you really 30-50% more samples to load with the same amount of RAM. Win98 may be less stable, but if you only use it for GigaStudio and once you have it running well, it will be solid as rock. Keep the machine clean from other applications, install 1 Gb of Ram and make sure to specify a setting for the disk caching.
I have tried the XP route as well, experimented a lot, but finally reverted to Windows 98 SE for GigaStudio. My sequencer runs very nicely on an XP machine.
For Windows 98 SE / ME only:
Specify in the [vcache] section in the file System.ini:
[vcache]
MinFileCache=32768
MaxFileCache=32768
If you do not do this, you may run into trouble if you have more than 512 Mb RAM installed.
Hope this long story clarifies some points about memory management in general.
Cheers,
Peter Roos
peter.roos "at" deltaworks.nl