"We offer new support options and therefor the forums are now in read-only mode! Please check out our Support Center for more information." - Vuforia Engine Team

vuforia runs VERY slow on Samsung GT-P6800

Hi,

I am testing vuforia-sdk-1.5.9 on Samsung GT-P6800 running Android 4.04.   I keep ImagaTargets untouched.   Although it can be launched, it runs very very very slow (roughly 1+ second per shot).   Log as attached below showes the video is configred as 640x480.  Is there any configuration should be changed when running on  ICS?

 

Also, first time launch after installation, splash screen keeps for about 30s before having camera view.   Later on launch does not have this problem.    

Thanks,

Jason

 

Following is from my logchat:

 

10-28 10:58:38.635: D/dalvikvm(17878): Trying to load lib /data/data/com.qualcomm.QCARSamples.ImageTargets/lib/libQCAR.so 0x412c8b80

10-28 10:58:38.635: D/dalvikvm(17878): Added shared lib /data/data/com.qualcomm.QCARSamples.ImageTargets/lib/libQCAR.so 0x412c8b80

10-28 10:58:38.640: I/QCAR(17878): Native library libQCAR.so loaded

10-28 10:58:38.640: D/dalvikvm(17878): Trying to load lib /data/data/com.qualcomm.QCARSamples.ImageTargets/lib/libImageTargets.so 0x412c8b80

10-28 10:58:38.640: D/dalvikvm(17878): Added shared lib /data/data/com.qualcomm.QCARSamples.ImageTargets/lib/libImageTargets.so 0x412c8b80

10-28 10:58:38.640: D/dalvikvm(17878): No JNI_OnLoad found in /data/data/com.qualcomm.QCARSamples.ImageTargets/lib/libImageTargets.so 0x412c8b80, skipping init

10-28 10:58:38.640: I/QCAR(17878): Native library libImageTargets.so loaded

10-28 10:58:38.645: D/QCAR(17878): ImageTargets::onCreate

10-28 10:58:38.675: D/dalvikvm(17878): GC_FOR_ALLOC freed 78K, 5% free 6883K/7239K, paused 16ms

10-28 10:58:38.675: I/dalvikvm-heap(17878): Grow heap (frag case) to 7.057MB for 262160-byte allocation

10-28 10:58:38.695: D/dalvikvm(17878): GC_FOR_ALLOC freed <1K, 6% free 7138K/7559K, paused 10ms

10-28 10:58:38.715: D/dalvikvm(17878): GC_FOR_ALLOC freed 0K, 6% free 7138K/7559K, paused 10ms

10-28 10:58:38.715: I/dalvikvm-heap(17878): Grow heap (frag case) to 7.306MB for 262160-byte allocation

10-28 10:58:38.765: D/dalvikvm(17878): GC_FOR_ALLOC freed <1K, 7% free 7394K/7879K, paused 9ms

10-28 10:58:38.780: D/dalvikvm(17878): GC_FOR_ALLOC freed 536K, 10% free 7139K/7879K, paused 9ms

10-28 10:58:38.795: D/dalvikvm(17878): GC_FOR_ALLOC freed <1K, 7% free 7394K/7879K, paused 11ms

10-28 10:58:38.840: D/dalvikvm(17878): GC_FOR_ALLOC freed 520K, 10% free 7155K/7879K, paused 10ms

10-28 10:58:38.860: D/dalvikvm(17878): GC_FOR_ALLOC freed 16K, 7% free 7395K/7879K, paused 10ms

10-28 10:58:38.870: D/dalvikvm(17878): GC_FOR_ALLOC freed 0K, 3% free 7651K/7879K, paused 9ms

10-28 10:58:38.915: D/dalvikvm(17878): GC_FOR_ALLOC freed 520K, 10% free 7387K/8199K, paused 9ms

10-28 10:58:38.920: I/dalvikvm-heap(17878): Grow heap (frag case) to 8.765MB for 1536016-byte allocation

10-28 10:58:38.945: D/dalvikvm(17878): GC_CONCURRENT freed <1K, 9% free 8887K/9735K, paused 1ms+5ms

10-28 10:58:38.965: D/QCAR(17878): ImageTargets::onResume

10-28 10:58:38.965: I/AR(17878): QCAR has been initialized successfully

10-28 10:58:38.965: I/AR(17878): QCAR SDK version 1.5.9

10-28 10:58:39.070: D/CLIPBOARD(17878): Hide Clipboard dialog at Starting input: finished by someone else... !

10-28 10:58:39.070: D/QCAR(17878): InitQCARTask::onPostExecute: QCAR initialization successful

10-28 10:58:39.070: I/IMAGE_TARGETS(17878): Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargets_initTracker

10-28 10:58:39.075: I/IMAGE_TARGETS(17878): Successfully initialized ImageTracker.

10-28 10:58:39.075: I/IMAGE_TARGETS(17878): Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargets_initApplicationNative

10-28 10:58:39.075: I/IMAGE_TARGETS(17878): Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargets_initApplicationNative finished

10-28 10:58:39.080: I/QCAR(17878): Using OpenGL ES 2.0

10-28 10:58:39.080: I/QCAR(17878): Using opaque GLView, depth buffer size: 16, stencil size: 0

10-28 10:58:39.080: I/IMAGE_TARGETS(17878): Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargets_loadTrackerData

10-28 10:58:39.080: I/AR(17878): ImageTracker: Successfully created dataset

10-28 10:58:39.085: I/AR(17878): ImageTracker: Successfully created dataset

10-28 10:58:39.095: D/dalvikvm(17878): GC_FOR_ALLOC freed 57K, 9% free 8934K/9735K, paused 12ms

10-28 10:58:39.095: I/dalvikvm-heap(17878): Grow heap (frag case) to 9.235MB for 445340-byte allocation

10-28 10:58:39.110: D/dalvikvm(17878): GC_FOR_ALLOC freed 436K, 13% free 8933K/10183K, paused 10ms

10-28 10:58:39.505: D/dalvikvm(17878): GC_CONCURRENT freed 705K, 12% free 9008K/10183K, paused 3ms+3ms

10-28 10:58:39.575: D/dalvikvm(17878): GC_CONCURRENT freed 822K, 13% free 8936K/10183K, paused 3ms+4ms

10-28 10:58:39.670: D/dalvikvm(17878): GC_CONCURRENT freed 774K, 13% free 8935K/10183K, paused 2ms+3ms

10-28 10:58:39.940: D/dalvikvm(17878): GC_CONCURRENT freed 736K, 13% free 8939K/10183K, paused 3ms+3ms

10-28 10:58:40.400: D/dalvikvm(17878): GC_CONCURRENT freed 708K, 13% free 8928K/10183K, paused 4ms+3ms

10-28 10:58:40.470: D/dalvikvm(17878): GC_CONCURRENT freed 614K, 12% free 9029K/10183K, paused 2ms+2ms

10-28 10:58:40.730: D/dalvikvm(17878): GC_CONCURRENT freed 844K, 13% free 8930K/10183K, paused 3ms+3ms

10-28 10:58:40.765: I/IMAGE_TARGETS(17878): Successfully loaded and activated data set.

10-28 10:58:40.765: D/QCAR(17878): LoadTrackerTask::onPostExecute: execution successful

10-28 10:58:40.840: D/dalvikvm(17878): GC_EXPLICIT freed 172K, 13% free 8917K/10183K, paused 4ms+14ms

10-28 10:58:40.965: I/IMAGE_TARGETS(17878): Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargets_startCamera

10-28 10:58:41.520: I/IMAGE_TARGETS(17878): Configure Video Background : Video (640,480), Screen (1280,752), mSize (1280,960)

10-28 10:58:41.585: D/dalvikvm(17878): GC_FOR_ALLOC freed 184K, 8% free 9384K/10183K, paused 27ms

10-28 10:58:41.590: I/dalvikvm-heap(17878): Grow heap (frag case) to 9.694MB for 464912-byte allocation

10-28 10:58:41.645: D/dalvikvm(17878): GC_FOR_ALLOC freed <1K, 9% free 9838K/10695K, paused 47ms

10-28 10:58:41.755: D/dalvikvm(17878): GC_EXPLICIT freed <1K, 9% free 9838K/10695K, paused 9ms+10ms

10-28 10:58:41.905: I/IMAGE_TARGETS(17878): Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargets_setProjectionMatrix

10-28 10:58:42.020: D/libEGL(17878): loaded /system/lib/egl/libEGL_mali.so

10-28 10:58:42.040: D/libEGL(17878): loaded /system/lib/egl/libGLESv1_CM_mali.so

10-28 10:58:42.055: D/libEGL(17878): loaded /system/lib/egl/libGLESv2_mali.so

10-28 10:58:42.075: D/(17878): Device driver API match

10-28 10:58:42.075: D/(17878): Device driver API version: 10

10-28 10:58:42.075: D/(17878): User space API version: 10 

10-28 10:58:42.075: D/(17878): mali: REVISION=Linux-r2p4-02rel0 BUILD_DATE=Fri May  4 10:32:42 KST 2012 

10-28 10:58:42.080: I/QCAR(17878): Creating OpenGL ES 2.0 context

10-28 10:58:42.130: D/QCAR(17878): GLRenderer::onSurfaceCreated

10-28 10:58:42.130: I/IMAGE_TARGETS(17878): Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargetsRenderer_initRendering

10-28 10:58:42.175: D/QCAR(17878): GLRenderer::onSurfaceChanged

10-28 10:58:42.175: I/IMAGE_TARGETS(17878): Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargetsRenderer_updateRendering

10-28 10:58:42.175: I/IMAGE_TARGETS(17878): Configure Video Background : Video (640,480), Screen (1280,752), mSize (1280,960)

10-28 10:58:56.920: D/QCAR(17878): ImageTargets::onPause

10-28 10:58:56.965: W/SurfaceView(17878): CHECK surface infomation creating=false formatChanged=false sizeChanged=false visible=false visibleChanged=true surfaceChanged=true realSizeChanged=false redrawNeeded=true left=false top=false

10-28 10:58:56.965: I/IMAGE_TARGETS(17878): Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargets_stopCamera

10-28 10:58:57.385: W/SurfaceTexture(17878): freeAllBuffersExceptCurrentLocked called but mQueue is not empty

10-28 10:58:57.385: D/gralloc(17878): unmmap  pid(1721), vaddr(0x5d3f8000)

10-28 10:58:57.385: E/gralloc(17878): [GR_MD] unmapping from 0x5d146000, size=33554432

10-28 10:58:57.390: D/gralloc(17878): unmmap  pid(1721), vaddr(0x5f682000)

10-28 10:58:57.390: E/gralloc(17878): [GR_MD] unmapping from 0x5f35d000, size=33554432

10-28 10:58:57.395: D/gralloc(17878): unmmap  pid(1721), vaddr(0x616f5000)

10-28 10:58:57.395: E/gralloc(17878): [GR_MD] unmapping from 0x6135d000, size=33554432

10-28 10:58:57.400: D/gralloc(17878): unmmap  pid(1721), vaddr(0x63768000)

10-28 10:58:57.400: E/gralloc(17878): [GR_MD] unmapping from 0x6335d000, size=33554432

10-28 10:58:57.405: D/gralloc(17878): unmmap  pid(1721), vaddr(0x65827000)

10-28 10:58:57.405: E/gralloc(17878): [GR_MD] unmapping from 0x653a9000, size=33554432

10-28 10:58:57.410: D/gralloc(17878): unmmap  pid(1721), vaddr(0x6789a000)

10-28 10:58:57.410: E/gralloc(17878): [GR_MD] unmapping from 0x673a9000, size=33554432

10-28 10:58:57.415: D/gralloc(17878): unmmap  pid(1721), vaddr(0x6b980000)

10-28 10:58:57.415: E/gralloc(17878): [GR_MD] unmapping from 0x6b3a9000, size=33554432

10-28 10:58:57.480: D/dalvikvm(17878): GC_EXPLICIT freed 69K, 9% free 9834K/10695K, paused 27ms+2ms

10-28 10:58:58.030: D/CLIPBOARD(17878): Hide Clipboard dialog at Starting input: finished by someone else... !

 

 

AlessandroB

Fri, 11/02/2012 - 10:06

Hi Jason,

can you "profile" a bit and see where the application spends most of his time ?

I could suggest the following for example (in ImageTargets.cpp):

- measure (and Log) time elapsed between two consecutive QCAR_onUpdate() calls

AlessandroB

Mon, 11/05/2012 - 09:53

@Jason: the report indicates that the elapsed time between two consecutive QCAR_onUpdate() very often takes something between half a second and a second, which is indeed quite long. The rendering itself sometimes also takes a bit long but usually not that much on average.

Alessandro,

I changed as you requested.  It showed a smaller screen.  However, I did not see improvement.  It still runs very slow.  Attached is from the logchat.  It has detect and track before quit.

Thanks,

Jason

 

AlessandroB

Mon, 11/05/2012 - 13:58

Thanks Jason for the updated report. So, with that we can exclude the impact of rendering on the slow performance.

So, must be something else more on the QCAR side.

Hi, if the heap is causing issues you could try increasing it with android:largeHeap="true" manifest flag;

http://developer.android.com/guide/topics/manifest/application-element.html

This is available only since API level 11 though.