@Ton @brecht @mont29 @sybren @jacqueslucke @GuidoMedici
Blender System Optimizer
Would it be possible to allow the user the ability to assign UI updates, and other such tasks to a device?
Such as, assigning UI updates to the internal GPU and/or CPU, and assign viewport rendering to the external GPU and visa versa?
Such features would allow the user;
- To create optimized (load balancing) profiles based upon their system hardware, workflow, workspace, and individual preferences.
- The process could be automated for less experienced users.
- Such profiles could be assigned to various workspaces, providing further optimizations.
There are many other factors eg. workspace settings that also effect performance.
Workspace Priorities Settings
A unified workspace priorities settings list, would allow the user to;
- Assign various levels of importance to each setting within a workspace from a single window.
- Save the user defined settings in an optimization profile.
- Assign or change optimization profiles for a workspace.
Various profiles could be created and used by the user depending on the workflow and workspace, allowing for further optimizations, and better performance.
Example:
A render time profile could be created to allow for added effects in the final render.
(Such features implementation would be similar to system over-clocking profiles used by various companies eg. Nvidia, AMD, etc.)
Imagine
Workspace Setting Profiles
- Creating various settings profiles and adding them to favorites, then using the pie menu to switch between the settings while prototyping.
Asset Management: Core Assets & Asset Profiles
- Using similar features to create various settings profiles for nodes eg. shaders, particle systems, etc., then using a pie menu or the asset manager to switch (override) just the settings of a node group. This would allow for core assets eg. the node tree, and asset profiles eg. node profile settings (overrides) to be created. Where the node tree isn’t replicated, and only the node profile settings (overrides) are saved.
In such as system, the ability to hide various inputs would be useful.
General Implementation
Core Asset: Creates a Core Asset ID linking the following;
- Operator (Node) IDs
Asset Profile: Creates an Asset Profile ID linking the following;
- Core Asset ID
- Operator Settings (User inputs)