Closed xergon closed 3 years ago
@xergon - try increasing the FOV to >104 degrees. If you use Web UI, it's on the Streaming page. If you don't, you can edit the settings.json file, that would be in the Display.FOV section, but it needs to be in radians (106 degrees == 1.85005 radians). This would push these artifacts out of the FOV. You might still see them a little, but only during very rapid head movements.
ok, thanks, will try! What is the reason for those artefacts if I might ask? Do you plan to fix it? Has it something to do that some codecs can only handle multiples of 16/32px well?
Hello @GennadiyAMD, this being closed means that this is fixed? Even with your settings I found those artefacts to be quite disturbing and "un-immersive" from time to time :-(
@xergon - these artifacts are produced by the Oculus SDK code, not by ReLive VR. They appear when asyncronous time warp offsets the image to compensate for latency. Think about it this way - head pose is captured on the headset, sent to the PC, the PC renders a frame with it and sends it back to the headset. It arrives some time later. By that time the head pose is somewhat different because you keep moving. If you just display the frame as is, the image would lag behind head movements and you'd feel dizzy. So the headset calculates the difference between the head pose a frame was rendered with and the actual head pose at the time when the same frame is being displayed and shifts to where it should be at the moment of display. This shifting is performed by the Oculus SDK itself, not by ReLive VR. When they shift the image, say, to the left, the right edge would have "empty" pixels that need to be filled with something. They can be filled with either solid black, or just left alone and this is what Oculus seems to be doing. So the artifacts you see are the leftovers of the previous frame. There doesn't seem to be a way to tell the Oculus SDK to fill them with black instead and I'm not sure that those black margins that you'd see instead would break the immersion any less - many people complained about them too. It is not possible to eliminate the artifacts completely, the only way to minimize their appearance is to widen the field of view to push them out of the physically visible area and this is exactly what I suggested earlier. There's really nothing else that can be done about it.
Having said this, reducing the overall latency would make the edge artifacts smaller because the amount of frame shift is directly proportional to the latency. Quest2 has a faster decoder and also runs at 90fps compared to the original Quest at 72fps, a higher frame rate translates to lower latency. RX5500/5600/5700 and newer (RX6xxx-series) have a faster encoder compared to RX470/480/580/590, which would also contribute to a lower latency. You can check the log file in c:\Program Files (x86)\Steam\logs\AMDWirelessVR.log for the network latency (just search for "latency" in the file) and if you see network latency above single digits, you might consider upgrading your wireless network (router, eliminate any range extenders if you have any) - check the Wiki for advanced network configuration.
That was the reason for closing the ticket - because it's not really possible to fix, all you can do is minimize it to some extent.
Hey @GennadiyAMD thanks for the detailed information. So this artefacts are not seen when using Oculus Link via Cable on Oculus Quest because this solution has a lot less latency, thus reducing the offset amount used by Async Timewarp? Interesting :-)
Another question: I´m using a Vega VII. Does this card already have the new Navi-Style Encoder, or the older solution from Polaris?
Best, Stefan
@xergon - I don't want to speculate about the latency on Oculus Link as I have no way of measuring it and I don't know what Oculus is doing. Having said that, I doubt that it is much lower. If you look at how time is distributed, you'll see that network doesn't take that much - most of the time spent encoding, decoding and rendering and time spent in these should be comparable regardless whether streaming is done over USB or WiFi. USB is certainly less susceptible to interference and the amount of interference greatly depends on your environment, but with a good WiFi connection the difference should not be big, if any at all.
If you play some game for a few minutes and then attach the c:\Program Files (x86)\Steam\logs\AMDWirelessVR.log file, I might be able to tell more precisely how your network is performing.
Also don't forget that the amount of image shift timewarp has to perform is also proportional to the speed of head movements. You might simply be moving slower when you have a cable dangling off the headset, purely subconsciously. Oculus might also be rendering even a wider FOV than what I suggested for all we know. But as I said above, I don't know what they're doing, so don't want to speculate.
Radeon VII uses VCE4.1 - the older encoder engine similar to Vega. Polaris is VCE3.4. Navi uses VCN - the newer engine which is faster: source, source
Hello, when using Relive VR on Ocululs Quest, I notice really strange artefacts at the edges of the two screens. It´s mainly - but then highly - noticable in high contrast scenes. It is really disturbing and killing the immersion. It´s not so pronounced or even invisible in darker scenes, say for example in a cave of HL Alyx.
I don´t see the artefacts at all when I move the Quest maybe 2cm away from my face as it is only affecting maybe the 32 most outward pixels on each side, but in standard configuration combined with my eyes/face it´s clearly visible at the edges, especially in highly lit scenes with high contrast.
Is there any way to prevent those artefacts? Any special settings? Turning foveated scaling on/off doesn´t help, turning it off just increases the lag - but doesn´t get rid of the artefacts. Same same for higher bitrates. Maybe a special combination of per Eye Render Resolution and Encoding Resolution might help?
Any help is appreciated!
I´m using a Radeon VII with Win10, connected via cable with an Asus AC88 high performance router in an uncongested area with a free 80MHz Slot in the 5GHz Range. Driver is 2020.4.2 I think, using the latest APK from March.
Didn´t notice those artefacts with Virtual Desktop, but in general I like your solution better so I would really love to get rid of this annoyance ;)