[SOLVED] Sim-eth-es frametime stutter / rendering hiccup

How would I tell the two apart by logging - I dont know what to log - do you mean a printout of the tpf on client?

The stutter is in the tpf as well (not sure what that tells me though - here taken from the ModelStateView)
1:

0.0057754577
0.004900471
0.10062474
0.001712351
8.0033997E-4

2:

0.004998293
0.003882211
0.0055587417
0.10105125
0.009536368
9.24651E-4
0.0031393599
0.003968896

Both and or one at a time I guess. Maybe even set the logger level to debug or something. Knowing Paul he already did the hard work.

Edited.

Well, ask the right things to get the right answer :stuck_out_tongue:

  1. Run the Memory Profiler and see what the memory does. Most of the time this is resolved by setting a higher heap size (-Xmx) so the GC has to be run lesser times.
  2. If this doesn’t help (the stuttering only occurs later / rarer) you would have a memory leak, in Zay-ES this always is not calling the .cleanup() on an EntitySet
  3. You could change the GC to an implementation which does not stop the program from executing (ConcurrentSweepGC), however that is much work to fine tune stuff which might not help if 1. or 2. are the cause

Keywords would be GC Freeze or something

Tried creating a gradle.properties in project folder and setting:

org.gradle.jvmargs=-Xmx3g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

no luck.

That’s a server side issue, right?

Normally I would say a networking issue… but then I wouldn’t expect to see jumps in JME’s tpf like that.

The other thing would be GC as folks have mentioned… but GC shouldn’t be an issue in this app and others seem to run it fine, I guess. (Some even base whole games on this starting example.)

Next thing I guess is just to verify that something else isn’t stealing CPU from your app periodically. As a last resort, you can try rebooting the OS or something to see if that fixes it.

Wait… I may have made in incorrect assumption. Which tpf were you logging?

The client side inModelViewState

Saw a thread here that mentions the same issue (though without the picture its hard to say for sure):

Also tried without luck:

applicationDefaultJvmArgs = ["-Dgreeting.language=en -XX:+UseConcMarkSweepGC -Xmx4000m -Dfile.encoding=UTF-8 "]

in the build.gradle file.

Did I include debugging HUDs in sim-eth examples? I know you can popup the normal JME GPU stats (from that other thread) but I don’t know if I included any network graphs.

…the original app I based this on used to have a frame timing graph for the networking.

Edit: looks like “not”.

Edit: looks like “not not”… F7 will open the network timing debug view.

Yes, I included a picture in my opening statement :slight_smile:

Perhaps not surprising, the issue is more apparent on larger resolutions.

All of the graphs seem to indicate that it is rendering related… and this kind of confirms it. I wonder if other JME games exhibit the same issue at high resolutions if you are micro-watching the frame timings.

Sim-eth examples will be sensitive to render burps because of how it’s timing things, I guess.

Sorry… I missed it because it was clipped in the forum-included part and super tiny.

Do you have an nvidia card by chance?

Yes… I was lying in bed yesterday trying to remember something about a setting in the nvidia cards that causes this

Ah, you provided the solution before :slight_smile:

Yea, one of these days I need to sit down and figure out what needs to change with jME in order to work correctly with default nvidia cards. I probably lost 9 months of dev time re-configuring different parts of Spoxel before I eventually figured it out.

1 Like

I observe the same hiccups have also nvidia card but on a linux I guess I don’t use the native driver as this caused black screen issues.