Loading 800 targets takes a long time

0 votes
asked Apr 25, 2018 by zonesw (160 points)

Hello,

we have around unique 800 image targets (16MB of data).

I'm using the following code from the example to load the targets from the JSON file:

            var targetList = ImageTargetBaseBehaviour.LoadListFromJsonFile("targetsall.json", StorageType.Assets);
            foreach (var target in targetList.Where(t => t.IsValid).OfType<ImageTarget>())
            {
                GameObject Target = new GameObject(target.Name);
                Target.transform.localPosition = Vector3.zero;
                targetBehaviour = Target.AddComponent<SampleImageTargetBehaviour>();
                targetBehaviour.Bind(tracker);
                targetBehaviour.SetupWithTarget(target);
                GameObject duck03 = Instantiate(Resources.Load("duck03")) as GameObject;
                duck03.transform.parent = targetBehaviour.gameObject.transform;
            }

It takes around 25 seconds until all 800 targets have been loaded (on my high end development machine).

Is there anything to speed up the loading? Users of our app shouldn't have to wait 30 seconds or more until they can start tracking their markers. Maybe some form of "precompilation" of the targets?

Thanks alot

1 Answer

0 votes
answered Apr 25, 2018 by albert52 (31,850 points)
This is normal (if you use local recognition). When you have more targets, the speed and accuracy of loading will decrease. When the number of itargets exceeds 500, we recommend that developers use EasyAR CRS.Many developers use EasyAR CRS to develop and publish wonderful applications.

EasyAR CRS:

1)Offline Cache for Cloud Recognition : Targets Returned from Cloud Can be Stored as Local  Targets for Offline Use

2)Cloud Database with Large Capacity: 100K targets per database for higher cost-effective  Extensible per user request

3)Fast, Accurate Recognition : Fast recognition within 0.1s  High recognition accuracy up to 98%

4)Efficient API : Simple and effective designed API makes developing more convenient

5)Smooth Management: User-friendly graphical management interface provides easy management for cloud database

6)Online Target Rating:Analyze quality for recognition and similarity against the whole database with detail reports for image targets.
commented Apr 25, 2018 by albert52 (31,850 points)
commented Apr 26, 2018 by zonesw (160 points)
Dear albert.

The speed and accuracy of 500 targets if working very nice (tracking)!


But the loading is really an issue, other AR SDKs provide the option to create a database where the targets are created up front.

EasyAR allows us only to create targets at runtime, isn't there an option to have targets created upfront?

Your advertisement says up to 1000 local targets (but if loading 1000 targets takes 60 seconds thats not really usable?)
commented Jul 1, 2020 by androiddeveloper90 (120 points)
Hi Albert,

I am loading just 170 image from local recognition  , it's taking 53 second

How to reduce time.
Welcome to EasyAR SDK Q&A, where you can ask questions and receive answers from other members of the community.
...