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... !
vuforia runs VERY slow on Samsung GT-P6800
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
vuforia runs VERY slow on Samsung GT-P6800
Hi AlessandroB,
Per your message, I add time measure code and here is the log from logchat. Hope it is not too long :)
Thanks,
Jason
vuforia runs VERY slow on Samsung GT-P6800
Thanks for the report. Does that log include a period during which a target has been detected and tracked?
vuforia runs VERY slow on Samsung GT-P6800
@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.
vuforia runs VERY slow on Samsung GT-P6800
David,
I rerun the test and it includes the detect and tracking before quit. See attached.
Thanks,
Jason
11-05 14:42:15.355: D/dalvikvm(15711): Late-enabling CheckJNI
vuforia runs VERY slow on Samsung GT-P6800
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
vuforia runs VERY slow on Samsung GT-P6800
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.
vuforia runs VERY slow on Samsung GT-P6800
vuforia runs VERY slow on Samsung GT-P6800
hi Jason, no update yet, sorry. I'm collecting information on this issue, I hope to get back to you asap.
vuforia runs VERY slow on Samsung GT-P6800
We scheduled some tests on the device. I'll keep you posted on the results.
vuforia runs VERY slow on Samsung GT-P6800
Hi Jason, sorry that it took a bit long;
vuforia runs VERY slow on Samsung GT-P6800
Forgot to mention:
please also reboot the device once;
it looks like you are low on free memory from your inital logs.
vuforia runs VERY slow on Samsung GT-P6800
Alessandro,
vuforia runs VERY slow on Samsung GT-P6800
Alessandro,
vuforia runs VERY slow on Samsung GT-P6800
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.
vuforia runs VERY slow on Samsung GT-P6800
Hi Jason,