Page MenuHome

Sequencer: Scene Strip Performance
ClosedPublic

Authored by Jeroen Bakker (jbakker) on Apr 25 2019, 4:48 PM.

Details

Summary
  • Merged SEQ_OFSDRAW with V3D_OFSDRAW and define in the DNA_view3d_types: Due to this FSAA always kicked in making the rendering slow.
  • Removed Texture Solid and DOF.
  • Now when chosing Solid rendering the settings of the original scene is used.
  • Added a global override to use scene specific shading. In the Future we will need to enhanced this so user can change the settings.
  • Added support for LookDev. LookDev crashed as it needed the evil_C what was not set
  • LookDev mode will always show the scene + world lights.

Diff Detail

Repository
rB Blender
Branch
T62517 (branched from master)
Build Status
Buildable 3429
Build 3429: arc lint + arc unit

Event Timeline

Jeroen Bakker (jbakker) retitled this revision from Sequencer: Scene Strip Performance to Sequencer: Scene Strip Performance (WIP).Apr 25 2019, 4:49 PM
Brecht Van Lommel (brecht) added inline comments.
source/blender/makesrna/intern/rna_scene.c
6184–6188

If anything the equivalent would be to show the active texture. But really I would just remove this property.

Textured Solid happened to be just one useful setting that was exposed, but we now have many more and picking some arbitrary subset for the sequencer strip seems wrong.

The simple solution would be to use the workbench settings from the scene, there users can have fine control over how they want their preview to be rendered.

The limitation then is that you can't have the same scene with different settings in different strips. If that turns out to be useful, we can always add the full workbench shading settings to the scene strip, that's quite doable. But I would wait with that until it becomes clear there is actually a need for it.

Removed unused code

source/blender/makesrna/intern/rna_scene.c
6184–6188

Thanks for the feedback. I am planning for a small overhaul of this section next week was also looking in other options like storing the shading settings in the space.

Also seemed that the sequencer does fsaa in the cpu (legacy) and on the gpu (draw manager). My goal is to clean this part up with not too much dev time.

And then move to the rendering regressions which will also solve the rendering regression.

source/blender/blenkernel/BKE_sequencer.h
504

Merge strict with v3d

source/blender/makesrna/intern/rna_scene.c
6184–6188

Shading options should be stored in the sequence part of the scene. Perhaps discuss if we want to store it in the scene where the sequencer is stored. (currently it is stored in the scene of the scene strip, that leads to limited use)

@Jeroen Bakker (jbakker) Thanks for looking into this. I was planning to do this, but at best I would come with some dirty workaround...

I may comment to scene strip "settings". IMO as Brecht said, we can not really control whole workbench from sequencer. I am not sure how complex those settings could be, as I don't use 3D modelling at all.

I use kinda similar app, that uses "representations" which describe look of objects, and subsets of that app are allowed to use those representations. Not sure if this is applicable here though.

I use kinda similar app, that uses "representations" which describe look of objects, and subsets of that app are allowed to use those representations. Not sure if this is applicable here though.

Linkable render settings would be convenient in quite a few cases, especially combined with overrides. It's too big of a change a to do now though.

source/blender/makesrna/intern/rna_scene.c
6184–6188

Not sure what you mean by storing shading options in the sequence part of the scene?

If you're saying we can use the workbench / Eevee settings from the scene containing the sequencer strips, that would make some sense. It would be quite convenient to control the look of all scene strips in one central place.

In some cases you might want more control, but it would be quite convenient to have that option for things like animatics.

source/blender/makesrna/intern/rna_scene.c
6184–6188

Yes, that was what I meant. So in scene (A) that contains the sequencer strip; the strip references scene (B), we store the settings in Scene A. Details I still need to figure out.

Still need to test Cycles and final rendering

Harbormaster completed remote builds in B3459: Diff 14992.
Jeroen Bakker (jbakker) marked 2 inline comments as done.Apr 30 2019, 1:03 PM
Jeroen Bakker (jbakker) retitled this revision from Sequencer: Scene Strip Performance (WIP) to Sequencer: Scene Strip Performance.Apr 30 2019, 1:04 PM
release/scripts/startup/bl_ui/space_sequencer.py
1243

Hide instead of gray out these settings when not in SOLID or WIREFRAME. That's the UI convention for settings that only apply to certain enum values.

source/blender/editors/space_view3d/view3d_draw.c
1860–1864

I thought the way this would work would be to do memcpy(&v3d.shading, &scene->display.shading, sizeof(View3DShading)); with a different scene pointer?

source/blender/makesrna/intern/rna_scene.c
6194

Then the description could be: "Use workbench render settings from the sequencer scene, instead of each individual scene used in the strip"

Looks good to me

Jeroen Bakker (jbakker) marked 2 inline comments as done.Apr 30 2019, 1:46 PM
Jeroen Bakker (jbakker) updated this revision to Diff 14998.

Code review comments

This revision is now accepted and ready to land.Apr 30 2019, 1:54 PM
This revision was automatically updated to reflect the committed changes.