Forum Discussion
HartLabs
11 years agoHonored Guest
Extra Buffer Swap (Overdraw) as a Cause of 'Judder'
Since judder is such a wide problem and I have not seen mention of this yet I thought I would start a new topic on the subject.
This is just a note from my own experience developing in OpenGL, but I had an issue with what I am going to call overdraw, which felt like judder in practice. It was a result of extra buffer swapping in my engine which would draw a double and offset image. I was swapping once with the Oculus end frame call, and once with a standard swap. I think what was happening is the Oculus call would use an updated time warp matrix and the standard would use the previous frames although I don't know enough to say for certain. Both would be combined and then correctly distorted and aberrated somehow.
This is simple enough to diagnose with a screen shot, which will show the 'judder' is actually part of each single frames output.
I could see this being an issue not just with double swapping, but in engines with multiple frame buffers that get combined for shader effects. Writing a shader with no time warp over a time warped model as an example.
It seems obvious, but it took me a while to figure out since I was distracted by all the other issues of integration. It might not be your problem, but figure it is worth having on the radar.
This is just a note from my own experience developing in OpenGL, but I had an issue with what I am going to call overdraw, which felt like judder in practice. It was a result of extra buffer swapping in my engine which would draw a double and offset image. I was swapping once with the Oculus end frame call, and once with a standard swap. I think what was happening is the Oculus call would use an updated time warp matrix and the standard would use the previous frames although I don't know enough to say for certain. Both would be combined and then correctly distorted and aberrated somehow.
This is simple enough to diagnose with a screen shot, which will show the 'judder' is actually part of each single frames output.
I could see this being an issue not just with double swapping, but in engines with multiple frame buffers that get combined for shader effects. Writing a shader with no time warp over a time warped model as an example.
It seems obvious, but it took me a while to figure out since I was distracted by all the other issues of integration. It might not be your problem, but figure it is worth having on the radar.
No RepliesBe the first to reply
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 2 years ago
- 9 days ago
- 3 years ago
- 5 years ago
- 5 years ago