xrCreateInstance blocks for 10 seconds inside LibOVRRT64
I'm on Windows 10 with released v38 Oculus Desktop software, and a Quest 2 with v38, running over AirLink. I'm working on switching to openxr from the proprietary API, and building up a simple "hello" app to get the hang of it before doing a full integration into my codebase. I quickly noticed that every time my app starts up, it spends a very long (10 second) time inside xrCreateInstance. I'm using the Khronos OpenXR-SDK loader. I debugged inside xrCreateInstance, and the time is all spent inside a call to the _get_instance_proc_addr() function pointer, which points to a location inside LibOVRRT64.
I work very hard to make my application load quickly, and I don't want to take a 10 second hit just trying to initialize openxr. I don't see anything like this with the proprietary API. What could be causing this? Is it because I have Steam installed on my PC? Is it some option I need to pass to xrCreateInstance to skip some sort of check that takes 10 seconds?
Specifically, the line of code about 5 calls deep into xrCreateInstance is:
_get_instance_proc_addr(XR_NULL_HANDLE, "xrEnumerateInstanceExtensionProperties",
reinterpret_cast<PFN_xrVoidFunction*>(&rt_xrEnumerateInstanceExtensionProperties));
Any help with this issue is greatly appreciated. I'd like to get off of the deprecated API as soon as possible, but a 10 second startup penalty is unacceptable. Thanks,
Aaron Dwyer
