| Summary: | git master: optimization for loading existing preview render chunks may conflict with change clip invalidation | ||
|---|---|---|---|
| Product: | [Applications] kdenlive | Reporter: | Wegwerf <wegwerf-1-2-3> |
| Component: | User Interface & Miscellaneous | Assignee: | Jean-Baptiste Mardelle <jb> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Wegwerf
2016-06-06 08:27:28 UTC
By the way: on the other hand, reloading a project after a full preview render starts with the old preview rendering zone being red. Kdenlive does not pick up the existing preview chunks. Could that be because I saved the project after preview rendering again? I will check this problem tonight. Regarding your second comment, currently we proceed like this on project opening: We check the project file's last save date/time and compare it with preview chunks date/time. If a chunk is more recent than the project date, we delete it (in case user played with the project but decided not to save the changes). So if you don't save your project after preview rendering is finished, these new chunks will be deleted. However in my quick tests, I frequently forgot to save just because of the timeline preview, so maybe we can find a more clever approach than comparing dates, something like a hash of the project file so that chunks newer than project file are not deleted if the project has not changed... will look into it. Probably some project token, sich as a hash, but can be even simpler, would suffice. It gets updated with each project edit after a save. The cache, in turn, remembers the most recent project token it had been used with. 1. user edits project, prerenders project, then saves project, then reloads: will pick up the cache contents as reloaded project token equals cached project token. 2. user edits project, saves project, prerenders project, the reloads: same as 1, project token equals cached project token. 3. user edits projects, prerenders project, then aborts and reloads project: cached project token doesn't match saved project token anymore, cache needs to be invalidated completely. Fixed. |