Scene Optimizer [Commercial]

145679

Comments

  • V3DigitimesV3Digitimes Posts: 3,150

    Hi and thanks for your nice comment ;)

    Sorry for the delay, I took two days off, one for shopping, the other one to offer the result of my shopping as christmass gifts...

    If you have memory issues with your environments, the first thing you can do is to launch a render - stop it -, and then, in the log file (help/troubleshouting/log file), have a look at the lines concerning the memory consumption. You will have the memory usage for geometry, and the one for textures (not far from the bottom of the log file if you just launched and stopped the render). If the one for geometry seems very heavy, you have two options : lower the mesh resolutions for objects or figures using such, or hide some useless or far elements in the scene. This corresponds to the "hide" and "subdivision levels" parts of the scene optimizer. If the textures seem to be very heavy (and this is often the case), then you have several options: lower the size of the image map, or remove some image maps, and these are the other options provided by the optimizer.

    Figure Subd will act on geometry memory consumption. It depends on the number of figure subdivided and the level of subd of course.

    Displacement is an issue with Iray, which uses a "real" mesh displacement, so Iray needs the mesh to be subdivided, sometimes a lot, resulting in heavy memory consumption for the geometry. I never use displacement in Iray - as long as I can.

    Normal maps act as bump maps  "with an orientation", but does not make things that heavy. They contribute to texture memory. Yet, they can be heavy if we need to keep clean details on them. For far away objects, I would remove the normal map (except if it is used to fake roughness but it is not really common). Using bump and normal maps indeed make a (bit) longer calculus because the rays interaction with the surface is modified more specifically than with a simple diffuse or with a gloss corresponding to a formula. But it is the texture memory consumption which is impacted by those maps.

    Diffuse and other channels, of course, it is mainly the size which will impact the CUDA load.

    For instances this is less clear. But using one or another can, depending on your scene, drastically reduce the render time. What I do is to try one, then the other, and you easily see if there is a big difference during the first minutes of the render (in term of number of iterations). I know it does not sound pro, but it works for me this way when I use instances.

    For the trees: you can also reduce the rest of your scene, and keep the trees as they initially were. But if you have displacement, this will probably lead to something heavy for your video board.

     

  • jardinejardine Posts: 1,202

    thanks for the helpful advice.

    happy holidays!

    j

  • Jack238Jack238 Posts: 117

    Thank you. I find this info very helpful. Hope you enjoyed your days off. 

  • Matt_CastleMatt_Castle Posts: 2,561
    edited January 2020

    Is there the potential for the script to be expanded to allow a user to filter the type of textures that get resized?

    I know there's currently the option to remove specular, roughness, normal, etc maps entirely, but it would often be nice to be able to scale them separately to get the memory savings without completely losing their effects, while also keeping higher resolution base textures.

    Unfortunately, I'm currently dealing with an environment prop that's very nice, but uses a huge number of materials and textures, so running the optimizer twice to get half and quarter scale textures (starting from the original textures each time) is a complete pain to then try to set all the base textures back to their half scale versions (as the "drop-down" texture list goes off the page, and Daz still haven't added scrolling to this, as far as I can tell).

    (I eventually handled it by creating a preset that stored and applied only the base textures, but that took several minutes to actually create as there's 111 materials, and I had to manually expand the trees for each of those to select only the base textures, as there's no filter that lets you do that automatically).

    I know that may potentially cause trouble with non-standard shaders, but you're presumably already making some assumptions about material names for the removal functions?

    Post edited by Matt_Castle on
  • DoctorJellybeanDoctorJellybean Posts: 8,463
    edited March 2021

    I'm running into a weird issue. The Great Dane (DAZ Dog 8) loads with Render SubD Level set to 5. I change it to 3 using Scene Optimizer, save the scene. The next time I load the scene, it is back to 5.

    Update:

    This is not a Scene Optimizer issue. I changed the SubD Level directly in DAZ Studio, and it reverts back to 5 when reloading even after saving it. There must be something in the product itself, as it works for anything else.

    Post edited by DoctorJellybean on
  • barbultbarbult Posts: 24,240
    edited March 2021

    DoctorJellybean said:

    I'm running into a weird issue. The Great Dane (DAZ Dog 8) loads with Render SubD Level set to 5. I change it to 3 using Scene Optimizer, save the scene. The next time I load the scene, it is back to 5.

    Update:

    This is not a Scene Optimizer issue. I changed the SubD Level directly in DAZ Studio, and it reverts back to 5 when reloading even after saving it. There must be something in the product itself, as it works for anything else.

    Strange indeed.When I load the Great Dane from Smart Content, it loads at Render SubD Level 3. When I use Scene Optimizer to change that to 3 and save the scene, the scene loads with the Great Dane Render SubD Level 5. I am using DS 4.15.0 14 Public Beta and Scene Optimizer 1.1.

    Edit: I didn't see your update before I posted. I see you have tracked it down to the Great Dane itself now.

    Post edited by barbult on
  • barbult said:

    DoctorJellybean said:

    I'm running into a weird issue. The Great Dane (DAZ Dog 8) loads with Render SubD Level set to 5. I change it to 3 using Scene Optimizer, save the scene. The next time I load the scene, it is back to 5.

    Update:

    This is not a Scene Optimizer issue. I changed the SubD Level directly in DAZ Studio, and it reverts back to 5 when reloading even after saving it. There must be something in the product itself, as it works for anything else.

    Strange indeed.When I load the Great Dane from Smart Content, it loads at Render SubD Level 3. When I use Scene Optimizer to change that to 3 and save the scene, the scene loads with the Great Dane Render SubD Level 5. I am using DS 4.15.0 14 Public Beta and Scene Optimizer 1.1.

    Edit: I didn't see your update before I posted. I see you have tracked it down to the Great Dane itself now.

    It is the only conclusion I can come to as everything else seem to accept the changes. Locking the SubD Level in DS seems to work for the Great Dane.

  • V3DigitimesV3Digitimes Posts: 3,150

    Do you mean that when you save your scene, the render subd for these specific elements is " let's say 3"  and when you reload the scene, their render subd becomes 5?

  • V3Digitimes said:

    Do you mean that when you save your scene, the render subd for these specific elements is " let's say 3"  and when you reload the scene, their render subd becomes 5?

    Yes, but only for the Great Dane. All the others stick.

    And while you are here, some time ago I suggested a feature smiley A similar option list for Normals like the one for Mesh Resolutions, so one can see which Nodes have Normals.

  • V3DigitimesV3Digitimes Posts: 3,150
    edited April 2021

    Strange. Maybe it has some features in the original file automatically reloading the original resolution whatever you do. For the normal, I see what you ask, it's technically possible since it is already in my "Scene Analyser Organizer Simplifier" if I remember well (I think you can also select all the nodes with normals with it), but I don't see the reason why for scene optimizer? Since IMHO you already know the figures from which you don't want to remove the normal, which are often the ones in close up... All the other ones, you can apply the remove normals. Well that's how I proceed on my side. For the script, if there is a normal, it is removed, if there is no, it is ignored... So I don't see what's the interest of the information, but I'm sure you're gonna make it clear for me ;) Furthermore I have no ide where it could fit in the interface (there is no more room)...

    Post edited by V3Digitimes on
  • V3Digitimes said:

    Strange. Maybe it has some features in the original file automatically reloading the original resolution whatever you do. For the normal, I see what you ask, it's technically possible since it is already in my "Scene Analyser Organizer Simplifier" if I remember well (I think you can also select all the nodes with normals with it), but I don't see the reason why for scene optimizer? Since IMHO you already know the figures from which you don't want to remove the normal, which are often the ones in close up... All the other ones, you can apply the remove normals. Well that's how I proceed on my side. For the script, if there is a normal, it is removed, if there is no, it is ignored... So I don't see what's the interest of the information, but I'm sure you're gonna make it clear for me ;) Furthermore I have no ide where it could fit in the interface (there is no more room)...

    Well, things closest to the camera may need normals as they are clearer to see. Background stuff perhaps don't need as much detail, so no need for normals.The scene could contain e.g. 30 items, and to check each item manually can take awhile.

    As for no more room, another tab wink

  • V3DigitimesV3Digitimes Posts: 3,150
    edited April 2021

    OK I understand. I'll have a look at that when I'll have to make an update on the optimizer. Otherwise in the meantime, you can just store, apply the normal map remove on all, swap to your camera view and select elements close to (and visible by) the camera in the scene, restore normal maps on selection (this restores all maps). This way only the ones you don't see on the camera (or which are far) will have their maps removed. It should work.

    Post edited by V3Digitimes on
  • JonnyBravo2010JonnyBravo2010 Posts: 27
    edited May 2021

    Sorry if this question has already been asked and answered but, what are the differences between "Scene Optimizer" and "Scene Analyzer Organizer Simplifier"?

    Post edited by JonnyBravo2010 on
  • V3DigitimesV3Digitimes Posts: 3,150

    Don't worry it was never asked :)

    Scene optimizer allows you to lower the memory consumption of the video card working both on the texture maps size (you can lower the size and remove some maps), and the number of polys (via resolution, visibility, and instance mode).

    Scene Analyzer, organizer, simplifier allows you to set up what info you want to collect from the scene, to display the result in a synthetic table where you can act on the various elements of the scene. For instance, you can catch all elements with more that 100 000 polys, rename them "big" + their initial name, or you can hide them. You can select all elements coming from the product "This product" for instance, and do any of the proposed actions on them (the list of actions is big). Or you can find all props with emissive surfaces, and select them, or remove them from your selection, or all elements without normal maps, etc, etc.  In brief it allows you to analyze the scene with the criteria you want, select some of them depending on their type, product, size, volume (physical size), distance to camera, number of maps used, mapped properties, etc, etc, and to select them or remove them from a selection then you can act on them.

  • First, thank you for taking the time to answer my question. Your explaination was very articulate. Now I understand the difference. I purchased the Scene Analyzer Organizer Simplifier over the weekend. After some experimentation I can honestly say that it's an amazing tool! I'll probably leave feedback about it in it's dedicated thread. The Scene Optimizer offers a set of tools that will also be handy so I'll be adding it to my tool set. You are awesome.

  • ArtiniArtini Posts: 9,455

    I have purchased both of them.

    I've just wonder, if I want to export the scene to Unity, which one to use?

    Do I need to purchase Interactive License for any of them?

    I will be using only the result from the tool in Unity,

    neither https://www.daz3d.com/scene-optimizer nor https://www.daz3d.com/scene-analyzer-organizer-simplifier

    by itself.

     

  • V3DigitimesV3Digitimes Posts: 3,150

    Sorry for the delay, I did not see any notification for your message, maybe because I've been sick these last weeks (and it's not over), so maybe I had the notification and did not noticed it, or I did not had the notification at all. Anyway, I don't know at all if there is the need for an interactive licence here. Personally I would tend to think like you, reading your argument, that you don't need this, but the best thing is maybe to ask this directly to Daz by submitting a ticket asking directly the question. It's not easy to understand what the interactive licence covers, especially when not written in your native language (which is my case) so I would not want to tell you something wrong. And of course if you use it for unity, I personally won't sue you (lol) by I cannot speak for Daz Inc.

  • echoescechoesc Posts: 23

    Since these are both on Flash Sale, I'd like to pick up on the last comments = I have the Scene Analyzer Organizer Simplifier in my cart. But I'm not so clear on whether the Scene optimizer offers any additional functionality. As I read the comments, it almost seems like an earlier version with not as much functionality as the latter product. Are there some functions it can provide that I could not do in Scene Analyzer Organizer Simplifier

    I love, love your products V3Digitimes, so I'm happy to support them, but I'm not so clear on whether I should be getting both of these or just the one

  • LeanaLeana Posts: 11,690

    Well scene optimizer enables you to reduce the size of textures, for example.

  • V3DigitimesV3Digitimes Posts: 3,150

    Hi all, - thanks leana for your answer - to be more clear, these are two different products.

    Scene Optimizer is here to lower the memory consumption of the scene for your video card, for instance allowing to render scenes which were too big for your video card. This mainly uses the downsizing of texture maps, simplification of materials by removing some maps, the changes in subd of elements of the scene, and actions on instances.

    Scene Analyzer cannot do this, actually it cannot do the downsizing of texture maps/maps removal, which is very important for memory consumption. Scene Analyzer allows you to act on your scene content depending on its caracteristics. You want to select all the emissive elements? You can do it. To rename all the "big" or "far" elements ? You can do it to. To delete all the elements coming from a same product? This is the same. You want to see all the hair? Or only the elements from a given product? Or the list of products used? This is more for you ... This is more a "sort and act" behaviour, with sorting depending on materials, geometry, scene location, product, category, etc, etc.

  • This is a great product, I've used it to make several scenes more manageeable and renderable. I think two things that would make this perfect would be an option to exclude normal maps from texture reduction (I've had a few cause weird artifacts, even going from 4096 to 2048 in a scene that shouldn't need 2048), and to have an option to only reduce the maps that are more than a set size.

    For that latter suggestion, as an example: if there are two 8000x8000 maps, two 4096x4096, and 24 maps varying from 512x512 to 1024x1024, I really don't want to reduce the 512x512 at all, and I probably don't want to reduce the 1024x1024. Tracking down and reapplying the originals for all those maps in the surface tab just to get the reduction I want on the truly oversized textures is a bit of a pain.

  • Hi, thanks for those nice suggestions!

    1. excluding normal map from reduction can be implemented without issue I think, and linked to a checkbox "exclude normal maps", with the limits that if the shaders are not "classical shaders" and don't use a "classical name" for the normal map, the normals may not be identified properly as normals.

    2. I could also add a checkbox : reduce only maps bigger than : with a menu allowing to choose 8000 / 4000 / 2000 /1000 px (I don't put 4096, 2048, 1024 exactly on purpose so that people don't have doubts between "strictly bigger than" or "bigger than or equal to").

    I can do this, yet, regarding how the interface is already compact, I don't know where I am going to put it. At the bottom bottom under the text? In a new Tab "additional options?"... What would you prefer? (I don't mean I'll do this immediately, but I will sure have a look how to include them in one of the next updates).

     

  • I hope you haven't forgotten about the discussion we had about Normals about 11 posts up (almost the top of this page) smiley

  • Yes I remember you wanted a "normal maps" column. It's in my list for the update. Right now, I'm updating other products which really require updates. Whereas for Scene Optimizer they are more "comfort" updates this is why it's difficult for this SO update to reach the top of my todo list (I always have something more important, or urgent to do which climbs this list faster than SO..). Anyway this update will be made, but I can't give any delay (I'll try to keep them reasonable).

  • Probably the best place for these options would be in roughly the same area as "Additional Options to Save Or Replace Maps". But they could be put in a new tab if you consider them to be somewhat advanced options that most users wouldn't need, maybe that would be an opportunity to move some other options as well to streamline some of the existing tab interfaces (although some users might not like existing options being moved).

  • I'll have a look to try to find the most efficient way to place this.

  • HavosHavos Posts: 5,361

    I recently optimised one enviroment set with Scene Optimizer which was using 8K textures and pretty much maxed out my VRAM even before I added any more props or other assets. The walls of the set were tiled, and I noticed after reducing the textures to 4K the walls looked odd as the normals were no longer lined up with the grouting of the tiles. Once I restored the default 8K normal, then it rendered fine. I am not sure what caused this, as with all textures reduced to 4K, then should in theory they should have continued to line up as expected. Anyway, this is a further example of why exempting normals from being resized would be a good idea.

  • Yes, it may very occasionally happens that the size reduction of some maps, especially huge (tiff) normal maps, gives a different impression (especially on tiled textures). You had the right reaction restoring the normals for these props. There is not much to do for this since it depends on the way Daz Studio reduces the images. I plan anyway an update for Scene Optimizer, I already have a list of features I want to add (some of them were asked here), and I'll have a look if/how I can implement what you asked too... Well that's official, obviously I'll need an new "advanced options"  tab in my interface XD

  • I know there are already several new features that are being considered, I just thought I'd mention that another feature that would be really nice to have would be to set some kind of minimum size that we don't want to reduce. Since the interface only reports the largest texture map size but reduces the size of every texture by the same factor, on large objects with many surfaces there are often textures that are small enough to leave the way they are even if the largest texture is 8000x8000. I want to reduce those 4000 and 8000 size ones, but leave the 1024x1024 or 512x512.

    Unless there's already a way to do this? (Other than going back into every surface and manually restoring).

  • V3DigitimesV3Digitimes Posts: 3,150

    This is an excellent idea, and it will very probably be included in the next update, which is planned for 2023, (except if something unexpected happens). Most of the new features will be included in a new tab, as new available options, because the main tab is already super full, or I might rework the main (first) tab to have some of the button available as elements of a dropdown list instead of being buttons. I'll try to see what's the best while developping it.

Sign In or Register to comment.