- Kaunas, Lithuania
- https://aras-p.info/
- Joined on
2022-01-20
The more I think about this problem, the more I wonder if this isn't really more of a bug on the SideFX and Autodesk side...
It feels like that, yes. The OBJ file description (there's no…
Thanks for the report! This sounds the same as #126457 so I'll close this one as duplicate. And start looking into actually fixing the other one :)
Logic makes sense. And yeah it would be good to cleanup/refactor that code into more sensible state...
Added comments - some about overall design, some suggestions how to fix the actual deadlock/crash/exception that I'm seeing in my tests on Windows
Overall it "feels like" usage of the anim manager needs a lot of (cumbersome, error prone) acquiring and releasing.
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).