RLBot / RLBotGUI

34 stars 25 forks source link

New super-fast upgrading system #133

Closed VirxEC closed 3 years ago

VirxEC commented 3 years ago

In order for this to work, RLBot/RLBotPack#118 needs to be committed.

Problem

The botpack is currently getting quite big, and not a small portion of our users use RLBot because they have slow internet. So, we should really avoid re-downloading the botpack every time. This is also annoying for people with high-speed internet, as Github limited bandwidth quite a bit - not to mention that unzipping the whole botpack can take a hot second.

Solution

This only downloads the required files. Every commit, appveyor makes a release with a zip file called incremental.zip - This is all of the changed files in the commit, along with a .deleted file that has a list of the deleted files. This zip is many, many times smaller than downloading the whole botpack would be. This results in faster download and extract times.

UI integration

image image

Download Bot Pack is meant to be to go-to for downloading/updating the botpack at any time, so it's presented as such.

Speed

Current speed

https://user-images.githubusercontent.com/35614515/104245710-c1b69b00-5432-11eb-9c25-c1fdf9e7a3f8.mp4

Downloading the full botpack takes me 13 seconds, on an AMD 4800H with gigabit ethernet. Wow, so incredibly slow!

New update speed

Information on update (https://github.com/L0laapk3/RLBotPack/releases):

https://user-images.githubusercontent.com/35614515/104314502-8a360600-54a7-11eb-92ee-04d1934ea4af.mp4

Using the new update method, this takes 3 seconds to initialize, and just 1 second download and extract.

VirxEC commented 3 years ago

I'm going to hide repair in the more menu

VirxEC commented 3 years ago

Done

VirxEC commented 3 years ago

TODO: