Major screen stutter and screen freeze when approaching a water block or a river at high speeds.

Materials, textures, lighting, postfx
  • 1
  • 2
16 posts Page 2 of 2
andrewmac
Posts: 295
Joined: Tue Feb 03, 2015 9:45 pm
 
by andrewmac » Mon Sep 28, 2015 2:23 pm
Torque3D does its asset loading based on what's visible. You can fill the entire scene with lots of items but until they pass a scene scope query they won't actually be loaded to display. Once it is loaded to display though it doesn't need to be loaded again.

What you're likely seeing is a) the initial position of the camera is causing a number of items to be out of scope on initial load and b) the reflection off the water is causing more items to be scoped when you witness the reflection.

As you mentioned the problem gets worse with heavier scenes. The ideal solution would be threaded asset loading so there is no noticeable stall even if that would result in visible popping as assets finished loading its better than stalling the game in my opinion. A hack solution is to make the first few frames of the scene scope everything so all objects will be loaded, then go back to normal scene query afterwards.

I chased this problem for a little while back when I was using T3D and it's a pain. My problem was that players would spawn, turn the camera and get hit with a 2-3 second stall then the game plays fine after that.
LoLJester
Posts: 38
Joined: Thu Aug 13, 2015 5:58 pm
 
by LoLJester » Tue Sep 29, 2015 7:29 pm
Thank you, andrewmac. That makes sense.
Azaezel
Posts: 385
Joined: Tue Feb 03, 2015 9:50 pm
 
by Azaezel » Tue Sep 29, 2015 11:34 pm
https://github.com/Azaezel/Torque3D/com ... c4cc9e950e go ahead and slap that in when you've a chance.

Should push the reflected scene generation back to object creation instead of when-first-in-view, which is what that useOcclusionQuery does. (IE: it's testing if the *reflective object* is no longer occluded prior to ramping up.)
LoLJester
Posts: 38
Joined: Thu Aug 13, 2015 5:58 pm
 
by LoLJester » Wed Sep 30, 2015 7:34 pm
Thank you Azaezel, but that doesn't fix the problem. I don't know if this is related or not, but there also seems to be a stutter with scene objects that have multiple LODs. I see that water also uses LODs.
Azaezel
Posts: 385
Joined: Tue Feb 03, 2015 9:50 pm
 
by Azaezel » Wed Sep 30, 2015 11:40 pm
Oddball. And you're entirely sure https://github.com/GarageGames/Torque3D ... t.cpp#L343 is the determinant your end?
LoLJester
Posts: 38
Joined: Thu Aug 13, 2015 5:58 pm
 
by LoLJester » Thu Oct 01, 2015 11:18 pm
In WaterBlock(customName)
{
useOcclusionQuery = 1; // stutter
useOcclusionQuery = 0; // no stutter
}
  • 1
  • 2
16 posts Page 2 of 2

Who is online

Users browsing this forum: No registered users and 1 guest