Code Monkey home page Code Monkey logo

Comments (10)

ggarra13 avatar ggarra13 commented on June 15, 2024 1

@SteffenDuenner In current HEAD of main, there's a new Cache/Gigabyte setting in the Settings Panel. When set to a number other than 0, it will use that number to automatically calculate the Read Ahead / Read Behind based on video resolution, bit depth, FPS and active videos (wipes, etc).
Since you compile mrv2 yourself, can you give it a go and let me know you think.

from mrv2.

ggarra13 avatar ggarra13 commented on June 15, 2024 1

No, the issue is that I was calculating everything as it was RGB, while most movies are YUV. I talked to @darbyjohnston and he pointed me to a function of his that should give better size estimates.
I updated main again. Give it a try and let me know how it goes.

from mrv2.

SteffenDuenner avatar SteffenDuenner commented on June 15, 2024

This would be awesome.
Additionally, a "percentage of physical RAM" and an option to "leave at least ...MB" free. :)

Just like this:
image

from mrv2.

SteffenDuenner avatar SteffenDuenner commented on June 15, 2024

Great! This sounds like a very smart feature. I'll report back as soon as I have access to my workstation, hopefully tomorrow evening.

from mrv2.

SteffenDuenner avatar SteffenDuenner commented on June 15, 2024

I'm finally back and compiled the latest main.
What a nice new feature! With the footage I tested the cache filled up quickly and the cached images were properly kept in memory. I only noticed with a larger sequence that despite my setting of 50GB mrv2 used 60GB. No crashes though.

BTW when I first used mrv2 a few weeks ago, coming from mrviewer I was looking for the cache options in the preferences. Took me a while to notice the panels...

from mrv2.

ggarra13 avatar ggarra13 commented on June 15, 2024

@SteffenDuenner Yes, the caching works for images and it does not take audio into account, so you can exceed it, more so with .otio movies You shouldn't set it to your actual maximum memory but something less, like 3/4 of your max mem.

from mrv2.

ggarra13 avatar ggarra13 commented on June 15, 2024

@SteffenDuenner I updated mrv2's GB cache again in the repository, as I realized that it was over-allocating the seconds read ahead by 5 times. That's why you were getting mrv2 to use 60GB, instead of 50GB. Now it is much more conservative (perhaps too much). Also, now it takes into account audio, too. Give it a try and report back how it works for you.

from mrv2.

SteffenDuenner avatar SteffenDuenner commented on June 15, 2024

Thanks for the update. I just gave it a try and now it looks like the amount of RAM cache that actually gets used is only 1/5 of the size I set. So for example if I set it to 50GB mrv2 only caches 10, if I set it to 62GB I only get get around 12,5.
So now it looks like it's 5 times too conservative ;)

EDIT: Now with another file (Prores without audio), the cache size looks alright. The file I used before contained audio, maybe that's the reason?

EDIT2: And again another Sequence. EXR files with 2:1 pixel aspect ratio:

  • Cache size set to 5GB, actual used RAM 2,3GB.
  • Cache set to 10GB actual size 4,5GB.

I'm still trying to find a "rule" with all this.

from mrv2.

SteffenDuenner avatar SteffenDuenner commented on June 15, 2024

While playing around with caching I thought it would be pointless to just throw numbers at you. Sadly I can't upload the sequences I use currently (copyright bla) so I quickly created and uploaded a simple EXR sequence (1000 frames, 4608x3164 pixels resolution, pixel aspect 2:1, DWAB compression). It's just a simple white circle randomly flying around:
https://1drv.ms/u/s!AlOpRG0iPvzdhKMZuZBy9KfbkZYk6w?e=6hXCI9

This sequence can completely fill my 64GB of RAM, so I have something to do some more serious testing with. I'll also use this sequence for a different bug report I'm currently working on ;)

With this sequence if I set my max cache size to 50GB I get around 27GB max. If I set it to 5GB max -> 3,3GB. 10GB max -> 6GB.

from mrv2.

SteffenDuenner avatar SteffenDuenner commented on June 15, 2024

Ah! After some testing this latest version feels much more predictable. Nice!

from mrv2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.