Jump to content

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


LoLJester

Recommended Posts

Hi JeffR,


It happens when driving, flying, or moving the camera really fast in the World Editor.


I'm using 1.2 only. Never tried it on 3.8, as my project's majority features currently only work on 1.2. A port will be done later on after initial release. So, I'd like to have this work in 1.2 for now, if possible.

Link to comment
Share on other sites

Oh, I totally understand, I just wanted to check if you could replicate the issue or not with 3.8's binary. That'd tell me if the issue was fixed at some point or another.


I'm not able to replicate it with the current 3.8 binary on my machine at max spectator cam speed, so if you could grab it from here and try to replicate it and see if you still get the stutter or not.


That'd let me know if it was fixed between 1.2 and 3.8, or if it's something with your system(particular graphics cards, drivers, etc).

Link to comment
Share on other sites

It does it in 3.8 RC, as well. Very subtle, though. If you put the camera under the water, in a level with only water and terrain, and you move the camera upwards really fast facing the sky, you can see a small stutter/freeze. Same thing happens in 1.2. The more populated is the level, the more obvious the stutter gets. It only happens the first couple of times you speed across the level. It seems to settle after.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

https://github.com/Azaezel/Torque3D/commit/902696e75403b6e72556937a9f98cac4cc9e950e 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.)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...