From 750fadba87bb959c9af32e89e3f1bc7af6cb6dd2 Mon Sep 17 00:00:00 2001 From: "Eunki, Hong" Date: Thu, 9 Jun 2022 15:24:54 +0900 Subject: [PATCH] Remove useless iteration when debug mode Some API; like fontClient.GetDescription, are very slow. But these result values only used for debug log printing. This patch make some useless iteration will not works for normal debug mode + NoLogging level. Change-Id: I1feafda4d18b46902724a3cd305a1a87e030bfd5 Signed-off-by: Eunki, Hong --- dali-toolkit/internal/text/markup-processor.cpp | 2 +- .../internal/text/multi-language-support-impl.cpp | 4 +++- .../text/rendering/atlas/text-atlas-renderer.cpp | 2 +- .../internal/text/text-controller-relayouter.cpp | 16 ++++++++-------- .../animated-image/rolling-animated-image-cache.cpp | 3 ++- .../visuals/animated-image/rolling-image-cache.cpp | 1 + dali-toolkit/internal/visuals/visual-base-impl.cpp | 1 + 7 files changed, 17 insertions(+), 12 deletions(-) diff --git a/dali-toolkit/internal/text/markup-processor.cpp b/dali-toolkit/internal/text/markup-processor.cpp index 60eb03b..1047411 100644 --- a/dali-toolkit/internal/text/markup-processor.cpp +++ b/dali-toolkit/internal/text/markup-processor.cpp @@ -941,7 +941,7 @@ void ResizeModelVectors(MarkupProcessData& markupProcessData, markupProcessData.characterSpacingCharacterRuns.Resize(characterSpacingCharacterRunIndex); #ifdef DEBUG_ENABLED - for(unsigned int i = 0; i < colorRunIndex; ++i) + for(uint32_t i = 0; gLogFilter->IsEnabledFor(Debug::Verbose) && i < colorRunIndex; ++i) { ColorRun& run = markupProcessData.colorRuns[i]; DALI_LOG_INFO(gLogFilter, Debug::Verbose, "run[%d] index: %d, length: %d, color %f,%f,%f,%f\n", i, run.characterRun.characterIndex, run.characterRun.numberOfCharacters, run.color.r, run.color.g, run.color.b, run.color.a); diff --git a/dali-toolkit/internal/text/multi-language-support-impl.cpp b/dali-toolkit/internal/text/multi-language-support-impl.cpp index dbd110b..52f2b18 100644 --- a/dali-toolkit/internal/text/multi-language-support-impl.cpp +++ b/dali-toolkit/internal/text/multi-language-support-impl.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -500,6 +500,7 @@ void MultilanguageSupport::ValidateFonts(const Vector& scriptRunEndIt); #ifdef DEBUG_ENABLED + if(gLogFilter->IsEnabledFor(Debug::Verbose)) { Dali::TextAbstraction::FontDescription description; fontClient.GetDescription(fontId, description); @@ -716,6 +717,7 @@ void MultilanguageSupport::ValidateFonts(const Vector& } #ifdef DEBUG_ENABLED + if(gLogFilter->IsEnabledFor(Debug::Verbose)) { Dali::TextAbstraction::FontDescription description; fontClient.GetDescription(fontId, description); diff --git a/dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.cpp b/dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.cpp index d408450..847954f 100644 --- a/dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.cpp +++ b/dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.cpp @@ -782,7 +782,7 @@ struct AtlasRenderer::Impl DALI_LOG_INFO(gLogFilter, Debug::Verbose, "%s\n", metrics.mVerboseGlyphCounts.c_str()); - for(uint32_t i = 0; i < metrics.mAtlasMetrics.mAtlasCount; ++i) + for(uint32_t i = 0; gLogFilter->IsEnabledFor(Debug::Verbose) && i < metrics.mAtlasMetrics.mAtlasCount; ++i) { DALI_LOG_INFO(gLogFilter, Debug::Verbose, " Atlas [%i] %sPixels: %s Size: %ix%i, BlockSize: %ix%i, BlocksUsed: %i/%i\n", i + 1, i > 8 ? "" : " ", metrics.mAtlasMetrics.mAtlasMetrics[i].mPixelFormat == Pixel::L8 ? "L8 " : "BGRA", metrics.mAtlasMetrics.mAtlasMetrics[i].mSize.mWidth, metrics.mAtlasMetrics.mAtlasMetrics[i].mSize.mHeight, metrics.mAtlasMetrics.mAtlasMetrics[i].mSize.mBlockWidth, metrics.mAtlasMetrics.mAtlasMetrics[i].mSize.mBlockHeight, metrics.mAtlasMetrics.mAtlasMetrics[i].mBlocksUsed, metrics.mAtlasMetrics.mAtlasMetrics[i].mTotalBlocks); } diff --git a/dali-toolkit/internal/text/text-controller-relayouter.cpp b/dali-toolkit/internal/text/text-controller-relayouter.cpp index 42199ad..3e4c9c8 100644 --- a/dali-toolkit/internal/text/text-controller-relayouter.cpp +++ b/dali-toolkit/internal/text/text-controller-relayouter.cpp @@ -67,7 +67,7 @@ Size Controller::Relayouter::CalculateLayoutSizeOnRequiredControllerSize(Control SHAPE_TEXT | GET_GLYPH_METRICS); - const OperationsMask sizeOperations = static_cast(LAYOUT | ALIGN | REORDER); + const OperationsMask sizeOperations = static_cast(LAYOUT | ALIGN | REORDER); // Set the update info to relayout the whole text. TextUpdateInfo& textUpdateInfo = impl.mTextUpdateInfo; @@ -798,13 +798,13 @@ void Controller::Relayouter::DoRelayoutHorizontalAlignment(Controller::Impl& void Controller::Relayouter::CalculateVerticalOffset(Controller::Impl& impl, const Size& controlSize) { - ModelPtr& model = impl.mModel; - VisualModelPtr& visualModel = model->mVisualModel; - Size layoutSize = model->mVisualModel->GetLayoutSize(); - Size oldLayoutSize = layoutSize; - float offsetY = 0.f; - bool needRecalc = false; - float defaultFontLineHeight = impl.GetDefaultFontLineHeight(); + ModelPtr& model = impl.mModel; + VisualModelPtr& visualModel = model->mVisualModel; + Size layoutSize = model->mVisualModel->GetLayoutSize(); + Size oldLayoutSize = layoutSize; + float offsetY = 0.f; + bool needRecalc = false; + float defaultFontLineHeight = impl.GetDefaultFontLineHeight(); if(fabsf(layoutSize.height) < Math::MACHINE_EPSILON_1000) { diff --git a/dali-toolkit/internal/visuals/animated-image/rolling-animated-image-cache.cpp b/dali-toolkit/internal/visuals/animated-image/rolling-animated-image-cache.cpp index c430320..74ec088 100644 --- a/dali-toolkit/internal/visuals/animated-image/rolling-animated-image-cache.cpp +++ b/dali-toolkit/internal/visuals/animated-image/rolling-animated-image-cache.cpp @@ -28,6 +28,7 @@ namespace Debug::Filter* gAnimImgLogFilter = Debug::Filter::New(Debug::NoLogging, false, "LOG_ANIMATED_IMAGE"); #define LOG_CACHE \ + if(gAnimImgLogFilter->IsEnabledFor(Debug::Concise)) \ { \ std::ostringstream oss; \ oss << "Size:" << mQueue.Count() << " [ "; \ @@ -194,7 +195,7 @@ TextureSet RollingAnimatedImageCache::RequestFrameLoading(uint32_t frameIndex, b mLoadState = TextureManager::LoadState::LOADING; auto preMultiplyOnLoading = mPreMultiplyOnLoad ? TextureManager::MultiplyOnLoad::MULTIPLY_ON_LOAD - : TextureManager::MultiplyOnLoad::LOAD_WITHOUT_MULTIPLY; + : TextureManager::MultiplyOnLoad::LOAD_WITHOUT_MULTIPLY; TextureManager::TextureId loadTextureId = TextureManager::INVALID_TEXTURE_ID; TextureSet textureSet = mTextureManager.LoadAnimatedImageTexture(mImageUrl, diff --git a/dali-toolkit/internal/visuals/animated-image/rolling-image-cache.cpp b/dali-toolkit/internal/visuals/animated-image/rolling-image-cache.cpp index f78d74a..7a84f5b 100644 --- a/dali-toolkit/internal/visuals/animated-image/rolling-image-cache.cpp +++ b/dali-toolkit/internal/visuals/animated-image/rolling-image-cache.cpp @@ -29,6 +29,7 @@ namespace Debug::Filter* gAnimImgLogFilter = Debug::Filter::New(Debug::NoLogging, false, "LOG_ANIMATED_IMAGE"); #define LOG_CACHE \ + if(gAnimImgLogFilter->IsEnabledFor(Debug::Concise)) \ { \ std::ostringstream oss; \ oss << "Size:" << mQueue.Count() << " [ "; \ diff --git a/dali-toolkit/internal/visuals/visual-base-impl.cpp b/dali-toolkit/internal/visuals/visual-base-impl.cpp index ab8f434..b50cc59 100644 --- a/dali-toolkit/internal/visuals/visual-base-impl.cpp +++ b/dali-toolkit/internal/visuals/visual-base-impl.cpp @@ -1030,6 +1030,7 @@ void Visual::Base::AnimateProperty( Internal::TransitionData::Animator& animator) { #if defined(DEBUG_ENABLED) + if(gVisualBaseLogFilter->IsEnabledFor(Debug::General)) { std::ostringstream oss; oss << "Visual::Base::AnimateProperty(Visual:" << mImpl->mName << " Property:" << animator.propertyKey << " Target: " << animator.targetValue << std::endl; -- 2.7.4