Avatars on the edge of FoV increase CPU usage
Greendayle
Noticed weird CPU frame timing. I was dancing in a club, with around 30-40 people. When I had ALL of players in my rendered FoV my CPU frametimes were perfect - 7 ms. When I stare into a wall with all players behind me - even better 4 ms.
But when people were on the edge of my rendered frame my CPU frametimes would tank to 21 ms. And it wasn't only happening to me, tested it with some friends and on different maps too.
GPU frametimes would react normally - more avatars on screen - more miliseconds on GPU.
Is there some weird avatar occlusion detection bug happening?
Nvidia 1080ti, Ryzen 5600x
Log In
Kilerbomb
I recently found this might actually be an entirely separate issue, and avatars being on screen doing this may be more of a side effect than the direct cause. I noticed that it primarily effected AV3 avatars, particularly ones with a lot of layers or overall complexity with state changes. And typically the world you were in needed to be somewhat complex as well, or have a decent amount of occlusion data baked.
Oddly, what I found to fix it in my case was to set my Index refresh rate to 90hz. Before doing so I ran at 144hz, and it happened pretty much every single time I booted up the game, but when running at 90hz I have not yet seen it happen again, even after rebooting my PC multiple times. I also plugged in my old Oculus CV1 to test, and this issue never cropped up even once while running the Oculus.
Hopefully someone who is smarter than me might be able to piece together what the issue might be from this info.
Greendayle
Kilerbomb: it happens still, on og vive at 90 FPS. As soon, as part of the crowd is behind you CPU times become erratic. In big club instances it is way better for CPU frametimes to just stand in a corner where you can see everyone.
Ruuubick - Designer
Hi, is this still an issue you're running into ?
Greendayle
Ruuubick - Designer: tested it a bit, seems like it's still happening.
Ruuubick - Designer
Greendayle: Thanks, will update our internal task
Greendayle
Ruuubick - Designer: any progress?
loyal
Ruuubick - Designer: I'm getting the same issue any new progress
Greendayle
Ruuubick - Designer: still happens
Kilerbomb
Did a little more testing recently, seems that any Mesh Renderer or Skinned Mesh Renderer with "Dynamic Occluded" enabled (the default setting) will cause this to happen if its bounding box volume is simultaneously inside and outside the camera view frustum. This is not specific to avatars, but also happens on gameobjects within worlds.
In my world I was able to fix this by setting up occlusion culling, and turning off Dynamic Occluded on every applicable object, and instead setting them to Occludee Static.
knah
I can confirm that I've seen the sawtooth-like pattern on CPU frametime graph way more often than I'd like. However, I was unable to tie it to avatars on the edge of FoV - it just happens randomly on rotating my head, with some directions giving me good frametimes for a bit, and then the sawtooth would start again.
Some of my friends were able to confirm similar behavior or CPU frametime flipping between something reasonable (like 5-6 ms) and something stupidly high (like 20ms) for no apparent reason, although they used XSOverlay for measurement so no fancy graphs.
6800XT, Ryzen 5800X for me; 6800XT, Ryzen 3700X for a friend.
NarryG
This is anecdotal, but I feel like I've seen the same thing.
KillFrenzy
I've noticed that some avatars flicker on the edge of vision. It seems that the bounding box for the avatar may be different depending if the avatar is visible or not, causing the avatar to flicker on and off.
Kilerbomb
Huh... This may actually extend to worlds as well. In a world I'm working on, sometimes when looking in very specific directions the CPU time will spike in the exact same way as in the video, also creating the sawtooth-like pattern in the frametime chart. I have nothing that is view dependent that would cause this, but I
do
have occlusion culling set up... I wonder if this is a related issue.I have a 1070Ti and a Ryzen 3950x.
_Steve
Same happened to me, its like everything froze for a split second.
AMG 6800, Ryzen 3800x