chaosshade
Fracture
RP Mod [teal]DISCHARGED[/teal]
50%
In Chernobyl, Zone Fears You!
Posts: 183
|
Post by chaosshade on Mar 21, 2010 11:22:51 GMT -5
I don't know the exact details, Carn. I know that's a step before the synchronizing phase that loads a bunch of crap into memory and the "-noprefetch" switch shuts it off.
|
|
|
Post by Carnageman on Mar 21, 2010 12:34:44 GMT -5
Good enough for me.
|
|
Kobura
Boar
Serpent of the Night, Angel of the Light
Posts: 52
|
Post by Kobura on Mar 22, 2010 16:05:15 GMT -5
I can't seem to set ANY switches. The target is greyed out. What kind of bogus is this?
Win7x64 legitimate copy administrator account
|
|
Kobura
Boar
Serpent of the Night, Angel of the Light
Posts: 52
|
Post by Kobura on Mar 22, 2010 16:08:59 GMT -5
Fixed it. 7's auto-shortcut system or something created a hardwired icon. I just made one manually and it works fine. Also a different icon ... weeeeird.
|
|
|
Post by natvac on Apr 6, 2010 13:34:04 GMT -5
Edit: I missed the second page when I composed this extensive reply, but it might still prove useful.
By default, SoC prefetches (preloads; fetches before they are needed) a lot of resources like sounds and textures.
This makes for a very long level load time the first time you load a save after launching the game, and perhaps each time you change levels.
The problem with this is that the size of all the resources is larger than can be held by default 32-bit Windows. So not all resources are loaded, and there is very little room left for normal gameplay.
As you move about in the game, it switches stuff online. There's a switch_distance of 150 meters in the unmodded game, the radius of a sphere around you in which everything is "alive" and present on the level. As chaosshade notes, going near that Garbage hangar switches on some NPCs, with their associated meshes, textures, inventory, sounds and jobs.
There's also the issue of stashes. Places where you store stuff also switch their contents online as you approach. (Permabodies are okay to use; they don't exhibit this behavior.) With ammo and other stacked items, this can make for a very long list of items to iterate over, allocate memory for, and execute support functionality. One test for the Garbage is to clear out your stashes.
This inevitable processing delay is compounded by the need to swap data in and out from hard disk. Moving cached resources from RAM (the intent of the prefetch) is faster, but there are a lot of resources used in other parts of the game that are not needed where you are, so the in-memory copies of Pripyat resources are eventuall discarded to make room for the local Garbage resources to be loaded when needed.
Here's an example. If you lower texture quality, use static lighting and reduce other settings like the number of sounds used -- the default game loads an ambient sound every 5 to 10 seconds! -- let's say your memory requirements for a particular location on a level is 900 MB of RAM. The OS takes up a bit of the 2 GB default allocated to the application, but you don't have any problem other than a slow loading time, as the net system load is about 1.8 GB.
Switch to dynamic lighting and high-quality textures, and suddenly the amount of memory needed for all the game to run is 2.6 GB. Parts will be loaded as needed. Eventually you'll see a bit of swapping; your swap file will see quite a bit of use.
When you disable prefetching, you will still load resources as needed, but fewer are needed at the beginning, so you will have occasional "stutter" as the game loads an ambient sound or a texture for a new building as you move about. (Yes, also when it switches NPCs and mutants online. That will always happen.)
The problem with prefetching in SoC is that you still get the stutter, and worse, you even get out-of-memory crashes as the game tries to access memory beyond 2 GB.* So running with "-noprefetch" is generally good for SoC.
Let's make this worse: Shaders for special effects like distortion around fires are not fast even on modern cards, and slightly older cards make for some real lag running shaders slowly and then needing to swap out shader code because the GPU is limited in how much code it can store at once.
So you get very low framerates because the code for each rendered frame is too complex to reside completely on the video card. Sometimes the system can handle a couple of shaders easily, but STALKER really taxes a system by layering effects upon effects, like the "drunk, double-vision, red, grainy" controller effects.
Put that on top of a heavy level like Army Warehouses, throw fires and particle effects into the mix and you might see 60 FPS drop to 0.5 FPS with all the disk swapping. Often this leads to crashes.
Video cards don't even need to swap to disk; there's a slowdown swapping to/from system RAM.
__________ *This can be adjusted somewhat in 32-bit versions of Vista and Windows 7 by increasing the application process space size. There should not be a problem with 64-bit versions of Windows. XP 32-bit users should not use the boot.ini change unless they have a custom streamlined gaming version of Windows XP. They should lower their system requirements: static lighting, lower quality textures, etc.
|
|