#68 Saving editors and creating a new item / animation / NPC / etc. takes a long time

Closed
opened 4 months ago by Dashplant · 2 comments

Build Info

  • Intersect Version : 0.6.0.124
  • Operating System: Windows 10

Issue Description

Common events and maps save in seconds.

Animations / Items / NPCs / Quests take ages. Sometimes close to 2 minutes.

I do have several animations with 90 to 100 frames.

I’m using SQlite for my database.

Reproduction Steps

Take my DB and see for yourself.

## Build Info - Intersect Version <!-- (Use X.X.X.XXX Format!) --> : 0.6.0.124 - Operating System: Windows 10 ## Issue Description Common events and maps save in seconds. Animations / Items / NPCs / Quests take ages. Sometimes close to 2 minutes. I do have several animations with 90 to 100 frames. I'm using SQlite for my database. ## Reproduction Steps Take my DB and see for yourself.
jcsnider commented 4 months ago
Owner

Please PM me your DB

Please PM me your DB
jcsnider commented 3 months ago
Owner

Upon saving of GameDB the server detects changes in tracked game objects. In this case there are nearly 2k objects to scan for changes -- this is a fairly expensive process CPU wise.

Using the $5/month hosting package I provide CPU allocations are insanely limited -- not really meant for a game of that size. While saving on my development PC only takes 50 milliseconds, it takes several full seconds with the CPU limits in place of the design ready hosting tier.

I profiled the saving process using Jetbrains dotTrace, and made a few small tweaks to cache light serialization which will result in a small performance boost.

I didn’t see anything else that I could tweak/refactor that would lead to meaningful boosts. @panda wants to look into this further so I am assigning this to him.

TLDR; It’s time to get a faster server, as I have no desire to overhaul the DB system again, nor do I think we should.

Upon saving of GameDB the server detects changes in tracked game objects. In this case there are nearly 2k objects to scan for changes -- this is a fairly expensive process CPU wise. Using the $5/month hosting package I provide CPU allocations are insanely limited -- not really meant for a game of that size. While saving on my development PC only takes 50 milliseconds, it takes several full seconds with the CPU limits in place of the design ready hosting tier. I profiled the saving process using Jetbrains dotTrace, and made a few small tweaks to cache light serialization which will result in a small performance boost. I didn't see anything else that I could tweak/refactor that would lead to meaningful boosts. @panda wants to look into this further so I am assigning this to him. TLDR; It's time to get a faster server, as I have no desire to overhaul the DB system again, nor do I think we should.
panda was assigned by jcsnider 3 months ago
Sign in to join this conversation.
Loading…
Cancel
Save
There is no content yet.