Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

moonman239

Cancelled
Original poster
Mar 27, 2009
1,541
32
I have an app where you enter in an origin and a destination within the US, and it tells you what the weather will be like at various points on the route. However, the app is too slow. A profiling of the app does not show any slowdowns within my code; here's my call stack from one of the highest time-consuming points:

46 25231.0 RouteWeather (3000) :0
45 13746.0 Main Thread 0x186c89 :0
44 libdyld.dylib 13640.0 start
43 RouteWeather 13640.0 main /Users/montana/Desktop/RouteWeather/RouteWeather/AppDelegate.swift:12
42 UIKitCore 13640.0 UIApplicationMain
41 GraphicsServices 13620.0 GSEventRunModal
40 CoreFoundation 13620.0 CFRunLoopRunSpecific
39 CoreFoundation 13620.0 __CFRunLoopRun
38 CoreFoundation 11005.0 __CFRunLoopDoSource1
37 CoreFoundation 11005.0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__
36 CoreFoundation 11005.0 __CFMachPortPerform
35 QuartzCore 11005.0 display_timer_callback(__CFMachPort*, void*, long, void*)
34 QuartzCore 11004.0 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long)
33 VectorKit 10992.0 -[_GGLDisplayLinkTarget displayLinkFired:]
32 VectorKit 10992.0 ggl::DisplayLink::eek:nTimerFired(double)
31 VectorKit 10992.0 md::MapEngine::eek:nRenderTimerFired(double)
30 VectorKit 10992.0 md::MapEngine::renderScene(double, std::__1::function<void ()>)
29 VectorKit 10992.0 -[GGLOpenGLESLayer onTimerFired:]
28 VectorKit 10992.0 ggl::OESContext::performWhileBound(std::__1::function<void ()> const&)
27 VectorKit 10991.0 std::__1::__function::__func<-[GGLOpenGLESLayer onTimerFired:]::$_1, std::__1::allocator<-[GGLOpenGLESLayer onTimerFired:]::$_1>, void ()>::eek:perator()()
26 VectorKit 10810.0 -[MDDisplayLayer drawToTexture:withRenderQueue:completionHandler:]
25 VectorKit 10810.0 ggl::RenderFrame::execute(ggl::RenderTarget*, ggl::RenderQueue*, std::__1::function<void ()>, std::__1::function<void ()>)
24 VectorKit 10810.0 ggl::GLRenderer::frame(ggl::RenderTarget*, ggl::RenderQueue*, std::__1::function<void ()>, std::__1::function<void ()>)
23 VectorKit 10810.0 geo::TaskQueue::sync_b(void () block_pointer)
22 VectorKit 10810.0 geo::TaskQueue::sync(std::__1::function<void ()>)
21 libdispatch.dylib 10810.0 _dispatch_async_and_wait_f
20 libdispatch.dylib 10810.0 _dispatch_async_and_wait_invoke_and_complete_recurse
19 libdispatch.dylib 10810.0 _dispatch_client_callout
18 VectorKit 10810.0 invocation function for block in geo::TaskQueue::sync(std::__1::function<void ()>)
17 VectorKit 10810.0 invocation function for block in ggl::GLRenderer::frame(ggl::RenderTarget*, ggl::RenderQueue*, std::__1::function<void ()>, std::__1::function<void ()>)
16 VectorKit 10810.0 ggl::OESContext::performWhileBound(std::__1::function<void ()> const&)
15 VectorKit 10810.0 _ZNSt3__110__function6__funcIZZN3ggl10GLRenderer5frameEPNS2_12RenderTargetEPNS2_11RenderQueueENS_8functionIFvvEEESA_EUb_E3$_3NS_9allocatorISB_EES9_EclEv
14 VectorKit 10810.0 ggl::GLRenderer::_processQueue(ggl::RenderTarget*, ggl::RenderQueue*)
13 VectorKit 10810.0 ggl::GLRenderer::_processQueue(ggl::RenderTarget*, ggl::RenderQueue*)
12 VectorKit 10808.0 std::__1::__function::__func<ggl::GLRenderer::_processQueue(ggl::RenderTarget*, ggl::RenderQueue*)::$_1, std::__1::allocator<ggl::GLRenderer::_processQueue(ggl::RenderTarget*, ggl::RenderQueue*)::$_1>, void ()>::eek:perator()()
11 VectorKit 10748.0 ggl::GLCoreContext::submitRenderItem(ggl::RenderItem const*)
10 GLEngine 9623.0 glDrawElements_IMM_ES2Exec
9 GLEngine 8779.0 gleFlushAtomicFunc
8 3600.0 0x10c909f7c
7 GLRendererFloat 3599.0 gldRenderFillTriangles
6 1203.0 0x10c90ce79
5 GLRendererFloat 1203.0 gldMergeScanlines2x2
4 GLRendererFloat 562.0 gldLLVMFPTransform2x2
3 libGLProgrammability.dylib 543.0 glvmInterpretFPTransformFour
2 libGLProgrammability.dylib 466.0 glvmInterpretFPTransformFourInner
1 libGLProgrammability.dylib 180.0 glvmSamplerSample
0 libGLProgrammability.dylib 64.0 glvmSamplerLoadTexels

Can I please get some insight? Thanks.
 

casperes1996

macrumors 604
Jan 26, 2014
7,503
5,679
Horsens, Denmark
This isn’t an answer to your question, but I laughed quite a bit at this:

VectorKit 10992.0 ggl::DisplayLink::eek:nTimerFired(double)
31 VectorKit 10992.0 md::MapEngine::eek:nRenderTimerFired(double)
30 VectorKit 10992.0 md::MapEngine::renderScene(double, std::__1::function<void ()>)

Might want to put all that in a code block so you don’t get emoji, hehe.

But what kind of slowdown are you seeing? Did you do this on an actual device or in the simulator?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.