Skip to content

Lag Issue copying and pasting large numbers of chunks multiple times in a row #559

@Elliandr

Description

@Elliandr

Describe the bug

When copying a very large number of region files from one part of the map to another part of the same map within MCA selector subsequent operations take exponentially longer each time such that an operation which might take a few hours will instead take several days.

I encountered this while manually building a circular void region since I could not move such region files by hand without chunk errors. This circular area was built to be more than 200 region files wide. After "drawing" the perimeter I started copying lines over. Throughout this process I was copying from and to the same open window of MCA selector. A line of 200+ region files would copy relatively fast - within a few minutes at most - so I just adjusted my copy region and repeated. However, after 4 or 5 times it started to take longer. Since I wasn't in a hurry I just decided to run a few lines at once, but that was a big mistake. While it also took a few minutes at first with 3 lines being copied at once after just a few tries it would take around a few days to copy.

I tried cancelling, but that didn't work so ended up having to close the process. When I reopened I could not tell which region files were complete since the color of void vs deleted chunks look the same in MCA selector (would be nice if deleted was grey, but I digress) so I just tried copying over the same area and then I noticed that when copying over existing data it takes waaaay longer especially after running it a few times. After more than a week I decided to manually delete (in folders) those files before opening MCA selector to try again. Which was thankfully easy since a long all has one of the coordinates the same.

Then I tried copying the folder multiple times and running each line in parallel and afterwards merge the folders overwriting each other. I was then able to get it all done in less than an hour showing that it's not an issue with the speed of my machine.

I then made a circle of ocean region files and in this case I was copying from one instance of MCA selector into another and did NOT notice this problem occur at all. Granted, it's not as many files being copied so that might be a factor, but it seems that copying from one instance into another is faster in general.

To Reproduce
Steps to reproduce the behavior:

  1. Select 200+ region files to be copied.
  2. Paste over a blank part of the map (no region files exist).
  3. Repeat a few times. Notice how each time takes longer.
  4. Close and re-open MCA selector.
  5. Repeat. Notice how it is much faster.
  6. Now copy over an area that is not blank.
  7. Repeat. Notice how it is even slower?

Expected behavior
An operation shouldn't take longer just because the operation is repeated. I shouldn't have to close and reopen for full speed.

Environment (please complete the following information):

  • OS: Windows 10 Pro 64-bit Ameliorated
  • Java version: Version 8 Update 401 (build 1.8.0_401-b10)
  • Version of MCA Selector: 2.5.3

Additional context

I am copying significantly more than the average user and wouldn't be doing this if I could work around chunk errors with manual moves so I wouldn't consider this a very high priority item. Since most of what I am doing is copying and pasting the same region files in a pattern which could be done with a simple program even faster I wrote a separate report requesting a feature.

Also, I checked, but don't seem to have a log file.

  • Minecraft version used to generate affected parts of your world.

Java 1.16

  • Relevant debug messages from Minecraft.

None

  • Mods used that change Minecraft save files or add blocks to the game.

Vanilla

  • Previously used programs to alter the world files.

Just Minecraft itself.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions