Home Marmoset

perfromance issues

Callaby32
polycounter lvl 5
Offline / Send Message
Callaby32 polycounter lvl 5
Hi forgive me if this is a dumb question but I'am getting major lag and slow down with my scene, I've just upgraded from a 2Gb GPU to a 1070 8Gb card as I was experiencing major lag half way though the project, this initially fixed the problem but I'am again experiencing severe lag when the majority of the scene is loaded, the models are all fairly low poly and the textures all 2K looking at my computer specs I shouldn't really be experiencing these problems, all settings like global illumination etc are all low and I've even tried working in 50% resolution but still its slow, is there something really obvious that I'am missing?? It's my final year project at University which was actually due in last week but due to  a death in the family I've ben given an extension and I'am in fear of missing it and essentially wasting three years at Uni, any suggestions would be most welcome... cheers  

Replies

  • EarthQuake
    Things that tend to reduce performance:
    • GI, you can turn this off entirely while you're working if your frame rate is low
    • Local reflections, similar to GI
    • The more dynamic lights you have, the the worse performance will get as well, so if you keep adding lights your performance will get progressively worse. Area lights (light width > 0) are particularly expensive

    Polygon count is a factor as well, total polygon count is more important than per object, so if you have an average of 20k triangles per mesh, but you have 100 meshes, that's 2 million triangles. Having many dynamic lights and many (even if each is relatively low poly) will be an issue was well. For instance, if you have 100 objects at 5k tris each, that's 500k triangles. Each light that hits those models basically has to draw them again, so if you have 20 lights hitting your 100 objects, that's roughly equivalent to 10 million triangles.

    Texture size generally doesn't make a difference to performance. The exception here is if you have so many textures loaded that they no longer fit into video memory. For instance a 2K texture isn't a problem, but 100 2K textures may be.

    Certain shaders are more expensive than others as well, for instance a material that uses the skin shader or anisotropic shader will be take a significantly bigger performance hit than a standard shader.

    If you can provide more information about the details of your content, and the way your scene is set up, I may be able to give you more advice.
  • Callaby32
    Offline / Send Message
    Callaby32 polycounter lvl 5
    cheers, the textures are all 2K from substance painter I've been using the unreal shader preset before assigning them to the models which although there's a fair few of them maybe around the 100 count there all pretty low poly, haven't added any lights yet only the skylight by the sounds of it the problem is the amount of textures I'd say?? The scene is essentially a sci-fi corridor about 20 metres in length put together in Maya with  match moved camera flying through the scene, it's all relatively low polygon apart from one or two more detailed models.. GI local reflections etc are all turned off at them moment, The scene works fine with all the models in un-textured no lag what so ever I've been working with models hidden until I texture them it's not even a gradual slow down everything is working fine but it seems to just hit a wall at some point and it's not even for certain models I could hide one and it will be fine reveal a different one and it will stop.. I'am a bit lost as how to progress and feeling very disheartened, I guess the biggest question I've got is if I add the remaining textures, and light the scene with most objects hidden so I don't get the lag would I still be able to render?? if I reveled everything in the scene prior to rendering despite the chronic lag would it be possible to get a render... If theres anymore info I can give you that would help let me know or if you need to see the scene in its current state I could provide that... thanks again 
  • EarthQuake
    If you've got 100 2K textures (about 12MB each), that's about 12GB of VRAM and may explain your problem. Textures at 1K should be about 3MB, so 100x3 = 3GB at 1K.

    You've got a video card with 8GB of ram, so you should probably shoot for something more like 6GB max of VRAM usage, to leave memory for the textures + shadow maps and other rendering stuff.

    Unfortunately we don't have a feature to manage max texture resolution inside of Toolbag, so you would need to resize the textures manually.
  • Callaby32
    Offline / Send Message
    Callaby32 polycounter lvl 5
    Hi thanks for thee reply and sorry for getting back so late, my machine has 16GB of memory testing the scene today on a lectures laptop that has 32GB the scene ran but it was using 30Gb of memory explaining why it won't run on mine.. we also found out that if we placed all the assets in the outliner in a folder the memory usage dropped drastically, could this be the problem and is it a bug?? 
  • EarthQuake
    So first off, there are two types of RAM, system and video.

    If you check the task manager, you'll see system ram usage. 30GB is indeed very high. I have what I would consider a complex scene here, with over a million triangles and about 85 textures around the 2K range, and I'm seeing system RAM usage at about 2.8GB.

    For video ram (the amount of RAM your video card has), there is no easy way to check the usage, but we can estimate with the equation from my post above.

    If you're seeing 30GB of system RAM usage, there is likely some sort of problem with the program, or you're simply trying to load more data than your computer can handle. For instance, if what you meant was that you had 100 materials with 2K textures, assuming 4x textures per material that means something like 400 textures and 48GB of video memory.

    Without having a look at your scene, there isn't much further advice I can give. If you would like us to debug it, you can package up your scene and send it over. The easiest way to do this is to go to file -> export -> scene bundle, then zip up the .tbscene and /assets folder and upload it to a service like Dropbox or Google Drive. You can PM me a link to that or send it to joe@marmoset.co
  • Callaby32
    Offline / Send Message
    Callaby32 polycounter lvl 5
    ok thanks very much I'll send you scene via google drive if thats ok.. any help is very much appreciated.. 
Sign In or Register to comment.