Log in or register to post comments

Memory problem

April 16, 2014 - 6:57am #1

Hi, 

 

I've developed an app which is using 4 data sets with 100 targets each ( JPG files 512 x 512 ). Each data set's file size is about 7MB. But when loaded into mobile's memory one data set is taking up to 70 - 80MB. So , when DS's are loaded at start together they use about 300MB of memory. With such scenario I'm getting 'memory limit exceed' info and app is being closed by the system. Unfortunately I cannot use Cloud Reco. App must run in offline mode. Morover I've tried to load DS's in a different way , like 1. Load 1st data set , 2. Scan 1st data set .3 When target not recognized - unload 1st data set. 4. Load another datset. But the problem is that loading datasets during one scan attempt is taking too much time. So my question is : Is there any way to decrease memory usage ? Maybe scaling down (to 256 x 256) image targets will help ? Do you have any ideas / clues ?

 

Thanks for attention ! 

Memory problem

April 16, 2014 - 9:17am #6

Ok, thanks for the clarification... then, it is actually about the Dataset Loading time in this case (once the loading is completed, detection should occur very fast, but indeed, loading a full dataset with 100 target can take a bit long).

So, in this case, there is not much else that can be done, at least to my knowledge,   except switching to Cloud Reco (which would be really well suited for cases like these, with hundreds of targets)...   although, I understand that this is not an option for you, since you do not want / cannot  use network connection.

 

Memory problem

April 16, 2014 - 8:14am #5

AlessandroB wrote:

scanning is running over one minute

What have you done exactly ? do you destroy the "unused" Dataset when loading a new one ? (you can do that by calling tracker::destroyDataset())

 

 

 

Yes, writing "scanning is running over one minute" I ment whole prosess. Scaning and loading 4 data sets one by one from 1st to 4th. So if your target is in 4th dataset you have to wait o long time before Vuforia will recognize it. 

Memory problem

April 16, 2014 - 8:08am #4

scanning is running over one minute

What have you done exactly ? do you destroy the "unused" Dataset when loading a new one ? (you can do that by calling tracker::destroyDataset())

 

 

Memory problem

April 16, 2014 - 7:52am #3

Hi, 

Thanks for your answer ! 

I've already done that. And if I scan target , which is included in the last dataset - scanning is running over one minute ! 

This is really hard to accept. Additionaly you have to have your device directed to target. You cannot leave your device from a target view. 

This facts really hurts performance and user experiance. 

Is there really no workaround ?

 

BTW. Why image targets occupy so much memory ? 

 

Kind regards,

Memory problem

April 16, 2014 - 7:16am #2

Scaling down the images to e.g. 256 x 256 should not help, because the images that you upload to the Target Manager are already re-scaled by the Target Manager itself... also, what matter is the features that the Target Manager extracts from the image, not the image itself.

 

But i would consider, if possible, loading and unloading the Datasets (in any case, you cannot use more than 100 active targets at the same time), so to load only one dataset at a time.

 

 

 

Log in or register to post comments