ubisoft / shotmanager

Shot Manager is a Blender add-on that introduces a true shot entity in Blender scenes, as well as a wide and powerful set of tools to build and edit sequences in real-time directly in the 3D context.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Very slow shot switching in Cycles, but camera cycling outside SM is fine

tonpix opened this issue · comments

Infos on the context

  • Add-on version: 2.0.102
  • Blender version, from installer or from zip: 3.2.1 installer and 3.3 beta from blender-launcher (probably zip)
  • Blender was launched in Admin mode? Yes
  • OS: Windows 10
  • Bug was also on previous versions (I don't know / No / Yes, seen on version x.x): I don't know

Describe the bug
Basically "out of nowhere" cycling through shots inside SM is now laggy (as in, when I click on any shot on SM list, there's a delay and Cycles keeps flashing 'updating/BVH/kernels', which, if my memory serves well, wasn't happening when I poked at project last time (~1 week ago). When I'm using some old addon for cycling camera (https://github.com/jomachim/Cycle-cameras), camera changes instantly pretty much, just like SM used to. I have no idea why, tried troubleshooting for 2 hours, but couldn't get repro steps.

There's a video demo: https://files.catbox.moe/tzere4.mp4

In this, I have 3 cameras/shots. First, I'm cycling camera using addon (not SM, different one from link above)+hotkey - it does the job instantly.
Then I'm clicking on shots on SM list and you can see visible delay + Cycles keeps updating stuff, which I think it shouldn't happen - no changes to scene/lights and it, I believe, used to just reset sampling.
Then I'm back to switching cameras using other addon.

To Reproduce
Steps to reproduce the behavior:
You're going to hate it, I can't get repro steps :)

Expected behavior
Instant shot/camera switching from SM panel.

Additional context
Obviously something had to change in meantime between now and last time when I poked at project and SM was behaving fine. But I can't remember at all, nor figure out by trials/error method. I need some directions/hints to try out :(

But to sum up problem, for some reason when I'm clicking on shot on SM list, it first gives a short ~0.5s delay, then Cycles starts flashing some text about updating, noticed updating meshes/lights/BVH/kernels (although I haven't done any changes as you can see on video, just toggling cameras/shots). On solid view and eevee, it doesn't happen at all, although I'm not sure if it's helpful.

Tried blender factory reset -> install SM addon -> load .blend project fiel without UI, no changes as well.

EDIT: Forgot to mention, but you can see SM flashing different view/zoom when toggling between 2 shots, it's something I can see pretty much on all shot toggles.

I think I noticed a pattern in what's being flashed when toggling between 2 shots.

If shot1 has 50mm focal and shot2 has 100mm focal, then:

If you're currently on shot1 (50) and click on shot2 on SM list, what happens is:

Cycles updating stuff/kernels (0.5-1 second) -> shot1 gets a new focal of shot2 (50->100) and Cycles starts resampling briefly -> camera gets changed to shot2 -> Cycles starts sampling again

Seems for some reason that shot isn't switched instantly (shot1 changes camera focal, Cycles doing updating/kernels, then shot2 appears)

EDIT: A quick question - when you click on any shot on SM list, is it supposed to move timeline to first frame of clicked shot? Can't remember is SM used to keep timeline untouched (as in, if timeline is set on fram e.g. 76, it wouldn't change no matter what shots are toggled. Currently it gets moved to first frame of selected shot, happens in both Standard/Shots Play Modes)

Hi @tonpix
Thank you for submitting this, hum, weird, behavior.
Your use case is interesting since it is the first time I see SM used with Cycle directly into the viewport. SM is rather made for previz and real-time opengl preview.
I don't really know how to approach your issue at the moment, since in its implementation SM is as light footprint as possible. It doesn't interfere with rendering when playing or in the viewport, it relies on the scene settings.
I'll try to do a deeper investigation next week, after Siggraph. In the meantime let me know if you find something that could give some more light on it.

One more thing though: I see you mentioned using the Admin mode for Blender.
This mode is for the installation only. Once the installation is done - and the Python dependencies installed - you have to launch it again in normal mode.
Admin mode has many restrictions and can strongly affect your performances.

Actually there's light - confirmation just got in few hours ago from blender dev. Basically a bug and unrelated to SM, sorry!

Long story short, bug is funny, but I had a texture node in some material that had hidden Auto Refresh enabled and to see it, node had to switch from Single Image to Image Sequence and switch to off. For bugged reason, Single Image mode playback performance was still affected by enabled Auto Refresh, as if it was Image Sequence, when it shouldn't. More info at https://developer.blender.org/T100106 if you're curious.

Sorry for distraction, thanks for intention :)

As for Cycles + SM, you're right - it's unusual and inefficient. But sometimes I do a quick check how camera plays with some shots that have difficult materials that aren't playing well in solid/eevee view modes (like glass/translucent paper/leaf materials). The short I'm working on is realistic/cinematographic/archviz type.

Thanks for tidbit about admin mode, wasn't aware about possible performance limitations.