General Information

This performance update will grant promising speeds in the loading phase and it consists of loading various files and information at the beginning of the client execution (runtime), while using multithreading technology, instead of giving a large workload to a single core, threads are processed in parallel by different CPU cores to save time.

Some other improvements and features that are described below were also made in the client.

Features

  • Improved loading phase time.
  • Improved loading client data.
  • Fixed big lag spikes when approaching and/or loading new entities.
  • Ported playerSettingModule.py to C++.
  • Easy to implement & modify.
  • Removed the loading curtain when warping and added a custom style loading.
  • Ability to disable or enable loading screen and warp shower.

Demonstration

Results

The speed of the loading phase has clearly been improved, the first client loading phase has gained an improvement speed of 66% and warping speeds of 21%
These records have been manually tested and noted in order to make this table.

Client Startup (First Loading)
Before
MIN AVG MAX
8.4 8.6 8.7
After
MIN. AVG. MAX.
1.6 -81% 2.9 -66% 3.1 -64%
Warp Loading
Before
MIN AVG MAX
1.6 1.9 2.9
After
MIN. AVG. MAX.
1.4 26% 1.5 -21% 1.7 -11%
Entity Loading

The before results show clearly some stuttering when loading a new entity.

This time, on the after results you can observe that there isn’t any stuttering when loading a new entity.

Meeting New Entities

When you are running on most clients for the first time and you find a new character your client usually suffers from lag spikes (studders), in this video below I demonstrate an example of this problem solved.

Additional Video

 

Requirements

  • Compiler: Visual Studio 2019 or above
  • C++ Version: C++17 or above

Changelog

Version 1.3

  • Fixed Shaman and Wolfman attack issues while on mount
  • Fixed Guild Building data list loading
  • Fixed Emotion icon order

Version 1.2

  • Improved entity meeting via server-side
  • Improved user-friendly modifications
  • Refracted and organized code
  • Fixed running thread when application is closed suddenly
  • Complete migration of playerSettingModule to C++
  • Removed loading functions from LoadingWindow
    • This means that loading the Guild building list and registering name titles, colors are all done in C++

Version 1.1

  • Added race height loading
  • Fixed horse skill table showing wrong skills
  • Added background customization for first load
  • Improved motion caching

Version 1.0

  • First commit

Reviews

There are no reviews yet.

Be the first to review “Client Loading Performance”

Your email address will not be published. Required fields are marked *