We have integrated vuforia-sdk-ios-2-0-18-lc in our app in such a way that, once the user downloads the app and presses Scan button after navigating through some other pages, then we start one time initialization of the vuforia sdk in the same fashion that the sample "VisualSearch" app does. We block the screen with a progress indicator untill we confirm that the camera has been initialized and at running state.
This is how we initialize the camera using the QCARUtils.mm (from VisualSearch) -
[qUtils createARofSize:arViewSize forDelegate:arView];
And, as long as we see that this following condition is not met, we block the screen -
Normally, it takes 3/4 seconds to complete the very first initialization (right after downloading the app) over 3G network (on ATT) and even less over 4G LTE (on Verizon). But, 3G on Verizon and 4G LTE on Sprint take on an average of 15/17 seconds for the same. This is a very bad user experience for the very first use of our app. Consecutive times, it initializes pretty fast even if we kill the app.
I have investigated in our app to verify if it's our views or controllers initialization and finally, figured that it's the vuforia camera initialization which takes the longest time.
Any idea on how to solve this problem?