mirror of
https://github.com/Drop-OSS/drop.git
synced 2026-07-24 20:05:39 -04:00
[GH-ISSUE #275] FR: Use a BinaryDiff tool to perform updates #142
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @CriosChan on GitHub (Nov 2, 2025).
Original GitHub issue: https://github.com/Drop-OSS/drop/issues/275
For the update system, Drop could perhaps use HDiffPatch to create a patch file between the old and new versions. This would mean that, especially for large games, it wouldn't be necessary to re-download everything, a bit like Steam does. If it were also possible to delete the old version (on the server side) once the patch had been created, this would save space on our servers. However, creating the patch file consumes a lot of RAM and takes a long time, so I think it would be more of an optional feature.
Example for a single 1.1GiB binary: creating the patch took 2m46s and consumed about 4GiB of RAM. The time to patch the old binary with the obtained patch: 2s.
If something like this has already been suggested or is already in use, I apologize for creating this issue for nothing. I searched beforehand and couldn't find anything related to that.
@kapdon commented on GitHub (Nov 2, 2025):
I was also looking into this. adding the following for reference:
@DecDuck commented on GitHub (Nov 2, 2025):
I don't think this feature is worth implementing unfortunately. We already chunk large files into 64MB chunks, so we don't necessarily have to update all of the chunks. The client will be smart enough to only download the chunks it needs.
The time and compute consumption of something like this, and the dev time needed to implement it doesn't feel like it's worth it.
@CriosChan commented on GitHub (Nov 2, 2025):
Yeah, I totally understand. I suggested that because I wasn't entirely sure how the chunk system used by Drop worked. Thanks for your reply anyway, and for your work on Drop. I'll close the issue since what I wanted seems to have already been implemented.
FR: Use a BinaryDiff tool to perform updatesto [GH-ISSUE #275] FR: Use a BinaryDiff tool to perform updates