MCPcopy Create free account
hub / github.com/comaps/comaps / Do

Method Do

libs/drape_frontend/frontend_renderer.cpp:2396–2439  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2394FrontendRenderer::Routine::Routine(FrontendRenderer & renderer) : m_renderer(renderer) {}
2395
2396void FrontendRenderer::Routine::Do()
2397{
2398 LOG(LINFO, ("Start routine."));
2399
2400 gui::DrapeGui::Instance().ConnectOnCompassTappedHandler(std::bind(&FrontendRenderer::OnCompassTapped, &m_renderer));
2401 m_renderer.m_myPositionController->SetListener(ref_ptr<MyPositionController::Listener>(&m_renderer));
2402 m_renderer.m_userEventStream.SetListener(ref_ptr<UserEventStream::Listener>(&m_renderer));
2403
2404 m_renderer.CreateContext();
2405
2406#if defined(BUILD_DESIGNER) || defined(DEBUG) || defined(DEBUG_DRAPE_XCODE) || defined(SCENARIO_ENABLE)
2407 gui::DrapeGui::Instance().GetScaleFpsHelper().SetVisible(true);
2408#endif
2409
2410 m_renderer.ScheduleOverlayCollecting();
2411
2412#ifdef SHOW_FRAMES_STATS
2413 m_renderer.m_notifier->Notify(ThreadsCommutator::RenderThread, std::chrono::seconds(5), true /* repeating */,
2414 [this](uint64_t)
2415 {
2416 LOG(LINFO, ("framesOverall =", m_renderer.m_frameData.m_framesOverall,
2417 "framesFast =", m_renderer.m_frameData.m_framesFast));
2418#ifdef TRACK_GPU_MEM
2419 LOG(LINFO, (dp::GPUMemTracker::Inst().GetMemorySnapshot().ToString()));
2420#endif
2421 });
2422#endif
2423
2424#ifndef DRAPE_MEASURER_BENCHMARK
2425 DrapeMeasurer::Instance().SetApiVersion(m_renderer.m_apiVersion);
2426 DrapeMeasurer::Instance().SetResolution(
2427 m2::PointU(m_renderer.m_viewport.GetWidth(), m_renderer.m_viewport.GetHeight()));
2428 DrapeMeasurer::Instance().SetGpuName(m_renderer.m_context->GetRendererName());
2429 DrapeMeasurer::Instance().Start();
2430#endif
2431 while (!IsCancelled())
2432 m_renderer.IterateRenderLoop();
2433#ifndef DRAPE_MEASURER_BENCHMARK
2434 DrapeMeasurer::Instance().Stop(true /* forceProcessRealtimeStats */);
2435#endif
2436
2437 m_renderer.CollectShowOverlaysEvents();
2438 m_renderer.ReleaseResources();
2439}
2440
2441void FrontendRenderer::ReleaseResources()
2442{

Callers

nothing calls this directly

Calls 15

SetVisibleMethod · 0.80
GetMemorySnapshotMethod · 0.80
SetApiVersionMethod · 0.80
SetResolutionMethod · 0.80
SetGpuNameMethod · 0.80
IterateRenderLoopMethod · 0.80
SetListenerMethod · 0.45
CreateContextMethod · 0.45
NotifyMethod · 0.45

Tested by

no test coverage detected