OSVR / OSVR-Unity

Package for authoring OSVR experiences with Unity.
Apache License 2.0
99 stars 38 forks source link

Add ATW support #115

Closed DuFF14 closed 7 years ago

DuFF14 commented 8 years ago

Had to be added to Unity Rendering Plugin before Unity, see https://github.com/OSVR/OSVR-Unity-Rendering/issues/15

DuFF14 commented 8 years ago

Currently runs for me on Windows 10 and crashes on Win 7 and 8. But even on Windows 10 where it doesn't crash, the issue is GPU preemption granularity. There isn't an opportunity for the ATW thread to preempt the GPU to perform ATW. It should work on Pascal based GPUs like the upcoming GTX 1080, but on older cards it will require workarounds to add more opportunity for the GPU to be preempted (current gen GPUs can only be preempted at draw call boundaries).

DuFF14 commented 7 years ago

ATW support was added to RenderManager. Set asynchrnous: true in "renderManagerConfig". Works best with Pascal cards. May crash occasionally, but not sure if this is a Unity issue. May need to implement dual buffering: https://github.com/OSVR/OSVR-Unity/tree/doubleBuffer. Will open a new issue for this if its a Unity issue.