X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fimage-loader%2Floading-task.cpp;h=2c08799dea83dddc2156863a224eb80505d414b2;hb=47beafb2e5b7a6a46b6cb2875ce16dc19e05902d;hp=e81b16f6d887cf1e05ba94631eb616b5177e3cae;hpb=bd552c2e346bf4c0993c443a30e2fc0a07986c3b;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/image-loader/loading-task.cpp b/dali-toolkit/internal/image-loader/loading-task.cpp index e81b16f..2c08799 100644 --- a/dali-toolkit/internal/image-loader/loading-task.cpp +++ b/dali-toolkit/internal/image-loader/loading-task.cpp @@ -16,21 +16,31 @@ */ // CLASS HEADER -#include "loading-task.h" +#include // EXTERNAL INCLUDES #include #include #include #include +#include #include +#ifdef TRACE_ENABLED +#include +#endif + namespace Dali { namespace Toolkit { namespace Internal { +namespace +{ +DALI_INIT_TRACE_FILTER(gTraceFilter, DALI_TRACE_IMAGE_PERFORMANCE_MARKER, false); +} + LoadingTask::LoadingTask(uint32_t id, Dali::AnimatedImageLoading animatedImageLoading, uint32_t frameIndex, DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad, CallbackBase* callback) : AsyncTask(callback), url(), @@ -148,6 +158,16 @@ LoadingTask::~LoadingTask() void LoadingTask::Process() { +#ifdef TRACE_ENABLED + if(gTraceFilter && gTraceFilter->IsTraceEnabled()) + { + std::ostringstream oss; + oss << "[url:" << (!!(animatedImageLoading) ? animatedImageLoading.GetUrl() : url.GetUrl()) << "]"; + DALI_TRACE_BEGIN(gTraceFilter, "DALI_IMAGE_LOADING_TASK"); + DALI_LOG_RELEASE_INFO("BEGIN: DALI_IMAGE_LOADING_TASK %s", oss.str().c_str()); + } +#endif + isReady = false; if(!isMaskTask) { @@ -159,6 +179,25 @@ void LoadingTask::Process() } MultiplyAlpha(); isReady = true; + +#ifdef TRACE_ENABLED + if(gTraceFilter && gTraceFilter->IsTraceEnabled()) + { + std::ostringstream oss; + oss << "["; + oss << "masking:" << isMaskTask << " "; + oss << "index:" << frameIndex << " "; + oss << "pixelBuffers:" << pixelBuffers.size() << " "; + if(!pixelBuffers.empty()) + { + oss << "size:" << pixelBuffers[0].GetWidth() << "x" << pixelBuffers[0].GetHeight() << " "; + oss << "premult:" << pixelBuffers[0].IsAlphaPreMultiplied() << " "; + } + oss << "url:" << (!!(animatedImageLoading) ? animatedImageLoading.GetUrl() : url.GetUrl()) << "]"; + DALI_TRACE_END(gTraceFilter, "DALI_IMAGE_LOADING_TASK"); + DALI_LOG_RELEASE_INFO("END: DALI_IMAGE_LOADING_TASK %s", oss.str().c_str()); + } +#endif } bool LoadingTask::IsReady() @@ -176,6 +215,9 @@ void LoadingTask::Load() else if(encodedImageBuffer) { pixelBuffer = Dali::LoadImageFromBuffer(encodedImageBuffer.GetRawBuffer(), dimensions, fittingMode, samplingMode, orientationCorrection); + + // We don't need to hold image buffer anymore. + encodedImageBuffer.Reset(); } else if(url.IsValid() && url.IsLocalResource()) {