Tree of Savior Forum

Multi-Threading, IMC, please show us your progress!

I didn’t mean the game would stretch itself across all cpu cores, I meant that the game could offload itself onto unused cores so it wasn’t restricted to core 1.


A 32 bit program fights against other 32 bit programs for that base 4 gigs of RAM, if you run a 32 bit OS, it fights against that as well. 64 bit programs are not bound to those 4 gigs.


Last year Microsoft stated that only 8% (7%? Don’t remember) of their users used the 32 bit OS, including those using a 32 bit OS on a 64 bit cpu (Source: Twitter of the corporate vice president of Microsoft).
Though the 64 bit client wouldn’t matter to 64 bit cpu users running a 32 bit OS as it wouldn’t be able to run 64 bit programs anyways.

Micro stutter was already removed from the game. What caused it was the quest checking, imc “fixed” it on the 7¨% patch.

What causes the stutter now is just the resource management, the game rendering engine is fine when it comes to micro stuttering.

Yeah, but there is a bottleneck

Lets suppose that IMC can multi thread many thing as possible (something really hard that even AAA developers fails to achieve), to use more than 2 cpu cores.

When this scenario occurs, there is a bottleneck on GPU side. In my case, with ToS running on just one CPU core, 14 fps at Fedimian, gpu is under 35% usage.

If 2 cores are used, GPU will go up to 70%. 3 cores, GPU will bottleneck, and I would expect something at 30 FPS at best (since 2 cores doesnt mean double the performance, much less triple core)

Past from it, either I need to buy a better GPU, or IMC do some bare metal programming to optmize the game, because multi threading alone will not improve the FPS any better.

Also for the 64bit debate, i still thinks there is no use from porting the whole game for 64bits, there will be no real advantage for it

I can’t see how ToS would need so much Ram to operate

Also, if you have a 64 bit system already and plenty of ram, the SO will cache the game RAM as much as possible (and it is not bound to 4GB) automatically

Used Ram =/= Cached ram, you can see both at Windows Task Manager

Used ram is the Ram the softwares requires to operate on the fly, and cached ram is what the software previously loaded and can be accessed again without loading data from disk

Right now we have a major bottleneck on CPU side simply because the game is not multithreaded.


Go check out a trial version of 32-bit Photoshop and import a segment of video (something like 300 frames), you’ll cap out that 4 gigs of usable RAM real fast and crash the program. Does not matter if you have a 64-bit OS and more than 4 gigs of RAM.

Does your cpu goes 100% on 1 core when game freezes at Fedi ?
If no, the issue isn’t multithreading.

Core 1 maxes out cpu usage, the other 7 cores are mostly clear (only running background programs and OS, 4 core hyperthreaded)

But ToS is a different story. I can’t imagine it using 4GB of ram in any kind of scenario.

Video/Image Editing easily can hit and pass 4GB of ram, because, well, it depends of the raw size of images/videos youre working with

Well, it’d certainly be easy to test with enough participators spamming skills and running around in town. You’d be able to benchmark the gpu usage as well.

Not so sure… Most objects on a crowded spaces uses the same resources (3d meshes, textures, etc)

3GB is a possibility yet rare, but i really can’t imagine it taking up to 4GB of ram

Games with much more graphical content / higher res textures than tos do not hit 4GB, only a few exceptions with ultra graphics and 4k resolution

You can get a spike in CPU and RAM usage when calling physics into the scenario, so people running around (jumping in particular), bokor zombie trains, exploding monster bits could all bring enough pressure.


I just want to note that Skyrim: Special Edition has a 8gb RAM minimum requirement to run. The 2016 release is a 64 bit client as apposed to the 2011 release’s 32 bit client that only required 2gb RAM.

Still can’t convince me, and heck, will never convince imc

The huge work required to port the game for 64 bits, because very few ultra rare situations will not ever justify such kind of investment

Personally i never hit such kind of ram, the max i’ve peaked out wit tos was 1.8gb

There is a limit how fast each of your cpu thread can process. Your ram usage for ToS maxed out at 1.8gb because it is limited by your cpu. Yea I dont expect the game to use more than 4gb ram even with multithreading.

The only time when you will see any difference in performance when comparing 32 bit and 64 bit games is when high amount of ram is required. Converting program to 64 bit is a pain. You will have to change alot of the addresses and pointers, which is almost like remaking the whole game. In most cases, the game size will almost double. (currently ToS uses about 20gb space…) One big problem with making a program 64 bit is compatibility issue. 64 bit system can run both 32bit/64bit game but 32bit system cannot run 64 bit game. That means in order for a 32 bit system to run ToS, the game has to be 32 bit. In business perspective, there is no reason to prevent 32bit system users(customers) from playing the game when the game can totally run fine in 32bit. The same reason why the transition to 64 bit is so slow.

32bit OS gamers are a minority now. If they are too cheap or too poor to upgrade, they won’t spend money in the game anyway.

3 Likes

If the game is bottlenecking with 1 cpu, you might never see the game use more than 2gb RAM


Both World of Warcraft and Elderscrolls Online have 32-bit and 64-bit clients that connect to the same server.


I have no idea where you get this from except if the developers decided to throw in a second batch of assets.


I only noted Skyrim because of

Which I had assumed, at the time, to imply that most games are not pushing 3gb RAM usage.

Also I should add that 64bit execution is faster than 32bit if and only if they specifically optimize for it. A direct port will yield no noticeable improvement.

3 Likes

True. However, when designing a system to take advantage of 64bits faster executon, basically you’ll need to increase the RAM comsumption, and it would hit a lot of the playerbase, since most of the market still has an average of 4GB of ram

The sole advantage of 64 bits is executing more instrunctions per core cicle, however to do that you need to feed the CPU with said aumont of instrunctions, which, require lots of ram / cpu cache