Developer Meeting Notes

Why would this slow down linked librarys?

The commit log says file loading (decompression) is not multithreaded. But I may be wrong, maybe the algorithm is much faster and the fact that decompression is singlethreaded doesn’t actually slow it down much.

Currently it’s not threaded also.

According to this loading times are less affected than before.
obraz
obraz

Also do you really compress your library files? Does people actually use compression on regular non-archived files?

2 Likes

You’re right performance seems to be always better… I love when there’s no tradeoff !

I always compress but that’s because I have a habit of creating many incremental saves.

3 Likes

Yes I do, wish it was on by default TBH.

Does compression affect autosave performance? are there any lags during autosave?

I never use compression myself, i compress backups with rar from time to time. Uncompressed files are faster and more reliable.

That’s basically what Blender does when saving compressed files, not the same scheme but resulting file size should be equivalent (I could be mistaken of course).

Announcements

Corrective Blender 2.91.1 Release

It is schedule for this Wednesday 13th. Jeroen Bakker will handle the release, in coordination with Dalai Felinto.

The list of commits is growing a little bit too much… Probably needs some review pass?

Blender 2.92

BCon3 for 2.92 release should happen this week on Wednesday 13th. Dalai Felinto will go over the 2.92 tasks, but so far there are still a lot of open ones for features, missing icons, etc.

All developers are encouraged to go over the workboard and address or re-assign tasks to next 2.93 release (as a reminder, after BCon3 we should only have bug tasks tagged for 2.92).

Things like missing icons must be tackled, otherwise we’ll have to revert corresponding features.

Also Asset Browser and Geometry Nodes will need to be evaluated to check if they are ready. Dalai Felinto will coordinate final decisions there in next two days.

  • Julian Eisel would rather hide Assets Browser in the ‘experimental features’ for 2.92 release, it needs a lot more polishing, fixing, and even some design decisions may need to be re-evaluated.
  • Jacques Lucke notes that the Geometry Nodes sprint planning is postponed to Tuesday 12th. Status for 2.92 will be evaluated there.

Google Summer of Code 2021

Application for organizations opens on January 29th, but all developpers are already welcomed to update the ideas page .

New Features and Changes

Blender 2.92

Weekly Reports

Summary
10 Likes

Cycles

  • Optix SDK upgraded to 7.1 to increase max number of object instances.
  • High res renders performance regression: Brecht wasn’t sure if this was done for 2.92, Jeroen explained it was already fixed. (commit )
  • SSS Dwivedi sampling by Lukas: Brecht will review
  • Point cloud: Brecht asks for help with OptiX implementation, Patrick will check
  • OptiX curve primitive: recent OptiX changes are expected to make the shape match the Cycles native primitive more closely, if so then this can then be enabled by Patrick soon
  • Brecht proposes to disable branched path tracing for the GPU since it has poor performance and timeouts, the algorithm was never suitable for the GPU. Code review will be submitted, needs a bit more analysis to check if this is ok. Would significantly simply OpenCL split kernel and in general make it easier to do refactoring for GPU rendering optimizations.
  • Baking workflow: initial design doc created (task )

Eevee

  • AMD Polaris normals bug
    • Jeroen implemented a workaround in 2.92. Expected to be backported to 2.83 LTS and 2.91
    • Thomas reports AMD is in the process of narrowing down where in the driver stack this bug is.

Render Pipeline

  • Cryptomatte metadata is now preserved with the compositor file output node (commit)
15 Likes

Cmon. Lets not break what already works before having better solution. While branched is somehow slower, it most certainly has better sample distribution and final quality. In complex scenes, in some cases path tracing does not resolve at all, even after increasing samples by magnitude. Not mentioning fireflies and clamping. If you set high clamping values (10+) then you get fireflies and have to have significantly more samples. If you set clamping too low, then you’ll get much darker regions than you expect and much more unrealistic result. Only with branched i could get good quality image without fireflies and without artifacts in reasonable time (on gpu+cpu). It certainly isn’t perfect but lets have some working solution until scraping it, please.

5 Likes

Announcements

  • The modeling module now has it’s own chat-room: #modeling-module .
  • Tuesday Talks - (placeholder link for the upcoming meeting)
  • Google Summer of Code 2021 big new changes
    • Time and stipend were decreased by half.
    • The ideas page needs to be updated to reflect that.
  • Metin Seven is a new grant recipient as a technical artists
    • Helping with a viscosity sample file.
    • Will help with the asset bundle.
  • The Blender manual will follow the branching strategy of the main code :
    • The release branch will happen during the bcon3.
    • Trunk (i.e., svn master) will be open for the new release right from the bcon1.
    • Change will happen throughout this week.

Blender 2.92

  • The 2.92 release entered beta (bcon3) last week.
  • Asset browser was postponsed to 2.93
  • XR input patches by Peter Kim were postponed to 2.93
    • Julien Eisel started to review them though.
  • The meeting went into a discussion of how some things were rushed in the last minute and the stress that this produced.

New Features and Changes

Blender 2.92

Geometry Nodes

  • New Point Translate and Point Scale nodes (commit ) (Hans Goudey)
  • New Align Rotation to Vector node (commit ) (Jacques Lucke)
  • New Attribute Vector Math node (commit ) (Hans Goudey)
  • Point Distribution node: align points to face normals (commit ) (Hans Goudey)
  • Point Distribution node: support 3D distribution, improve performance (commit ) (Jacques Lucke)
  • Point Distribution node: transfer corner and point attributes (commit ) (Jacques Lucke)
  • Object Info node: transform geometry into local space (commit ) (Jacques Lucke)
  • Attribute Color Ramp node: output color (commit ) (Jacques Lucke)
  • Support exposing object and collection sockets in groups (commit ) (Hans Goudey)
  • Support accessing UV layers with attribute system (commit ) (commit ) (Jacques Lucke)
  • Renaming of nodes and sockets for consistency (commit ) (commit ) (Hans Goudey)

Other

  • Asset Browser
    • This feature is no longer part of the 2.92 release, aimed to be in 2.93 instead. (commit ) (Julian Eisel)
  • User Interface
    • Improve group socket list UI (commit ) (Hans Goudey)
    • Reorganize motion tracking menus (commit ) (Aaron Carlisle)
  • Compositor
    • Save as Render color management option for the file output node (commit ) (Robert Guetzkow)
  • Cycles
    • Upgrade to OptiX 7.1, NVIDIA driver version 450 or new is now required (commit ) (Brecht Van Lommel)
  • Cloth:
    • Add a vertex group setting to exclude from object collision. (commit ) (Alexander Gavrilov)

Blender 2.93

  • Modeling
    • Add Object Tool (Campbell Barton)
    • Geodesic distances for proportional edit connected mode (commit ) (Brecht Van Lommel)
  • Grease Pencil
    • Transform settings for layers (commit ) (Antonio Vazquez)
    • Noise modifier: add noise offset setting (commit ) (Cody Winchester)
  • Performance
    • Improve read performance for uncompressed .blend files (commit ) (Lukas Stockner)

Weekly Reports

Summary
10 Likes

Yep there was quite some stress when undo didnt work in a new 2.92 beta build…

That these kind of regressions happen is why they are called beta builds.

If you use buildbot builds for your work, you really should not rush to delete earlier ones when a new one is downloaded (at least if you value your ability to produce).

1 Like

I build blender i usually everything is fine. I have the steam version as a backup… It was mentioned in the meeting notes thats why i said it. Can happen in a beta but was the first time i caught it and pretty fast there where like 4 reports with undo broken.

Modeling

Participant: Campbell Barton.

  • Focusing on polishing add-object and face off-center selection

Python

  • Compatibility changes has only a “placeholder” at the moment.
  • Campbell just removed it

User Interface

Participant: Julian Eisel.

  • Sculpting icons done in time, congratulations.
  • Add-object tool could use a review for its cursor.
  • Metin Seven to help asset bundle, needs coordination by the module.
  • There are two in progress documents (2021 plans and a design guideline)
    • Julian to share with Dalai for early feedback.
    • Christian Bun (Blender Institute writer) to be involved for a final pass later.
  • Asset manager will be on by default in the experimental features panel.

Sculpt, Paint, Texture

Participant: Pablo Dobarro.

  • Joe Eagar finished his work in the dyntopo next step is clean up
    • The patch still needs to be split for review
    • There will likely still need to be adjustments
    • Pablo will get an update on that
  • Pablo will write a document with limitations of multi-res
    • A discussions can be scheduled afterwards
  • EEVEE sculpting for 3.0
    • Dalai suggested Pablo to create a new branch for sculpting to handle UV and tangent data
    • Then the draw manager team can work on the API to populate only the required data into the batches.

Animation & Rigging

Participant: Sybren Stüvel.

  • Poselibs updates:
    • The idea is to create a datablock for each pose (contrary to currently in Blender, where one datablock holds multiple poses)
    • This makes poses to work as presets, since they are detached from their original Action
    • This is compatible with the current asset browser design, where a datablock is seen as a single asset
  • Asset browser
    • Tags or categories improvements required for the poselib system
    • Sybren is working in mockups and will present a proposal for that next week
  • NLA release notes are big blocks of text at the moment.

VFX & Video

Participant: Richard Antalík.

  • The next step in the VSE project is performance
    • For 2.92 some performance patches were merged
    • The main performance related improvements are aimed at 2.93
  • Richard will update D9414 to get better performance testing feedback

Data, Assets & I/O

Participant: Bastien Montagne.

  • Undo patch is ongoing
    • Review is hindering its progress
    • Target is 2.93
  • Override is trying to get syncing to happen automatically
  • USD needs some attention if it will be a 2.93 target

Grease Pencil

Participant: Antonio Vazquez.

  • PDF export coming to 2.93 - Ray Molenkam is helping reviewing D9928
  • Interpolation improvements
    • Control which curves interpolate into which ones
    • Work is happening in a branch
  • Fill improvements
    • Tool to use automatically fill inside Silhouettes
    • Multi-frame filling
  • Bezier Curve “native” stroke
    • Support for bezier curve drawing
    • Edit mode to support editing both of points and curves at the same time
    • Final design to be discussed tomorrow with Falk David

Nodes & Physics

Meeting didn’t happen.

Rendering

The rendering topics are handled in a separate meeting that includes the Cycles and EEVEE modules.

Notes

Cycles

  • Brecht plans to mainly focusing on bugfixing in the next two weeks.
  • Kévin will commit his faster updates patch, and Brecht will review the Alembic and API encapsulation patches.
  • OptiX curve primitive: it will still take a while to enable this, since it we’ll only have the more compatible shape in the next OptiX release which is not out yet. Unlikely to be in 2.93.
  • NanoVDB OpenCL is using double precision data types without checking for the extension, which breaks Intel OpenCL. Fix is under review.
  • SSS Dwivedi sampling patch was accepted, ready to be committed.
  • Point cloud primitive patch has a performance regression on CUDA and OptiX, Brecht will need to investigate and look for a fix before committing.

Eevee

  • Vulkan is expected to be the main focus for 2.93 development, not major other plans to mention at this point.

Render Pipeline

  • OpenColorIO upgrade to 2.0 is planned for 2.93 to match the VFX reference platform. Jeroen will resume work on this porting likely in a few weeks from now, still plenty of time to finish this.
8 Likes

Announcements

  • Julian worked on an article for UI module planning for 2021 and on.
    • The team went through it in the meeting. No immediate objections it seems, but needs more review and work before publishing.
    • All this is high level planning, not a specific feature roadmap.
  • Julian also worked on a “Blender Design Manifesto”.
    • Tries to explain key values of the UI module team with regards to user experience and usability.
    • Wasn’t covered in the meeting, but shared with the team afterwards.
    • Also needs more review and work before publishing.
  • In future we might do the meetings a bit different.
    • Keep the weekly UI meetings general, do topic specific ones as needed (e.g. Asset Browser).
    • Invite regular contributors to meetings. (We want to give them more responsibilities and include them better.)

2.92 Release

  • Node socket colors
    • Yellow float sockets will be changed back to grey for the release.
  • Data-block selector design changes
    • We have a design (and most code) ready to bring user count and fake user back.
    • However, some new ideas were proposed and a different design proposal prepared. (T84669)
      Screenshot 2021-01-08 at 02.26.25
    • It’s too late to do this in 2.92 and we shouldn’t change design twice in consecutive releases.
    • Decision: Revert to old design for the release, work on the newest one for 2.92.
      • Decision: Revert to old design for the release, work on the newest one for 2.93.
  • Ctrl+G behavior (D10042: Change operators to add new “group” collections to the scene)
    • Currently creates a collection but doesn’t link it to the scene. This is confusing, it looks like nothing happened.
    • Blender doesn’t have a grouping system similar to other apps. 2.8 design is to use collections for that (objects can be in multiple collections).
    • Longer term, real grouping would be a good goal.
    • For now we can try to meet user expectations as close as possible, but there will still be issues.
  • Asset Browser
    • Was disabled for the 2.92 release. Reasons: Not enough time to polish, design decisions need re-evaluation.
    • Master will have it as experimental feature still.
    • Feature complete milestone 1 is now a 2.93 target.

2.93 Release

  • Asset Browser
    • Important 2.93 target: Built-in asset library (T55239: Built-In Assets)
    • UI team thinks being able to add an asset to an external library is important to support.
      • Some people involved with the Asset Browser project didn’t want to make this part of the design. For understandable reasons - but these can be addressed.
    • Needs reevaluation: What is our definition of an asset?
      • Currently, data-blocks have to be explicitly marked as asset. Isn’t that mixing the definition of what an asset is with the action of making it public to other Asset Browsers?
      • The latter should still be an explicit action so users have control over which data-blocks are available for simple browsing.
      • Users may be confused by “Mark Asset”. For them all data-blocks or other data may be considered an asset.
      • Should “Mark Asset” be something like “Publish”, or “Promote”?
      • Another proposal: Only consider data-blocks as public assets if they are part of an asset library. “Mark Asset” would then become “Add to Asset Library” with a choice between available libraries, including the “Current File” one.
      • To be discussed further.
    • Categories need reevaluation
      • Some categories don’t make much sense. They were simply taken from the existing filter options for link/append.
      • A suggestion was made to remove categories and have a good filtering system instead.
      • But a better filtering system is planned anyway, that can work well together with the categories. Especially for big asset libraries, a top-level categorization will be important.
      • Node trees are an issue: We need a way to differentiate the types of node trees, currently they all show up under “Shading”.
    • Some remaining tasks can be picked up by contributors.
      • For example: Adding drag & drop for assets all over Blender (e.g. dragging image into compositor, dragging sound into VSE, …)

Since the Last Meeting / Announcements

  • As decided in the previous meeting, this meeting will only focus on the short-term goals; other agenda items can be proposed in the #animation-module channel before the meeting starts.
  • Sybren is working on a new Pose Library system based on the Asset Browser, together with Francesco Siddi and Julian Eisel. He will give a short presentation of the ideas & work so far.
    • Rik: Add a choice to apply the pose to selected bones only, or to all bones in the pose.
    • There was a little discussion about workflows with Auto Keyframing OFF. Bassam suggested an addition to the keyframe menu, to add the selected Pose as a keying set, i.e. have the “Insert Key” operator only key those bones that are part of the Pose currently selected in the Pose Library.
    • Sybren suggested using pose library poses as selection sets.
    • Bassam: pop up poses in the 3D view, where animators are using it. This is already on the radar for the Asset Browser, also for other asset types.

Short-term goals

  • T83068: Motion Paths: Refresh all
    • Bassam: The idea is good, but might be slow when having many motion paths to update.
    • Could be turned into TODO task. Sybren will mark T43104: fcurve modifier scaling oddity as a bug to make space; Bassam tested it during the meeting and confirmed it still happens, and all present agreed it’s buggy behaviour rather than just a known limitation.
  • T84520: Confusing Symmetry settings in Weight Painting
    • Pablo Dobarro’s proposal (complete split between painting modes) is probably more work than necessary.
    • Jan-Willem: maybe a new weight paint mode especially for rigging? Could also have impact on auto-normalization of weights. Bassam gave a counter-example of weight painting for shapekeys, where normalization is also very important.
    • Demeter & Bassam: just use vertex group symmetry ON when mesh symmetry is ON. Demeter will post a comment about this on the task.
    • Bassam proposed an additional solution: a new checkbox “Use Group Names For Symmetry” that defaults to ON. This could be added later, on top of Demeter’s propopsal.
    • Juan Pablo describes workflow where he wants symmetry ON in weight paint mode, but OFF when editing the shape in edit mode. Still has to toggle the symmetry options every time mode switches.
    • Bassam: you may want to have a symmetrical mesh but with asymmetrical texture painting.
    • The suggestion by Juan Pablo, Demeter, and Jan-Willem: turn the “syncing” of the symmetry options between modes a user preference.
  • T57003: Copy visual pose and paste over frame range

Help Needed

7 Likes

I glanced over this patch, and I don’t know if this is nVidia specific or not. Anyone knows?

2 Likes

This should automatically create an empty and make the selected items children of that empty.

It would be beneficial to new users to stop using “Empty” and start using “Locator” or another term used by another popular industry standard program.

There needs to be a new Empty type that is cube shaped and automatically resizes itself to encompass the bounding boxes of all of its children.

There should be a view mode or filter option in the Outliner to not display collections while only displaying items that have children. This should satisfy most people looking to work in a purely 3d hierarchical mindset without having to think about all the other things Collections do.

People want to be able to select a single thing and know that transforms on that thing will effect all children as a group. I’m a little familiar with Maya and liked how there were “group”…things… in the outliner but I disliked how there was no visual representation of that thing in 3d space. That’s what I propose the visual representation of the Empty encompassing all of its children’s bounding boxes.

They had better not remove the ability to have an object in multiple collections. I love that. In very complex scenes created by someone else I can make a new set of collections and treat the scene as a database for easily finding things all over the place while leaving the original collections untouched.

Collections are not like folders on a hard drive. It is more like tagging in a database system.

I can tag a photo in my photo gallery software as: me, mom, dad, brother, dog, outdoors, summer, river, barbecue, 2007, july, vacation, etc.

I can tag a single light via collections in Blender as: point lights, indoor lights, colored lights, cool lights, practical lights, christmas tree lights, non-blinking lights, instanced lights, parented-to-curve-point lights, etc.

5 Likes