| 2394 | FrontendRenderer::Routine::Routine(FrontendRenderer & renderer) : m_renderer(renderer) {} |
| 2395 | |
| 2396 | void 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 | |
| 2441 | void FrontendRenderer::ReleaseResources() |
| 2442 | { |
nothing calls this directly
no test coverage detected