Quartz Crystal / Render Statistics

Hi, i a future version, would it be possible to add some render stats (realtime display during render)

Such as: - elapsed time - time remaining (estimated) - last frame render time - average frame render time

It would nicely mimic professional renderers (like AFX or Combustion) and provide useful info (esp. time remaining)

Thanks a lot

cwright's picture
avoidance

I've avoided estimating time remaining simply because the composition's time per frame can vary wildly, and having the time remaining keep counting up is frustrating to users who don't realize that. (Granted, not having any time remaining is frustrating to all users).

I'd love to add these features though -- could you write a brief description of what each field would mean? Adding them in would be simple enough.

franz's picture
description :

  • Elapsed time : amount of time elapsed since render job started
  • Time remaining : amount of time remaining before render job is completed. Typically "number of frames to render" * "average frame render time"
  • Last frame time : amount of time taken to render the latest frame ( usually with millisecond precision)
  • Average frame time : Elapsed time / Total frames already rendered

cwright's picture
cool, thanks!

cool, I'll check that out.

(sorry for being verbose requesting the values -- most were pretty simple, but I wanted to make sure since I'm not familiar with some of them -- Last Frame Time is new to me).

psonice's picture
render stats = good

I'd appreciate this greatly too, especially 'time remaining'.

I know it's not going to be reliable (i did a composition once that went from ~30fps at the start to ~8spf by the end..) but for most things it at least tells you if you should check your email or turn the screen off and come back in the morning.

gtoledo3's picture
Number of frames remaining

Number of frames remaining would be cool I guess. Average will wildly fluctuate, and it seems like it would be making the computer do a lot of needless calcs.

I personally find it all unneeded, and just hope that if that is added that it doesn't bog down the system. Or if it does, it could be disabled through preferences or something.

cwright's picture
threads and flops

the calculations would only be performed once per rendered image (or less, if the renderer generates more than 1 frame per UI update). The calculations would also take place in the UI process, not the Renderer, so rendering wouldn't get modified at all (and it would spread across multiple cores if present).

That said, even if all these calcs took place in the renderer, you'd need an Intel Engineer to be able to spot the performance impact. It boils down to a handful of integer adds/subtracts (half a nanosecond apiece), and maybe 6 floating point multiplies/divides (1-5 nanoseconds apiece). So, if you rendered a billion frames, it would take a couple seconds longer. Math like this is ridiculously cheap, really. (Kineme3D performs several hundred thousand/maybe a million floating point calculations per second (including trig, which are particularly slow), and it's still usable.

I've spent more time writing this reply than every QuartzCrystal User's computer would spend doing these calculations if they started rendering now, and rendered for the next hundred years non-stop.[citation needed]

gtoledo3's picture
That kind of delay is

That kind of delay is totally unacceptable (appalling). I would have to render for the next hundred years non stop? (I only read the last few words).

...joking.

"So four Intel Engineers walk into a bar, and have to screw in a lightbulb..."

dimitre's picture
Re: avoidance

I understand this kind of avoidance, I am used with "less than a minute" message for some minutes, but it would be nice to have an estimated time too. yesterday I rendered about 10 minutes videos and rendering pace was very regular. it would be nice to have an estimated time there

cwright's picture
Re: avoidance

I'm working on a 1.4 beta (in my spare time, which is negative lately due to a zillion other projects), and I'll try to include this as well.