JLChnToZ / VVMW

VizVid - Brand new original video player frontend for VRChat, aims for flexibility.
https://xtl.booth.pm/items/5056077
MIT License
70 stars 6 forks source link

The video playback point repeatedly moves back and forth in small increments in some situations #31

Closed Narazaka closed 2 months ago

Narazaka commented 2 months ago

In some situations, maybe especially high load, the video playback point repeatedly moves back and forth in small increments, making it impossible to watch the video at all.

VRChat log says

2024.04.26 04:10:13 Log        -  [JLChnToZ.VRC.VVMW.Core] Send Event _OnTimeDrift

2024.04.26 04:10:14 Log        -  [JLChnToZ.VRC.VVMW.Core] Send Event _OnTimeDrift

2024.04.26 04:10:14 Log        -  [JLChnToZ.VRC.VVMW.Core] Send Event _OnTimeDrift

2024.04.26 04:10:15 Log        -  [JLChnToZ.VRC.VVMW.Core] Send Event _OnTimeDrift

2024.04.26 04:10:15 Log        -  [JLChnToZ.VRC.VVMW.Core] Send Event _OnTimeDrift

2024.04.26 04:10:16 Log        -  [JLChnToZ.VRC.VVMW.Core] Send Event _OnTimeDrift

2024.04.26 04:10:16 Log        -  [JLChnToZ.VRC.VVMW.Core] Send Event _OnTimeDrift

so I think that SyncTime() is being called repeatedly because the duration difference threshold is too small.

VisVid sync threshold is smaller than common other video players like below and cannot change from inspector. VizVid: 0.1f iwasync: 0.92f USharpVideo: 0.85f

JLChnToZ commented 2 months ago

Good point, I haven't experienced the situation that timing was unable to keep on sync. Its look like it is similar what #29 described (which I'm not quite sure what was the cause yet).

Do you think I should increase the threshold constant value internally or expose this value to inspector?

Narazaka commented 2 months ago

Do you think I should increase the threshold constant value internally or expose this value to inspector?

I think so.

I have experienced this situation not that many, but my friend who has low spec PC (GTX1660 and low CPU) complains that he faces that situation many times in my world and it seems to happen even if other people does not experience it

JLChnToZ commented 2 months ago

So, if I don't misunderstand, this issue might happen when network latency too high and/or hardware rig is too low ended?

Narazaka commented 2 months ago

I think so partially but not certain. My env is i7-13700KF, RTX3090 and Pimax 5K but I experienced especially when there are many people present (10 or more).

Narazaka commented 2 months ago

and my low spec friend: maybe 4-5 people

Narazaka commented 2 months ago

and this happens even if he is the video owner.

JLChnToZ commented 2 months ago

Understand. Certainly need to increase threshold value.

JLChnToZ commented 2 months ago

The changes were made and will be included in next release.