metaio in iPhone 4

304 views Asked by At

I've developed an iOS app that recognizes some logos. The metaio SDK runs fine in iPad Mini, iPhone 5 and iPhone 4S.

In iPhone 4 the SDK runs really slow and sloppy. How can I fix this?

Btw, I'm using the latest SDK and iOS 7 in every device.

Thanks.

1

There are 1 answers

0
diogo.appDev On BEST ANSWER

Fixed it with the following:

[glView setBackgroundColor:[UIColor clearColor]];
m_metaioSDK->setSeeThrough(true);
AVCaptureVideoPreviewLayer* previewLayer = m_metaioSDK->getCameraPreviewLayer();
previewLayer.frame = self.view.frame;
[self.view.layer addSublayer:previewLayer];

The documentation: Get a camera preview layer from the active camera session. Use this to get a pointer to a AVCaptureVideoPreviewLayer that is created based on the current camera session. You can use this to draw the camera image in the background and add a transparent EAGLView on top of this. To prevent sdk from drawing the background in OpenGL you can activate the see-through mode.

Answer from the metaio guys: The 'toggle cam drawing' just sets the background of the renderer transparent and puts the native camera preview in the background. just have a look at the documentation of

virtual AVCaptureVideoPreviewLayer* getCameraPreviewLayer() This provides the illusion that everything is running faster. However, the tracking speed will still be slow. In case of a pure-detection scenario, this might be fine. In case you want to overlay, it will result in a swimming augmentation.

Better would be for you to have a look why it's running slow in the first place. If you have many targets in your tracking-configuration, you could set the MaxObjectsToDetectPerFrame parameter to only look for a few patterns per frame. ( http://dev.metaio.com/sdk/tracking-config/optical-tracking/image-tracking/)