- Kaunas, Lithuania
- https://aras-p.info/
- Joined on
2022-01-20
If anims size is zero, return here in SEQ_add_reload_new_file
will leave anims locked? i.e. missing strip_anims_release
Isn't this code path (right before break) in SEQ_time_sequence_get_fps
potentially missing a strip_anims_release
call?
This uses different logic compared to strip_anims_acquire
, which was part of the reason why I was getting deadlocks/exceptions in my tests: acquire filters for "movies only" and then for duplicates, whereas this one only filters for duplicates.
This will leave result filepath uninitialized (containing garbage or previous data) in this case, which was part of the reason why I was getting deadlock/exception in my tests. Suggest adding r_filepath[0] = 0;
before return.
Sergey says "I don't see issue with that" on the chat
I can reproduce very very slightly worse playback rate with this PR, but either your gold-edit-v804 is different than mine or your machine is worse than mine (AMD 5950x CPU), because I can…
The job exits when there are no more incoming requests. But since processing requests takes some time, it can (and very often does) happen that while the job is processing some requests, some more…
There's a ton of for (const auto &
or for (auto &
within Blender code, I assumed using auto
for iterators or things being iterated on was common practice. kvp
here is "key value pair", but…
It solves an issue of new incoming requests that would be piled up. Consider:
- You start looking at some area that needs hundreds of thumbnails.
- The job starts, copies them over to itself…
Good catch! Pushed a fix, the thumbnails job was not cleaned up properly when destroying the thumbnail cache (as part of Ctrl+E refresh).
StrokeCache
Displacement Smear variables together
This does happen in "heavy" tests that I did -- tons of video clips, large timeline, and several source files that span the whole timeline that are almost always visible. After wild panning and…
Defensive habits, I guess. Will replace with an assert.
Right, previously this was within space_sequencer indeed. What would you suggest to do? WM jobs are kinda "perfect" for actually doing this -- they run in the background, then can be cancelled…
Ah cool, I'll remove it then! Missing media is not an issue for this PR, it actually gets "null" thumbnails and handles them just fine, without causing endless requests.
To me this feels fine -- this is a function called "once per frame" to maintain cache capacity. "once per frame" is quite important since it ticks the logical timestamps etc. "user of this cache"…
Previous code, whenever the timeline view changed at all (panning/zooming), was canceling any in-flight thumbnail requests and starting from scratch, essentially.
Now I changed it to not flat…