From fe65dbde4c16b576a746546dc528013eb876c2df Mon Sep 17 00:00:00 2001 From: panzhi Date: Thu, 12 Oct 2023 12:51:45 +0800 Subject: [PATCH] =?UTF-8?q?trace=E6=89=93=E7=82=B9=E8=A1=A5=E5=85=85DSCREE?= =?UTF-8?q?N=5FSINK=5FPUSH=5FDATA=5FTO=5FWINDOW=5FSTART?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: panzhi --- common/include/dscreen_hitrace.h | 1 + .../sinkservice/screenregionmgr/2.0/src/screenregion.cpp | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/common/include/dscreen_hitrace.h b/common/include/dscreen_hitrace.h index 492e76f0..22efd27c 100644 --- a/common/include/dscreen_hitrace.h +++ b/common/include/dscreen_hitrace.h @@ -37,6 +37,7 @@ const std::string DSCREEN_RELESSE_ENCODER_START = "DSCREEN_RELESSE_ENCODER_STAR const std::string DSCREEN_START_DECODER_START = "DSCREEN_START_DECODER_START"; const std::string DSCREEN_STOP_DECODER_START = "DSCREEN_STOP_DECODER_START"; const std::string DSCREEN_RELEASE_DECODER_START = "DSCREEN_RELEASE_DECODER_START"; +const std::string DSCREEN_SINK_PUSH_DATA_TO_WINDOW_START = "DSCREEN_SINK_PUSH_DATA_TO_WINDOW_START"; } // namespace DistributedHardware } // namespace OHOS #endif \ No newline at end of file diff --git a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp index 394b39da..b178fee5 100644 --- a/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp +++ b/services/screenservice/sinkservice/screenregionmgr/2.0/src/screenregion.cpp @@ -29,6 +29,8 @@ #include "screen_client.h" #include "screen_client_common.h" #include "2.0/include/screenregionmgr.h" +#include "hitrace_meter.h" +#include "dscreen_hitrace.h" namespace OHOS { namespace DistributedHardware { @@ -349,7 +351,9 @@ void ScreenRegion::OnEngineDataDone(const std::shared_ptr &buffer } #endif BufferFlushConfig flushConfig = { {0, 0, wsBuffer->GetWidth(), wsBuffer->GetHeight()}, 0}; + StartTrace(DSCREEN_HITRACE_LABEL, DSCREEN_SINK_PUSH_DATA_TO_WINDOW_START); surfaceErr = windowSurface_->FlushBuffer(wsBuffer, -1, flushConfig); + FinishTrace(DSCREEN_HITRACE_LABEL); if (surfaceErr != SURFACE_ERROR_OK) { DHLOGE("surface flush buffer failed, surfaceErr: %d.", surfaceErr); windowSurface_->CancelBuffer(wsBuffer); -- Gitee