上一节我们介绍了准数据准备过程中选择合成策略的同步和异步操作,在选择合成策略完成后还会调用以下两个函数:
- applyCompositionStrategy:应用合成策略。
- finishPrepareFrame:完成帧的准备过程。
一、合成策略应用
1、applyCompositionStrategy
源码位置:/frameworks/native/services/surfaceflinger/CompositionEngine/src/Display.cpp
void Display::applyCompositionStrategy(const std::optional<DeviceRequestedChanges>& changes) {
if (changes) {
// 更新层的合成类型
applyChangedTypesToLayers(changes->changedTypes);
// 应用显示请求
applyDisplayRequests(cha