itsmattkc
e0bb31b199
remove shifts, operations, and make caches node-agnostic
2022-05-16 19:53:38 -07:00
itsmattkc
9ba3f24f3b
cache: fixed double write corruption
2022-05-16 16:10:54 -07:00
itsmattkc
23973699b4
render: improved overall flow
2022-05-16 15:41:50 -07:00
itsmattkc
bfd6a407a5
Merge branch 'master' into hashremoval
2022-05-16 09:12:49 -07:00
itsmattkc
4b366a9b73
update copyright year to 2022
2022-05-10 10:38:56 -07:00
itsmattkc
4bc82ca6df
removed hashes from previewautocacher
2022-05-09 19:40:58 -07:00
itsmattkc
2cf0b24e0f
framehashcache: refactored to remove hashes
2022-05-09 19:04:59 -07:00
itsmattkc
006d42ecf1
framehashcache: use two relationally linked maps for optimization
2021-10-09 14:09:58 -07:00
itsmattkc
4bbc75392a
nodes: rewrote and simplified length signaling system
2021-07-15 21:00:18 -07:00
itsmattkc
c374a03e9d
render: further simplified job times
...
Outside of silly mistakes, this should be significantly faster and more stable.
2021-07-12 15:14:37 -07:00
itsmattkc
310fd3541a
various: greatly simplified job times
...
Hopefully this doesn't break everything
2021-07-11 23:33:21 -07:00
itsmattkc
8a58ee2bdb
renderer: use iterator rather than creating vectors
...
Creating vectors from the FrameHashCache was one of the slowest functions in the program, this should be significantly faster.
2021-07-11 16:47:12 -07:00
itsmattkc
38c38daf8a
framehashcache: use timestamp based vector internally
...
I think this will be significantly faster, but I guess we'll find out!
2021-07-10 15:37:06 -07:00
itsmattkc
33f71d7548
framehashcache: use static const string rather than function
...
Should be mildly faster
2021-06-16 14:29:43 -07:00
itsmattkc
b07e132dbb
framehashcache: allow access to frames being saved
...
Minor optimization and crash fix. If a frame is currently being
saved, it's still technically available in memory and can be
returned faster than loading from EXR. This also prevents
OpenEXR from trying to load a frame that we're midway through
saving.
2021-04-24 18:21:33 +10:00
itsmattkc
77d4b18a60
updated copyright year for 2021 [skip ci]
2021-04-17 18:56:50 +10:00
itsmattkc
6c30f8cf46
nodes: implemented infrastructure for caching any node
...
Not accessible through UI yet, but ported Footage node to it
(previously we used a hack to ensure Footage textures were
cached, now it's a formal infrastructure).
2021-04-11 18:56:39 +10:00
itsmattkc
75d4cd899b
use hardcoded namespace
...
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc
d241090a9f
finally updated the copyright year
2020-11-17 20:13:22 +11:00
itsmattkc
0d0766e4fb
improved render channel count system
2020-11-15 22:16:40 +11:00
itsmattkc
cabcd49b25
renderer: copy cache path before render to avoid race conditions
2020-09-05 18:48:54 +10:00
itsmattkc
f6760386ce
renderer: improved handling of pixel aspect ratio and footage cache
2020-08-21 14:43:13 +10:00
itsmattkc
d85089f71a
cache: improved setting manual cache path on a per project basis
2020-08-07 13:41:09 +10:00
itsmattkc
df14c2aaa7
cache: better implemented changing disk cache folders
...
Not complete yet, but getting there.
2020-08-07 02:31:46 +10:00
itsmattkc
fa02430d48
cache: reimplemented disk manager to enforce limit in preferences
2020-08-06 01:30:51 +10:00
itsmattkc
c8def73b95
cache: mild auto-cache overhaul
...
Shifted from CacheTask to functionality built into RenderBackend. It was
a lot easier to control behavior this way without having to juggle a ton
of threads and race conditions.
Could likely be multithreaded further.
2020-08-05 02:19:04 +10:00
itsmattkc
36dd06d2dc
viewer: set video and audio caches to children of the viewer
...
Ensures their thread gets changed along with the viewer. The project
gets loaded/created in a background thread so the GUI can remain
responsive, and is then moved to the main thread for intended event
handling. However if the caches aren't parented, the hierarchy breaks
and the caches remain in a thread whose event loop is quickly destroyed.
Now that they're parented, events can be properly queued on them once
again.
2020-07-10 18:34:16 +10:00
itsmattkc
cbbf1c9149
framehashcache: use correct linesize when saving EXR
...
Fixes stride issues on non-standard frame sizes.
2020-06-16 15:38:23 +10:00
itsmattkc
2e3072623a
renderer: use qvectors instead of qlists
...
Should be much more efficient for large-scale projects.
2020-06-16 02:45:16 +10:00
itsmattkc
a9a13c4b0c
framehashcache: remove code for saving integer-based frames to cache
...
Since we don't allow non-float cached frames now, there's no need to have
this code complicating the codebase.
2020-06-10 14:12:26 +10:00
itsmattkc
52ca18d5e1
viewer: moved cached frame loading code so that more classes have access to it
2020-06-09 02:35:13 +10:00
itsmattkc
430561e2ac
sequence: made divider a sequence parameter rather than a viewer parameter
...
Doing this makes the preview resolution an explicit project setting rather
than a temporary UI setting. This will allow more consistency when caching.
2020-06-08 14:41:35 +10:00
itsmattkc
9ff9817b95
cache: use render job times to synchronize cache
...
Ensure old inaccurate jobs are never prioritized over current jobs.
2020-06-04 16:48:23 +10:00
itsmattkc
e30d278327
playbackcache: made thread-safe
...
Since this class is regularly accessed by multiple threads, it makes the
most sense to make all of its functions thread-safe.
2020-06-03 03:38:28 +10:00
itsmattkc
11bfe61208
cache: began base implementation of "shifting" the cache
...
Should be a fairly important optimization to make.
2020-06-02 01:38:12 +10:00
itsmattkc
89ae6e026f
cache: reimplemented auto-caching
...
Implemented a smarter auto-cache that's context sensitive. Caching will
automatically pause when playback begins or values are being changed and resume
when inactive.
2020-05-24 15:20:35 +10:00
itsmattkc
34fade9d81
cache: attempt to automatically re-match hashes on invalidate
...
This code is slow and unoptimized. Will require some more work.
2020-05-21 16:49:02 +10:00
itsmattkc
53a2956350
cache: added cache task that can be manually invoked
2020-05-15 18:36:02 +10:00
itsmattkc
863ae1b913
a first attempt at a new render system
2020-05-14 14:43:03 +10:00