Author Topic: flythrough dropped sampling frames and strong GI flicker  (Read 5246 times)

2017-07-31, 10:40:54

Rhodesy

  • Active Users
  • **
  • Posts: 553
    • View Profile
I set a flythrough (camera move only) animation away over the weekend and it has just finished in time. Generally Im happy with the noise and look of it and finished in a reasonable time although some frames were taking 45 mins to render. But there are two major issues. (Latest beta with new sampler). I have also posted this in the I need help section as it might be user error but Im at a loss if it is.

1. I set the cut off to be by noise level (5%) for consistent results but whilst for the most part this worked well I am getting some dropped frames in terms of sampling where the render time would drop by 50% and there is a noisy frame which really jumps out. I think this can be fixable by manually trawling for each frame and re-rendering those ones - its probably about 1 in every 100 or so. No reason I can think of and the culprit frames were on different PCs and the sequence will have been on the same PC as I had to manually assign chunks of frames and not use TR.

2. Most problematic is I have very strong GI flickering on some of the surfaces - think incorrectly set up Vray of 5 years ago. I have set my GI method to animation (non flicker) with precision set to default one. All GI and other settings are default. I just changed the GI method and pressed render. I do have bloom and glare in the scene which I would like to keep in. Not sure if its related to that but I thought GI splotching wasn't even possible with corona?? Not sure how I would avoid this in the future as there are no settings to tweak for flickering as far as im aware. Also checked for double faces and thats not an issue.

Unfortunately I cant post the results but might send it in to the brains. If anyone has got any ideas on what I can change for next time that would be helpful.
Thanks

2017-07-31, 11:02:50
Reply #1

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12754
  • Marcin
    • View Profile
Hi, did you use denoising here? It can sometimes cause flickering similar to uhd cache flickering, if there was too much noise for the denoising to handle efficiently.
Otherwise, if it's just a fly-through animation with no moving lights or objects, you could save the uhd cache precomputation and re-use it for all frames. Here is the 3ds Max article on this, and the settings are exactly the same in C4D: https://coronarenderer.freshdesk.com/support/solutions/articles/5000515648
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2017-07-31, 11:32:37
Reply #2

Rhodesy

  • Active Users
  • **
  • Posts: 553
    • View Profile
Thanks Maru. I did use denoising but only at 0.4 and a noise cut off of 5% so that should hopefully be in the realms of useability of the denoiser. Its also just on some objects and not others which is odd. It looks like the effect you would get if there were double objects flicking from one to the other every frame. Im going to upload the results to the uploader so someone at HQ can see.

Good tip on the save / load UHD. I thought it would be most accurate if it was additive each frame but I will give that a go this morning as there is some strong flickering early on so I should know within 10-20 frames or so. Not sure what I would do if it had animated objects though.

Cheers

2017-07-31, 12:29:28
Reply #3

Rhodesy

  • Active Users
  • **
  • Posts: 553
    • View Profile
I have it rendering now so we will see. Just checking I have done it right. I set my frame range of 0-1000 and selected save UHD on render end. I then stopped it after the first frame and it saved an 800KB file to the chosed location to the UHD. Has that really calculated it for the whole scene and 1000 frames on the camera path? Remarkably quick light weight if it has.

A massive gripe of mine is the fact that c4d/corona has to generate and load the whole scene from scratch every frame which can take up to 6 mins in this scene. It seems like a huge waste of time just to have the camera move a few centimeters. Is this the same in the Max version? It just seems quite prehistoric compared to all the amazing tech crammed in to corona? 

2017-07-31, 12:47:47
Reply #4

Ludvik Koutny

  • VIP
  • Active Users
  • ***
  • Posts: 2557
  • Just another user
    • View Profile
    • My Portfolio
A few things that could help:

1, Stopping rendering by noise threshold instead of fixed passes count in Corona can lead to uneven noise amount from frame to frame. On next frame, some shading-heavy object can pop up, which was not present in previous frame, and adaptivity will focus all samples on it, resulting in more passes spent than on this frame than on previous one, and therefore amount of noise varying and flickering from frame to frame

To remove this problem out of equation, pick random frame from the animation which you think is most representative of average scene complexity, let it run with your desired noise level limit. Once limit is up and it stops rendering, note the amount of passes, set that amount of passes as pass limit and disable noise limit by setting it to 0.

2, Disabling "Lock sampling pattern" checkbox can result to extreme flickering if you use denoiser. Here is an example from Blender Cycles:
It is not Corona, but the basic point is the same, varying noise pattern from frame to frame will increase flickering significantly

3, If your scene has somehow complex lighting, default UHDcache precision of 1 may not be enough, even if UHDcache is set to animation mode. You may want to increase it to somewhere from 2 up to 4.

2017-07-31, 14:03:29
Reply #5

Rhodesy

  • Active Users
  • **
  • Posts: 553
    • View Profile
Thanks for the tips Rawalanche. I definitely agree on keeping the noise pattern locked - which I do. I know there are others on the forum who think disabling it is better but I just cant see the logic myself. If you are going to have noise id much rather have a fixed pattern like a film over the screen than a dancing sea of pixels. As it happens this scene is pretty clean from high frequency noise and the denoising is just at 0.4 to smooth out any pesky bits and take the edge off some of the high details which can jar without camera motion blur. The effect is more of large splotches over objects that were pretty clean in terms of noise so I dont think its over denoising in this case.

Ive created a gif of a crop where you can see the effect. Its happening in several places over the animation in some of the indirectly lit areas but not all. Its a boat sail flickering not a poly tri - just a plain white 70% albedo mat.

I thought I was on safe ground picking a consistent noise threshold which increases and decreases the pass number to get a consistent effect, and indeed the passes can range from 15 to 45. Ive been stung before where I have varying grain over the course of a camera move by using pass limit and not going long enough on the more shaded areas but equally its overkill for the easy areas.

One thing I have noticed is I need better AA - on some of the easy areas with less noise / indirect light the AA also gets cut short with the number of passes but the hard to clear shots with more passes also get better AA. So im a bit stuck. Should I reduce the GI vs AA multiplier to say 12?

The scene is just sun and sky so not complex but it did seem rather quick to calc the GI. It is one long camera crane move from far to near, does that sort of thing benefit from higher precision? I would imagine increasing the precision takes longer in that initial calc but does that have a knock on effect in the GI calc for every frame as its rendering?

Sorry for all the Qs and thanks for your help.

EDIT so far so good on the re-render 8 frames in and no flicker with saving the UHD. Im going to set some end frame off on anothre machine as there was some strong flickering there.

Also any ideas on the dropped sampling frames - the noise limit should definitely not been reached? I'll see how this batch renders.

 

« Last Edit: 2017-07-31, 14:08:54 by Rhodesy »

2017-07-31, 15:26:54
Reply #6

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12754
  • Marcin
    • View Profile
That gif looks like either uhd flicker, or overlapping geometry. Check if you don't have some overlapping polygons there.

After you save the uhd precomp, make sure to switch to "load from file", so that the cache will not be computed for each frame from scratch.

If the camera is moving, you can either save the precomputation from the middle of the animation, or use "load+append" solution, as described here: https://coronarenderer.freshdesk.com/support/solutions/articles/5000515648
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2017-07-31, 15:42:00
Reply #7

Rhodesy

  • Active Users
  • **
  • Posts: 553
    • View Profile
Thanks. Its defo not overlapping geometry - that was the first thing I checked as you are right it does have classic symptoms.

My tests with the UHD save are going well - Ive done some frames at the start and end and they look good, no flicker so far. So my next dilemma is that I just did the UHD save from the first frame and its a 1000 frame long move through a large scene but with simple lighting of just the sun and sky. I might look through and render some of the original problematic middle frames and see if they are OK with the presaved UHD. Will it just be flicker Im looking for or some sort of reduction in GI quality - which I imagine is hard to quantify?