View Full Version : The Witcher and KB940105-x64 hotfix
NLight95
09-16-2008, 04:01 PM
I just purchased and installed The Witcher on Vista 64 (see sig). I also applied the 1.3 Witcher patch.
Do I need Microsoft's KB940105-x64 hotfix?
cadaveca
09-16-2008, 04:23 PM
Not if you have SP1 installed(it's part of SP1), and not if you are running a single card.
NLight95
09-16-2008, 04:45 PM
Not if you have SP1 installed(it's part of SP1), and not if you are running a single card.
Thanks, guess I won't need it then.
cadaveca
09-16-2008, 04:56 PM
Nah. It pertains more to multi-gpu configs, as with a 2GB limit of address space(virtual), and if the app copies the frame data inside this buffer for each gpu, you've only got 1GB of virtual space left for the app.
On a modern operating system such as Windows Vista, applications run within their own private virtual address space. Typically, the size of the virtual address space is fixed at 2 gigabytes (GB) for 32-bit applications. How much virtual address space is available is not related to how much physical memory there is on the computer.
Every memory allocation, file mapping, or library that is loaded by an application consumes space in this virtual address space. When the application consumes all its virtual address space, any additional such operations fail. Although all applications should be coded to handle memory allocation failures, many applications do not recover correctly from such failures. Therefore, the programs may become unstable or stop responding after they recover from such failures.
Existing games and other graphics applications frequently allocate virtual memory for a copy of the video memory resources that the application uses. The application uses this copy to restore the display quickly if the contents of video memory are lost. For example, the application uses this copy if the user presses ALT+TAB or if the user puts the computer in standby. Typically, the DirectX run time manages the copy on behalf of the application when the application creates a managed resource. However, an application can also manage the copy itself. The virtual memory that the copy uses is directly proportional to the video memory resources that the application allocates.
A modern graphics processing unit (GPU) can have 512 MB or more of video memory. Applications that try to take advantage of such large amounts of video memory can use a large proportion of their virtual address space for an in-memory copy of their video resources. On 32-bit systems, such applications may consume all the available virtual address space.
(...snip...)
To address this problem, Microsoft is changing the way that the video memory manager maintains the content of video memory resources. This change is being made so that a permanent virtual address range does not have to be used for each virtualized allocation. With the new approach, only allocations that are created as "lockable" consume space in the virtual address space of the application. Allocations that are not created as "lockable" do not consume space. This approach significantly reduces the virtual address space that is used. Therefore, the application can run on large video memory configurations without reaching the limits.
http://support.microsoft.com/kb/940105
NLight95
09-16-2008, 05:50 PM
Nah. It pertains more to multi-gpu configs, as with a 2GB limit of address space(virtual), and if the app copies the frame data inside this buffer for each gpu, you've only got 1GB of virtual space left for the app.
With a multi-gpu config would there be a limit on address space running The Witcher, a 32-bit app, under Vista 64?
cadaveca
09-16-2008, 07:39 PM
There is ALWAYS a virtual address limit of 2GB. It really has nothing to do with multi-gpu, other than that if the app uses all available vga ram, sometimes it has to have a copy of this within the virtual address space. For 512MB cards, this would consume 1GB for 2 cards, 1.5gb for 3, and 2GB for 4 cards. There would be no address space left for the app itself, and this will cause performance issues, if not make the app non-playable.
On a modern operating system such as Windows Vista, applications run within their own private virtual address space. Typically, the size of the virtual address space is fixed at 2 gigabytes (GB) for 32-bit applications. How much virtual address space is available is not related to how much physical memory there is on the computer.