Hi JPMcWhiskers,
Yes! Ty for asking. We have figured out that the video card was being overwhelmed due to dense levels with so much verticality and content.
So, we have done multiple passes on our levels using Data Layers and Virtual Textures. We are now using Data Layers so that content only loads when you enter that Data Layer.
We have converted many textures to Virtual Textures and reduced the sizes of any textures that are on objects that are small on screen anyways.
It also might be worth noting that I am lighting the world for probably the 6th time now making sure that there are no overlapping light sources. We are getting good performance now. No more lock ups. Good frame rates.
This works well especially if you have a clean and well organized scene graph. All of our areas are organized neatly into descriptive folders so its really easy to find any of the 16000+ actors we have so far placed.
Using World Partition, Data Layer triggers and Virtual Textures is helping us create a complex game that will work well on multiple systems and video cards.
Edit:
Some tech info from partner…
Two other pieces… the Grid Sizes
Base - our simple base building blocks. Repeating textures, very simple objects with LOD
Far - Static objects that can be seen at a distant. DJV’s sign, roof, tree meshes … Again fairly simple objects
Med - More detailed complex architecture objects. Flags, statues, garbage cans. Scaffolding, graffiti
Near - ground Decals, damage decals on buildings, static mesh bushes, garbage
Our most recent config DefaultEngine.ini and DefaultScalability.ini here:
DefaultScalability.ini key areas changes are in the
[TextureQuality@] area
These 3 settings are all from low, because of the density of the world and the speed we can move through it while spiriting (probably won’t allow the player to move that fast), this helps to not overwhelm the video card
r.Streaming.MipBias=16
r.Streaming.AmortizeCPUToGPUCopy=1
r.Streaming.MaxNumTexturesToStreamPerFrame=1
DefaultEngine.ini key area
[TextureStreaming]
MemoryMargin=1000
This is due to our non streaming mipmaps. We were running at 900-1000megs… now we’re down to 700-800… Still working on it. (Virtualizing textures and reducing textures of small screen objects, like cups)