Improving performance when dealing with MANY objects....

edited December 1969 in Bryce Discussion

I am having a significant problem working within Bryce as I am multi-replicating objects, and besides the very long wait time for the objects to duplicate, the performance speed once created has put Bryce to a near stand-still. I am sure that many users have had this problem, and there is probably a very quick trick/solution in this regards, but I do not know it!

For example: I am creating a wooden roller-coaster. If you can imagine it in wooden box frames, each of those are duplicated along X and Y to create a very large wooden Roller Coaster Grid.... Unfortunately, this creates a workspace that is near-unmanageable. Is there a trick that I can do, such as to select the whole of the roller coaster, and convert it to some type of object, boolean, or etc, in order to Bryce to speed up performance significantly? I can say with full confidence that it's not my computer (I have a brand new mac running Parallels, and I've devoted significant CPU speed and Graphics Rendering to the program and Parallels) and I imagine there is something I can do within Bryce to convert these objects into something that doesn't cause the program to virtually freeze up.... (especially after each trackball movement!)

Any advice would be greatly appreciated!

Thanks!

Comments

  • edited December 1969

    I should have added that I am working with the newest version (7.1) of Bryce.....


    Thanks again

  • srieschsriesch Posts: 1,973
    edited May 2013

    Make sure you change the priority to high to use all CPU cores. The default is normal, not high.

    There are also lots of render optimizations available depending on how and what you are rendering, which you may or may not be able to take advantage of. I'll let the experts in that area explain those though.

    screenshot,_bryce_priority.png
    378 x 271 - 48K
    Post edited by sriesch on
  • OroborosOroboros Posts: 326
    edited May 2013

    Hi Ryan,

    By 'performance', I'm guessing it's not render speed you're after, but development speed - building the scenes.

    Yes, there are several things you can try. Some boil down to scene organisation, some down to workflow, but all of them are about reducing the amount Bryce has to draw on screen while you're working - the more lines Bryce has to draw while you're rotating, tracking or moving objects in your scene, the slower the performance becomes. So all these tips are geared to reduce line-draw. Give a couple of these things a try and see how you get on.

    Global (Advanced Display Palette)
    Take a look at the bottom right palette. Going down the list of icons, try these settings:
    Demo Marker: Not relevant
    Spray Can: Used to get a quick view of a local, irregular area (Plop Render is probably better)
    Interface Max/Min: Not relevant.
    Background Paper: Select a solid color, not the default Paper background.
    Nano Editor: Good for speeding up Director repositioning in a scene (and Camera as well, but.. well, you'll see). Turn it on, then use the left hand navigation tools (rotation ball, translation arrows) to move around your scene. Watch what happens. You'll get it.
    Plop Render: Great tool for mini-location renders. Click the main Render button then stop the render immediately. When Plop Render is engaged, drag rectangles over the scene to render selected portions.
    Depth Cue: Helps estimate distance, but doesn't really speed up performance significantly.
    Wireframe Shadows: Off to improve performance.
    Underground: Not really a big deal performance-wise, but is another helpful horizon cue.
    Wireframe Resolution: OK, THIS is a big deal, and can drastically affect performance. You set the amount of detail your wireframes have in three areas: the wireframe detail drawn when you're moving an object, detail when the object is not moving, and detail when the object is simply selected. These are personal settings: play with these numbers to get a result you're happy with. I tend to have a high degree of detail for selected or moving objects and very low levels for static objects, but the other way around works too, or some intermediate settings. Your call. Keep LoD On.
    Display modes: Keep it on Wireframe only.

    Object Local Settings
    Edit the attributes of your groups or objects to hide some lines, or hide the object entirely.
    General > Show as Box: Selected object is represented in wireframe as a box.A good setting to have with 'completed' elements of your scene.
    Animation > Show When selected: The animation trajectory is only shown if the object it's associated with is selected.

    Workflow Tools
    Selections: the right-most bottom tools are the Select By Category tools: from left to right you can select by object type, or family, or the reveal triangle has a lot of other categories you can select. The key here is that you can sharply increase performance by quickly hiding all the objects you don't really need to work with immediately.
    Solo Selection: A great tool to completely shut out the 'noise'. Select the object or objects you want to work with. click the green Solo button. Carry on working. When you're finished, re-click the Solo button and you have your scene back.
    Tip: Use the Solo button in conjunction with Families. That way you have a fast way to select groups of otherwise unrelated objects (or elements of nested boolean groups) to perform texture operations or re-sizing.

    Practice Tips
    AVOID GROUPING:USE PARENTING. Use Boolean grouping only for shape modeling. Don't use Boolean groups if you're just locking in one object to another. When a Boolean group is created, an all-enclosing box is generated in the scene: more lines for Bryce to draw! Making groups of groups becomes an insane task to work with.

    Rather, Parent one object to another. Parenting works much like grouping: copy an object that has other objects parented to it, and you'll copy the entire parent-child relationship. Parenting also has a couple of flexible options: you might want one object to move with another object but not RESIZE if the parent object is resized... or rotated, or other attributes.

    The bottom line is: Parenting reduces screen clutter markedly in complex scenes, allowing you clearer scene construction and faster scene redraw performance when rotating or translating views.

    ===

    That should be enough to start you rocketing through a Bryce scene. There are others as well, but this should be more than enough to see significant improvements with your scene construction technique. Good Luck :)

    02.png
    643 x 239 - 49K
    01.png
    268 x 396 - 44K
    Post edited by Oroboros on
  • Dave SavageDave Savage Posts: 1,942
    edited December 1969

    The only other thing I could add is that it's possible to build your rollercoaster frame as a single solid shape or in just a few sections and then simply apply a material to it like a 3D mesh material so for all intents and purposes you've got your wooden frame without having all the associated geometry.

    It would depend on how close the camera is going to be in your final render as to how much detail was required in the Materials.

  • Eva1Eva1 Posts: 469
    edited December 1969

    I am having a significant problem working within Bryce as I am multi-replicating objects, and besides the very long wait time for the objects to duplicate, the performance speed once created has put Bryce to a near stand-still. I am sure that many users have had this problem, and there is probably a very quick trick/solution in this regards, but I do not know it!

    For example: I am creating a wooden roller-coaster. If you can imagine it in wooden box frames, each of those are duplicated along X and Y to create a very large wooden Roller Coaster Grid.... Unfortunately, this creates a workspace that is near-unmanageable. Is there a trick that I can do, such as to select the whole of the roller coaster, and convert it to some type of object, boolean, or etc, in order to Bryce to speed up performance significantly? I can say with full confidence that it's not my computer (I have a brand new mac running Parallels, and I've devoted significant CPU speed and Graphics Rendering to the program and Parallels) and I imagine there is something I can do within Bryce to convert these objects into something that doesn't cause the program to virtually freeze up.... (especially after each trackball movement!)

    Any advice would be greatly appreciated!

    Thanks!

    Hi Ryan, you could try grouping the rollercoaster, or grouping different sections of it. Just select all the relevant parts then click 'G' from the little menu that appears next to the objects. Each group will then be listed and selected as such in the same way indivdual objects are. Bryce apparantely finds it easier to work with groups than lots of separate objects (and also renders quicker). This in conjunction with reducing the wireframe density might help. I have a quick run through of how this works here if it helps:

    http://brycebasics.blogspot.co.uk/p/did-you-know.html

    In addition, you can assign each group a different colour (again from the little object menu), which colours just the wireframe appearance, so that each group is more easily visually defined -might help to make it easier to differentiate and work with the groups in the scene if you have lots of them.

  • edited December 1969

    Thank you so much for your incredibly helpful replies!!!

    I am reading up on all the great details you gave me, and have started to apply them to the project,

    Thanks again for taking the time to help!

  • OroborosOroboros Posts: 326
    edited December 1969

    Eva1 said:
    Hi Ryan, you could try grouping the rollercoaster, or grouping different sections of it. Just select all the relevant parts then click 'G' from the little menu that appears next to the objects.

    Noooooo!!!! :)

    Grouping adds more screen clutter. Use parenting. Only use Grouping if you must make a Boolean operation – positive, negative or intersect – to create a Boolean shape. If you're dealing with a small number of objects, sure, grouping's OK. Ryan's problem is he's dealing with complex, many-object scenes that are slowing performance. Grouping for the sake of organisation is not optimum. Parenting, combined with basic object naming, works best for performance.

  • TapiocaTundraTapiocaTundra Posts: 268
    edited December 1969

    Some handy stuff here Oroboros, thanks

  • GussNemoGussNemo Posts: 1,855
    edited December 1969

    Oroboros said:
    Eva1 said:
    Hi Ryan, you could try grouping the rollercoaster, or grouping different sections of it. Just select all the relevant parts then click 'G' from the little menu that appears next to the objects.

    Noooooo!!!! :)

    Grouping adds more screen clutter. Use parenting. Only use Grouping if you must make a Boolean operation – positive, negative or intersect – to create a Boolean shape. If you're dealing with a small number of objects, sure, grouping's OK. Ryan's problem is he's dealing with complex, many-object scenes that are slowing performance. Grouping for the sake of organisation is not optimum. Parenting, combined with basic object naming, works best for performance.

    Or...if you have several objects you want to move from point A to point B. Once they've been move, un-group them and continue on with your work.

  • OroborosOroboros Posts: 326
    edited December 1969

    GussNemo said:
    Or...if you have several objects you want to move from point A to point B. Once they've been move, un-group them and continue on with your work.

    Er... Then why group them? If it's just a single move, you select your objects.... and just move them.

    If it's a selection of items you want to constantly re-select, you're going to have to name your group to separate it from all the other auto-named Group 1, Group 2, Group 3 objects anyway. If it's a large collection of items you don't really want grouped permanently, use Families (the color swatch thing), or, a far faster approach.... PARENTING :D

    1) Select all but one of the items you want to move. (You have to do this anyway, whatever you do.) Let's call the selected items the 'children', and the one they're all going to link to the 'parent'. This multiple selection will still give a floating vertical object palette.

    2) Click on the Parenting box of the floating palette and drag to the parent object till the parent's wireframe turns green, and release.

    3) Select the parent object and move it around to wherever. Keep the relationship if you think you might need to reposition/resize/rotate the relationship later. It doesn't cost you anything, performance-wise.

    4) Done with the relationship? Select each object you wish to un-child from the parent, drag the parent tool to empty space.

Sign In or Register to comment.
Rocket Fuel