From 098bb40b5e94ef55447987c9999883692708f896 Mon Sep 17 00:00:00 2001 From: li_zengyi Date: Mon, 28 Aug 2023 14:19:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=88=AA=E5=B1=8F=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3\347\240\201\346\265\201\347\250\213.png" | Bin 0 -> 38950 bytes ...4\344\275\223\346\265\201\347\250\213.png" | Bin 0 -> 149282 bytes ...52\345\261\217\345\212\237\350\203\275.md" | 353 ++++++++++++++++++ 3 files changed, 353 insertions(+) create mode 100644 "doc/\346\210\252\345\261\217\345\212\237\350\203\275\346\226\207\346\241\243/img/\344\273\243\347\240\201\346\265\201\347\250\213.png" create mode 100644 "doc/\346\210\252\345\261\217\345\212\237\350\203\275\346\226\207\346\241\243/img/\346\225\264\344\275\223\346\265\201\347\250\213.png" create mode 100644 "doc/\346\210\252\345\261\217\345\212\237\350\203\275\346\226\207\346\241\243/window_manager\346\210\252\345\261\217\345\212\237\350\203\275.md" diff --git "a/doc/\346\210\252\345\261\217\345\212\237\350\203\275\346\226\207\346\241\243/img/\344\273\243\347\240\201\346\265\201\347\250\213.png" "b/doc/\346\210\252\345\261\217\345\212\237\350\203\275\346\226\207\346\241\243/img/\344\273\243\347\240\201\346\265\201\347\250\213.png" new file mode 100644 index 0000000000000000000000000000000000000000..328da1ffe69bb3111f7d97b78ca177dc0e4023f8 GIT binary patch literal 38950 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
qM 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 literal 0 HcmV?d00001 diff --git "a/doc/\346\210\252\345\261\217\345\212\237\350\203\275\346\226\207\346\241\243/img/\346\225\264\344\275\223\346\265\201\347\250\213.png" "b/doc/\346\210\252\345\261\217\345\212\237\350\203\275\346\226\207\346\241\243/img/\346\225\264\344\275\223\346\265\201\347\250\213.png" new file mode 100644 index 0000000000000000000000000000000000000000..05af69b22c01e70efaf6f75b590df9076d7066f4 GIT binary patch literal 149282 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
1bs2UE)}cXzrI7d8A(4w=cvPH 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 G#Qy*}Vp>H2 literal 0 HcmV?d00001 diff --git "a/doc/\346\210\252\345\261\217\345\212\237\350\203\275\346\226\207\346\241\243/window_manager\346\210\252\345\261\217\345\212\237\350\203\275.md" "b/doc/\346\210\252\345\261\217\345\212\237\350\203\275\346\226\207\346\241\243/window_manager\346\210\252\345\261\217\345\212\237\350\203\275.md" new file mode 100644 index 0000000..0bfafbc --- /dev/null +++ "b/doc/\346\210\252\345\261\217\345\212\237\350\203\275\346\226\207\346\241\243/window_manager\346\210\252\345\261\217\345\212\237\350\203\275.md" @@ -0,0 +1,353 @@ +# window_manager截屏功能 + +## 结构 + +截屏功能位于window_manager目录下的snapshot目录 + +内部包含了snapshot_utils的头文件及其实现,提供了一些包装好的截图、命令行解析等功能; + +shapshot_display.cpp文件为主函数,在一个main函数中包含了截图功能的整体调用。 + +ft_build下为编译该程序所需的BUILD.gn文件,参照[GN Guide - Wiki - Gitee.com](https://gitee.com/openeuler/ft_engine/wikis/Information/GN Guide)编写 + +## 代码流程 + +### 概况 + +![代码流程](img/代码流程.png) + +### 解析命令行 + +此处调用了utils中的功能,提供了五种命令行参数,如下 + +| 全称 | 简称 | 用处 | +| ------ | ---- | ---------------- | +| id | i | 指定截图屏幕id | +| width | w | 截图宽度 | +| height | h | 截图高度 | +| file | f | 截图输出的文件名 | +| help | h | 打印使用文档 | + +然后会验证屏幕id,处理输出文件,如果没有设置输出文件名,会根据当前时间生成。 + +### 获取屏幕display + +```c++ +auto display = DisplayManager::GetInstance().GetDisplayById(cmdArgments.displayId); + if (display == nullptr) { + std::cout << "error: GetDisplayById " << cmdArgments.displayId << " error!" << std::endl; + return -1; + } +``` + +首先通过单例模式获取到一个DisplayManager,然后通过已有的displayid,获取这个display + +位于 `window_manager/dm/src/display_manager.cpp: 346` 中 + +```c++ +sptr DisplayManager::Impl::GetDisplayById(DisplayId displayId) +{ + auto displayInfo = SingletonContainer::Get().GetDisplayInfo(displayId); + std::lock_guard lock(mutex_); + if (!UpdateDisplayInfoLocked(displayInfo)) { + displayMap_.erase(displayId); + return nullptr; + } + return displayMap_[displayId]; +} +``` + +具体执行中,首先根据id获取到displayinfo,包括了display的各种详细信息。 + +然后通过此info更新displayMap_这样一个保存display的map,如果失败,表明为info是空或id非法,移除map写入的相关info信息。 + +如果map中存有当前id对应的display,之间返回,否则根据info创建diaplay,写入map中并返回。 + +最后返回map中对应id的display,这个变量中包含了屏幕的宽高等信息,用于之后处理截图的大小。 + +### 获取截图 + +#### 没有指定尺寸 + +直接调用 `GetScreenshot` 函数,参数为displayid,默认获取屏幕的大小。 + +#### 指定尺寸 + +经过尺寸的校验,处理等,补全所有信息后,调用`GetScreenshot` 函数,参数为displayid以及相应的尺寸等信息 + +#### GetScreenshot + +即使指定的尺寸,也会同一调用GetScreenshot的displayid参数版本,获取全屏截图后,通过给定的尺寸大小进行裁剪。 + +此函数位于 `window_manager/dm/src/display_manager.cpp` 定义如下 + +```c++ +std::shared_ptr DisplayManager::GetScreenshot(DisplayId displayId) +{ + if (displayId == DISPLAY_ID_INVALID) { + WLOGFE("displayId invalid!"); + return nullptr; + } + std::shared_ptr screenShot = + SingletonContainer::Get().GetDisplaySnapshot(displayId); + if (screenShot == nullptr) { + WLOGFE("DisplayManager::GetScreenshot failed!"); + return nullptr; + } + + return screenShot; +} +``` + +首先判断displayid是否非法 + +然后调用 `SingletonContainer::Get().GetDisplaySnapshot(displayId)` 函数获取截图,如果失败,返回报错,成功则返回PixelMap的指针。 + +此函数最终调取到 `window_manager/dmserver/src/display_manager_proxy.cpp:263` 的函数 + +```c++ +std::shared_ptr DisplayManagerProxy::GetDisplaySnapshot(DisplayId displayId) +{ + sptr remote = Remote(); + if (remote == nullptr) { + WLOGFW("GetDisplaySnapshot: remote is nullptr"); + return nullptr; + } + + MessageParcel data; + MessageParcel reply; + MessageOption option; + if (!data.WriteInterfaceToken(GetDescriptor())) { + WLOGFE("GetDisplaySnapshot: WriteInterfaceToken failed"); + return nullptr; + } + + if (!data.WriteUint64(displayId)) { + WLOGFE("Write displayId failed"); + return nullptr; + } + + if (remote->SendRequest(static_cast(DisplayManagerMessage::TRANS_ID_GET_DISPLAY_SNAPSHOT), + data, reply, option) != ERR_NONE) { + WLOGFW("GetDisplaySnapshot: SendRequest failed"); + return nullptr; + } + + std::shared_ptr pixelMap(reply.ReadParcelable()); + if (pixelMap == nullptr) { + WLOGFW("DisplayManagerProxy::GetDisplaySnapshot SendRequest nullptr."); + return nullptr; + } + return pixelMap; +} +``` + +获取远端display_server,向其发送snapshot的请求,通过ipc接收并解析其返回值,如果成功,返回对应pixelmap的指针。 + +### 保存为jpeg + +这里调用了utils提供的函数,通过解析pixelmap,将色彩转为RGB888格式,最后写入到jpeg文件中。 + +## server端 + +以上为window_manager的截图功能中,对于snapshot应用以及window_manager端的代码流程,接下来为wm向display_server发送snapshot请求后,server端执行代码流程。 + +### 概况 + +以上client端发送requset的请求会远程调用如下server函数,case的位置位于 `window_manager/dmserver/src/display_manager_stub.cpp:112` + +```c++ +int32_t DisplayManagerStub::OnRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, + MessageOption &option) +{ + WLOGFD("OnRemoteRequest code is %{public}u", code); + if (data.ReadInterfaceToken() != GetDescriptor()) { + WLOGFE("InterfaceToken check failed"); + return -1; + } + DisplayManagerMessage msgId = static_cast(code); + switch (msgId) { + ... + case DisplayManagerMessage::TRANS_ID_GET_DISPLAY_SNAPSHOT: { + DisplayId displayId = data.ReadUint64(); + std::shared_ptr displaySnapshot = GetDisplaySnapshot(displayId); + reply.WriteParcelable(displaySnapshot == nullptr ? nullptr : displaySnapshot.get()); + break; + } + ... + } +} +``` + +首先从请求中读取到displayid,调用server端函数 `GetDisplaySnapshot` 返回了pixelmap格式截图的指针,通过ipc通信,将pixelmap的数据序列化后传回client。 + +### GetDisplaySnapshot + +以下是server端截图功能函数的详细过程,此函数位于 `window_manager/dmserver/src/display_manager_service.cpp:293` + +这里包装了一层权限验证相关的处理逻辑,然后继续调用GetScreenSnapshot函数,接下来就到了window_manager目录下的最后一层,位于 `window_manager/dmserver/src/abstract_display_controller.cpp:119`,这是server执行截图主干步骤 + +```c++ +std::shared_ptr AbstractDisplayController::GetScreenSnapshot(DisplayId displayId) +{ + // 获取displayNode + ... + + std::lock_guard lock(mutex_); + std::shared_ptr callback = std::make_shared(); + rsInterface_.TakeSurfaceCapture(displayNode, callback); + std::shared_ptr screenshot = callback->GetResult(2000); // wait for <= 2000ms + if (screenshot == nullptr) { + WLOGFE("Failed to get pixelmap from RS, return nullptr!"); + } + + // notify dm listener + ... + + return screenshot; +} +``` + +获取displayNode的省略处主要进行了如下几步,通过displayid获得abstractDisplay,然后通过其AbstractScreenId获得displayNode + +### rsInterface_.TakeSurfaceCapture + +接下来定义了SurfaceCaptureFuture类型的回调函数,然后执行RSInterfaces类型的TakeSurfaceCapture方法,进一步的再通过一层包装,到达了 `display_server/rosen/modules/render_service_base/src/platform/fangtian/rs_render_service_client.cpp:191` + +```c++ +bool RSRenderServiceClient::TakeSurfaceCapture(NodeId id, std::shared_ptr callback, + float scaleX, float scaleY) +{ + auto renderService = RSRenderServiceConnectHub::GetRenderService(); + if (renderService == nullptr) { + ROSEN_LOGE("RSRenderServiceClient::TakeSurfaceCapture renderService == nullptr!"); + return false; + } + if (callback == nullptr) { + ROSEN_LOGE("RSRenderServiceClient::TakeSurfaceCapture callback == nullptr!"); + return false; + } + { + std::lock_guard lock(mutex_); + if (surfaceCaptureCbMap_.count(id) != 0) { + ROSEN_LOGW("RSRenderServiceClient::TakeSurfaceCapture surfaceCaptureCbMap_.count(id) != 0"); + return false; + } + surfaceCaptureCbMap_.emplace(id, callback); + } + + if (surfaceCaptureCbDirector_ == nullptr) { + surfaceCaptureCbDirector_ = new SurfaceCaptureCallbackDirector(this); + } + renderService->TakeSurfaceCapture(id, surfaceCaptureCbDirector_, scaleX, scaleY); + return true; +}c +``` + +经过一些相应的逻辑判断,将回调函数以及对应的nodeid插入到surfaceCaptureCbMap_以供后续调用,然后调用了renderService的TakeSurfaceCapture方法。位于 `display_server/rosen/modules/render_service/core/pipeline/rs_render_service_connection.cpp:355` + +```c++ +void RSRenderServiceConnection::TakeSurfaceCapture(NodeId id, sptr callback, + float scaleX, float scaleY) +{ + std::function captureTask = [scaleY, scaleX, callback, id]() -> void { + RS_LOGD("RSRenderService::TakeSurfaceCapture callback->OnSurfaceCapture nodeId:[%" PRIu64 "]", id); + ROSEN_TRACE_BEGIN(HITRACE_TAG_GRAPHIC_AGP, "RSRenderService::TakeSurfaceCapture"); + RSSurfaceCaptureTask task(id, scaleX, scaleY); + std::unique_ptr pixelmap = task.Run(); + callback->OnSurfaceCapture(id, pixelmap.release()); + ROSEN_TRACE_END(HITRACE_TAG_GRAPHIC_AGP); + }; + mainThread_->PostTask(captureTask); +} +``` + +定义了一个function为captureTask,新开一个线程执行他,而此function中 `std::unique_ptr pixelmap = task.Run();` 部分就是进行截图,返回pixelmap的指针。 + +然后执行回调函数,这里注意由于内部将pixelmap的指针赋给了shared_ptr,而此处为unipue_ptr,因此需要调用其release方法,释放其对此指针的控制,防止出现二次释放错误。调用的函数如下,位于 `display_server/rosen/modules/render_service_base/src/platform/fangtian/rs_render_service_client.cpp:157` + +```c++ +void RSRenderServiceClient::TriggerSurfaceCaptureCallback(NodeId id, Media::PixelMap* pixelmap) +{ + ROSEN_LOGI("RSRenderServiceClient::Into TriggerSurfaceCaptureCallback nodeId:[%" PRIu64 "]", id); + std::shared_ptr surfaceCapture(pixelmap); + std::shared_ptr callback = nullptr; + { + std::lock_guard lock(mutex_); + auto iter = surfaceCaptureCbMap_.find(id); + if (iter != surfaceCaptureCbMap_.end()) { + callback = iter->second; + surfaceCaptureCbMap_.erase(iter); + } + } + if (callback == nullptr) { + ROSEN_LOGE("RSRenderServiceClient::TriggerSurfaceCaptureCallback: callback is nullptr!"); + return; + } + callback->OnSurfaceCapture(surfaceCapture); +} +``` + +其中 surfaceCapture 承接了pixelmap的指针,callback来自与前面步骤中,插入的surfaceCaptureCbMap_,根据id检索。 + +然后调用获得的callback,参数为pixelmap指针。 + +在 `callback->OnSurfaceCapture(surfaceCapture);` 执行了将获得的截图保存,然后唤醒原来的进程。 + +```c++ +// window_manager/utils/include/future.h +void FutureCall(T t) + { + std::unique_lock lock(mutex_); + Call(t); + conditionVariable_.notify_one(); + } +// window_manager/utils/include/surface_capture_future.h +void Call(std::shared_ptr pixelmap) override + { + if (!flag_) { + pixelMap_ = pixelmap; + flag_ = true; + } + } +``` + +### callback->GetResult + +上一步创建进程,获得截图并保存在对象中后,接下来就是调用回调函数的GetResult方法, + +```c++ +// window_manager/utils/include/future.h +T GetResult(long timeOut) + { + std::unique_lock lock(mutex_); + if (!conditionVariable_.wait_for(lock, std::chrono::milliseconds(timeOut), [this] { return IsReady(); })) { + OHOS::HiviewDFX::HiLog::Error(LABEL, "wait for %{public}ld, timeout.", timeOut); + } + return FetchResult(); + } +``` + +这一步会等待上一步FutureCall中的 conditionVariable_.notify_one();,当超过timeout时长后,IsReady()仍然返回false,即仍然没有截图成功则报错。 + +否则执行fetchresult,获取上一步call中保存的pixelmap指针。 + +```c++ +// window_manager/utils/include/surface_capture_future.h +std::shared_ptr FetchResult() override + { + return pixelMap_; + } +``` + +最后将获得的数据通过ipc通信至client端即完成了server端的整个截图功能。 + +### 注意 + +在本机测试中,此处的ipc通信需要特定的共享内存驱动 + +## 整体代码流程 + +整体代码可以分为三部分,分别为编写的最上层应用,方天的client端以及方天的server端,流程图如下 + +![整体流程](img/整体流程.png) \ No newline at end of file -- Gitee