The online racing simulator
Why LFS doesn't load everything at startup?
If I have 2-3 GiB of RAM free when a user starts LFS, would it be theoretically possible to load all tracks and textures in the background using the 2nd CPU core, so that the user doesn't have to wait anymore?

When LFS loads textures, does it load them into PC RAM, or GPU RAM?
Quote from detail :If I have 2-3 GiB of RAM free when a user starts LFS, would it be theoretically possible to load all tracks and textures in the background using the 2nd CPU core, so that the user doesn't have to wait anymore?

When LFS loads textures, does it load them into PC RAM, or GPU RAM?

Unfortunately there is a limitation of DirectX programming which prevents what you are asking for.

Under DirectX only the primary thread may perform graphics related tasks, so it cannot be farmed off to a secondary processor core.

Additionally under a 32bit OS (which represents most of the user base) only the first 4gb of memory - minus the size of the graphics ram - is addressable, which is unsufficient for the entirety texture collection (their disk size is much smaller than their RAM size).

Some games deploy 'shuttle loading' of textures and graphics in the background by time slicing on the main thread, although few would do this to omptimise initial loading time but rather in the game itself, I can't imagine LFS being enhanced this way just so that the menu's load faster - especially as the task would need to finish before the game is entered anyway so any enhancement to menu loading time would be countered by the user arriving at the 3D engine portion of the game sooner and then having to wait for the load to finish.
On disk the textures are compressed for reduced file size storage, in RAM however a texture needs to be held without compression, otherwise the majority of the processing power on the computer would go toward constantly decompressing.

Once in memory an image is stored with 4 bytes per pixel: Red; Green; Blue; Alpha. In the case of DDS it also stores smaller versions of the image for faster drawing when at a distance.
Doesn't GFX card uses DDS format, which LFS stores textures into (and has mipmaps there aswell)?
That's true, but isn't a lot of LFS' textures in jpg too? Although thinking about it now LFS did away with jpg skins and such didnt it. OK, dont mind me i'm still a coffee short of a morning and it's early afternoon...
LFS converts JPEG skins to DDS on startup every time new skins are added, and loads DDS skins. JPEG is used only for advertisements, and they wouldn't be much bigger than 100MB too, so people with 512MB and bigger amounts of VideoRAM would be able to enable complete pre-load in options.
Quote from Shadowww :JPEG is used only for advertisements

... and backgrounds for in-game menus.
Quote from Shadowww :LFS converts JPEG skins to DDS on startup every time new skins are added, and loads DDS skins. JPEG is used only for advertisements, and they wouldn't be much bigger than 100MB too, so people with 512MB and bigger amounts of VideoRAM would be able to enable complete pre-load in options.

Actually, there's still some merit to my argument. The video ram gets used for more than just storing of textures.

You need to hold all the 3D geometry data and several copies of the display (2 copies if using double buffering, 3 for triple buffering). In addition to that there are specular maps, and in the future no doubt we'll see other forms of texture mapping used in addition too.
I don't see the point of loading all the gubbins for all tracks on startup.

Pretty much every time I join a server, it is direct from LFSWorld...I only need the track that I am about to race on.
While I could see there being some benefit... it really doesn't seem necessary. If your computer was good enough to hold everything in the RAM, chances are it would take you at an absolute maximum, 10 seconds to load a track. I have an E8400 at it's standard 3Ghz clock with 2GB of 1066 CL5 RAM and it takes me about 5 seconds, if that, to load up the textures.
Time to invest in to some SSDs
Don't see the point. You're never ever going to need all of the track data loaded at once, since you can only race on one at a time anyway - and you might never race a particular config anyway (I could count the number of proper oval races I've done on no fingers). So having every possible config ready to recall is pointless memory clutter, even if you do have the video RAM to store it all.
Quote from Dajmin :Don't see the point. You're never ever going to need all of the track data loaded at once.

+1

Have some patience

It takes me 15 sec to find lfs folder, start up lfs, click singleplayer, find a track, load track, press ready and drive.
Best loading game ever

Other racing games that would take 5 minutes.
Quote from aroX123 :Other racing games that would take 5 minutes.

does that include the 4 minute video trailer?
Shift loads forever for example...lfs has a pretty quick load imo.
Ever played GTR-Evo..?

Takes like 1 1/2 mins to load the game, takes like 1 min to load the race/cars, every race.

-----
LFS takes what? 5-10 seconds?


Not everyone has a GPU big enough to load everthing at once. You might say, "make it an option", but it's probably not so easy to have special cases for this type of thing. I hear Scawen dying a little bit...... If you have a big GPU and think you should have this extra thing, IMO go with SSDs if you want to be in a special class.

peace.


edit: I think I just repeated what everyone else said here. Sorry.

There is an option in MISC to Load Track When Starting. (only loads the last used track, but meh.)
And I disable that "Load track when starting" as chances are, I'm not going to the same track I was on before.
I disabled that too, because it essentially doubles your loading time if you don't run that track.
LfS loading is superb fast, no whining needed
What can i say, i think Lfs is loading Superb. but loading very fast. i wont see any reason why you would like too preload everything at startup...

we alll know that how more you are using from you ram how more in efficent the ram is working. so like lfs and most of the games are doing they tried to minimise this amound of preload.

This has got some thing to do with efficiency. I would be not smart or better say stupid to lower the efficiency from software ("LFS").


Btw: i only know 1 game thats loading quicker then lfs and thats UT2004. LFS is really not bad at loading at not bad on efficiency.
does it really take that long to load LFS? i find it takes longer to refresh the server list with 20 servers in it than it does to actually load into a track.
Quote from erfrag :does it really take that long to load LFS? i find it takes longer to refresh the server list with 20 servers in it than it does to actually load into a track.

Not after Z21/22 gets released
Thanks for explanation, Becky. That makes sense.

FGED GREDG RDFGDR GSFDG