Home Technical Talk

Increase viewport performance

polycounter lvl 13
Offline / Send Message
omid3098 polycounter lvl 13
I'm working on a big scene in 3ds max. now the scene is getting too heavy and it's really hard to navigate into the scene. so I have to hide some parts of scene to work on other parts or work in wireframe view.
I can not use proxy for models because I have to export whole scene directly to game engine and there should not be additional modifiers on models.

but so far I got these:
- if all models were attached to each other, it will be much faster (useless tip in my case!)
- standard materials will improve performance. but I have to use realtime viewport shaders. (another useless tip in my case!)
- decreasing texture quality will improve viewport performance. (useless in my case because I use directx viewport shader)

now I appreciate any other tips to improve viewport performance :)

Replies

  • keres
    Options
    Offline / Send Message
    keres polycounter lvl 12
    Can you post your system specs? There's different ways to speed up different bottlenecks. You could try hiding some objects in the scene.
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    Turn to more complex objects to display as box
    Organise your scene is layers.
  • Jet_Pilot
    Options
    Offline / Send Message
    Jet_Pilot polycounter lvl 10
    You can tell max to display objects as a simple color instead of the full shader, this will just display the object as what ever color the wire frame is with out having to assign a new shader to it. Command Panel>Display>"Shaded: Object color"

    Also, use Isolation mode... select the object your working with at that moment, "Alt+q"
  • omid3098
    Options
    Offline / Send Message
    omid3098 polycounter lvl 13
    @keres: cpu:9950 amd - 8600gts evga - 4gb RAM.
    @fletch and Jet_Pilot: my scene is currently layered and there is not much complex object to display them as box. even when I hide about 20k-30k tris, I get only 6-7 more FPS. also F3 works faster and easier than solid color but they are not the solution. isolate mode was currently using but I didn't know about alt+q! thanks for that!

    I allways ask myself when I want to do just modeling or texturing why should I load up a whole max with full features.. perhaps disabling some parts of max may give us more performance or even faster loading up.. when we need other aspects, we should be able to enable them.. any such experiences?
  • Runner
    Options
    Offline / Send Message
    Like it was said before, turn it into a “box display” or disable textures.

    Create proxy textures.

    Sounds like its a shader issue on the viewport that amount of poly's should be fine.

    Give us more info.
  • Mark Dygert
    Options
    Offline / Send Message
    are all the objects separate objects or are they joined into one edit poly? Max has a much better time if things are separate objects. The reason for this is simple, adaptive degradation operates on an object level not sub-object (element, poly, vert).

    AdaptiveDegradation.jpg

    Also do you have the viewport texture settings cranked? Match Bitmap Size As Closely As Possible will go a long way in killing performance.

    Do you have backface culling turned on, that can slow things down as well.
  • omid3098
    Options
    Offline / Send Message
    omid3098 polycounter lvl 13
    shader is too optimized to have only diff/normal/spec/refl. however it's not as lightweight as standard material.
    what else do you need to know?
    I use max 2011 x64, outliner, textools primitive maker, pixel pack, and some other scripts or plugins.
    scene is about 80k tris/ almost 300 separate objects/30-40 different materials(multi sub/object)

    is there something like view distance in max viewport to hide objects in more than specific distance? + my previous question!

    Edit: @vig: all objects are separate, but in my experience attaching whole scene into one editable model will increase viewport fps (maybe I must check it again)
    bitmap size is checked, but how can I disable backface culling?
  • Runner
    Options
    Offline / Send Message
    Is it a DX shader? Does it get faster if you use "object color mode" instead of Materials?

    "is there something like view distance in max viewport to hide objects in more than specific distance? + my previous question!"

    No automatic mode that i know of.

    But you should really use simple materials for preview...i think that is were the problem is coming from. What exactly are you trying to do? Maybe a screenshot will help.
  • omid3098
    Options
    Offline / Send Message
    omid3098 polycounter lvl 13
    yes that is dx shader. object color mode will be faster, but as I need to check latest results, I must use the shader and I don't think I change materials cuz I export models with these dx materials directly to the game engine. even with simple standard material, I do not get more than 7-8 fps rather than this.
    I'm trying to do only models/textures/materials to make a whole scene in max ad export it directly to game engine. unfortunately I'm not at office right know so I don't have access to max and my files.
  • Mark Dygert
    Options
    Offline / Send Message
    Max can't degrade objects if they're joined so its going to try and display ever last poly and vert if they're all in one object, especially if you have the super object selected. If you're still getting slowness or it isn't degrading objects you should check to make sure Adaptive Degradation is turned on. It's down under the time bar next to "Add Time Tag"

    Things like the layer manager and other stuff will chug along but that's nothing new, its a pile of crap. I'm glad you're using outliner, its awesome, but can cause some slowness.
  • Runner
    Options
    Offline / Send Message
    Just out of curiosity, do you have lights? Maybe wanna turn that off if you do or assign them to specific objects instead of the entire scene.

    With all authoring tools a certain level of optimization and preparation is required when working with large scenes.

    You may have to work on that, separate your scene in to different layers or Xref files that you can work individually. Don’t try to use Max as the UDK or Crysis editor as an example, its a great tool but does have some limitations.

    I can tell you from experience that with a correct organization process combining Layers/Xrefs and different display modes you can go higher then 300k poly's.

    Mark Dygert* Gives out some good pointer about degradation.


    What game engine is this exactly? Custom?


    To conclude it seem very likely that its a shader related issue. Work on that I am sure it will work great.

    What shader are you using? How many lights etc.

    Using DX shaders in large scenes especially with multi sub materials will always be very slow and even crash randomly. Any one who has worked on something like this will tell you that. You will have to find a workaround.
Sign In or Register to comment.