Reduce history system's excessive memory usage from storing copies of images each step (#845)

* Limit saved undo history

* Do not commit path every mouse move event

* Reference count images in history system instead of cloning the image data

* Increase history storage step limit to 100

Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
0HyperCube
2022-11-11 11:44:43 -08:00
committed by GitHub
co-authored by Keavon Chambers
parent be353878d0
commit 4cda84521f
10 changed files with 39 additions and 23 deletions
@@ -15,8 +15,8 @@ pub struct FrontendDocumentDetails {
pub struct FrontendImageData {
pub path: Vec<LayerId>,
pub mime: String,
#[serde(rename = "imageData")]
pub image_data: Vec<u8>,
#[serde(skip)]
pub image_data: std::rc::Rc<Vec<u8>>,
}
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq, Serialize, Deserialize)]