A solution to preloading game data for you gamers?

FAQ, getting help, user experience about FancyCache
User avatar
Violator
Level 5
Level 5
Posts: 48
Joined: Mon Jan 16, 2012 11:13 pm

Re: A solution to preloading game data for you gamers?

Post by Violator »

Manny wrote:Reading line by line pretty much the same as reading block per block.
I can't understand how you can't understand that you need to know all these things for both solutions. So your arguments can't be used i decesision between FancyCache and RamDrive.
And, no, launch bat file is not a problem for me, and managing ram drives looks like a problem. If you are afraid of bat files - it is your personal problem. Also i don't see any reason to spread such solutions, like giving it friends or posting on forums. So it is up to you. We are discussing technical side of the question.
If you want to show me something then give me a direct link, because i don't even know what doest it means SWTOR or LOTRO. And i'm not really intrested in games at all. But i'm intrested in caching and programming :)
I don't mind batch files, I just stated that they are NOT EASY for the average Joe, which is the person WHO would use such a program.
If your not interesting in gaming how do you know how it works?
I mean, some games are pretty good at caching while others simply suck, how do you determine which would be the most optimal way to cache if you don't test it ourself or have others to parse you the results?
Anyway, lets look at some examples.

Here is a quote from a LOTRO thread:
I have 8GB as well. I use around 4GB for the ramdisk and leave the rest for windows and the main game exec. The files that you're interested in are .dat files, they contain the game data textures and stuff.

Flashboost uses a bit too big of a ramdisk for my taste, I use a High Res install, it puts in the whole High Res .dat file + 1 extra file and that pretty much fills up most of my ram, so windows has not much left. I get much better bang for my buck when I manually put some other .dat files on the ramdisk instead.

Download Imdisk, and install it
Open notepad
Put in:

imdisk -a -s 3500M -m X: -p "/fs:ntfs /q /y" (where X: is the drive to use and 3500M is the size in MB, use your own preferences instead)

Now for each file you want to add to the ramdisk use the following: (example with client_anim.dat)
copy "D:\Games\Lord of the Rings Online\client_anim.dat" X:
rename "D:\Games\Lord of the Rings Online\client_anim.dat" client_anim.old
mklink "D:\Games\Lord of the Rings Online\client_anim.dat" X:client_anim.dat

This copies the file to ramdisk, creates a dummy .dat file that links to the one on the ramdisk so windows knows where the real version is, and renames the .dat file to .old so it becomes inactive but doesn't get deleted.

End with:
"D:\Games\Lord of the Rings Online\TurbineLauncher.exe" -invoker (substitute with your own install directory)

This makes it run the game after it is done copying everything to ramdisk

Put all the other .dat files you want to add as well, and save the file with the extension .bat. This creates a batch file that you can simply run every time you want to set it up.

The files that I have on my ramdisk are:
client_anim.dat
client_cell_1.dat
client_cell_2.dat
client_gamelogic.dat
client_general.dat
client_map_1.dat
client_map_2.dat
client_local_English.dat
client_mesh.dat

This works like a charm for me, much faster load times and less fps drops in game
And here something a bit more advanced for SWTOR: http://www.swtor.com/community/showpost.php?p=2892331
Expand the spoilers and look at the code there.
As I said, you have users with 2 to more than can ever use amount of ram, and because of the nature of how games work, you need a caching strategy that can take care of them individually while you also include the fact that users do not have the same amount of ram available.

I think FancyCache does a pretty good job itself already, but first and formost pinpointing specific texture packages yield higher performance gains, not because they are LFU / LRU, but because of the time it takes to read trough them to get the textures that the game engine needs to render images to your screen.

If I had time I would write an app myself, but I'm already bussy with an open source project in my sparetime. :)
Manny
Level 6
Level 6
Posts: 62
Joined: Tue Nov 13, 2012 11:42 pm

Re: A solution to preloading game data for you gamers?

Post by Manny »

Violator wrote: I don't mind batch files, I just stated that they are NOT EASY for the average Joe, which is the person WHO would use such a program.
If your not interesting in gaming how do you know how it works?
I mean, some games are pretty good at caching while others simply suck, how do you determine which would be the most optimal way to cache if you don't test it ourself or have others to parse you the results?
Looks like we are solving different task :) I'm solving task that was posted in this thread - pre load data to cache. And you are solving more complex task - make games works faster for average Joe. As for me your task to complex to deal with it in this thread. So dustyny and IchiGoQc asked how they can read up files fast and easy. And i told how :) Will it speed up games or no - i don't know, it is up to topic-starter.

But in general I agree with you that if games read random resources then cache could be inefficient. But in some cases it could work well. The main difference with ram drive - that data from cache can be push out with other files. And it would be the question of who is smarter user or cache. If user 100% sure what files should be cached - then cache would work slower. In other case - cache would replace some files with more frequently used.
User avatar
Violator
Level 5
Level 5
Posts: 48
Joined: Mon Jan 16, 2012 11:13 pm

Re: A solution to preloading game data for you gamers?

Post by Violator »

Manny wrote:
Violator wrote: I don't mind batch files, I just stated that they are NOT EASY for the average Joe, which is the person WHO would use such a program.
If your not interesting in gaming how do you know how it works?
I mean, some games are pretty good at caching while others simply suck, how do you determine which would be the most optimal way to cache if you don't test it ourself or have others to parse you the results?
Looks like we are solving different task :) I'm solving task that was posted in this thread - pre load data to cache. And you are solving more complex task - make games works faster for average Joe. As for me your task to complex to deal with it in this thread. So dustyny and IchiGoQc asked how they can read up files fast and easy. And i told how :) Will it speed up games or no - i don't know, it is up to topic-starter.

But in general I agree with you that if games read random resources then cache could be inefficient. But in some cases it could work well. The main difference with ram drive - that data from cache can be push out with other files. And it would be the question of who is smarter user or cache. If user 100% sure what files should be cached - then cache would work slower. In other case - cache would replace some files with more frequently used.
Seems so, and seems also like you didn't understand the threads question.
A solution to preloading game data for you gamers?
Which isn't just data but game data, if it will speed up the game is not up to the OP but up to correct caching of data.
Do you know how textures packages are made and work?
If not I hardly suggest that you start to investigate around that topic, since it is mainly there where caching gives the greatest benefit for game data.
Again, remember this thread is about Game Data caching to gain more performance.
Manny
Level 6
Level 6
Posts: 62
Joined: Tue Nov 13, 2012 11:42 pm

Re: A solution to preloading game data for you gamers?

Post by Manny »

Violator wrote: Seems so, and seems also like you didn't understand the threads question.
Which isn't just data but game data, if it will speed up the game is not up to the OP but up to correct caching of data.
Do you know how textures packages are made and work?
If not I hardly suggest that you start to investigate around that topic, since it is mainly there where caching gives the greatest benefit for game data.
Again, remember this thread is about Game Data caching to gain more performance.
Nope, only your posts about game data and game performance, topic is about preloading files to cache. Read carefully first two posts and topic title.
Meanwhile I will leave to you thinking about textures packages and game performance. As i told you before i'm not interested in playing games, and right now i'm not a game dev so i don't care much.
My interest only in block level caching itself. Also seems that this week i will busy also to create that app. I wonder if it is still needed by anyone.
fsommer1968
Level 4
Level 4
Posts: 27
Joined: Fri Jan 07, 2011 3:11 pm

Re: A solution to preloading game data for you gamers?

Post by fsommer1968 »

@OP,
see this (old) thread viewtopic.php?f=25&t=728 and check whether the solution proposed by magic-man and me helps.

- Frank
User avatar
Violator
Level 5
Level 5
Posts: 48
Joined: Mon Jan 16, 2012 11:13 pm

Re: A solution to preloading game data for you gamers?

Post by Violator »

Manny wrote:
Violator wrote: Seems so, and seems also like you didn't understand the threads question.
Which isn't just data but game data, if it will speed up the game is not up to the OP but up to correct caching of data.
Do you know how textures packages are made and work?
If not I hardly suggest that you start to investigate around that topic, since it is mainly there where caching gives the greatest benefit for game data.
Again, remember this thread is about Game Data caching to gain more performance.
Nope, only your posts about game data and game performance, topic is about preloading files to cache. Read carefully first two posts and topic title.
Meanwhile I will leave to you thinking about textures packages and game performance. As i told you before i'm not interested in playing games, and right now i'm not a game dev so i don't care much.
My interest only in block level caching itself. Also seems that this week i will busy also to create that app. I wonder if it is still needed by anyone.
Check the thread title and also go the first post in this thread and read it instead of keeping on derailing what the OP's question was about, thanks. ;)
Post Reply