Android 图形相关的技术介绍
#Android官方文档介绍
https://source.android.com/devices/graphics/implement-vsync?hl=zh-cn
1. 改为非同步模式
diff --git a/libs/gui/BufferQueueCore.cpp b/libs/gui/BufferQueueCore.cpp
index c4714e336..aeef710e6 100644
--- a/libs/gui/BufferQueueCore.cpp
+++ b/libs/gui/BufferQueueCore.cpp
@@ -130,10 +130,10 @@ void BufferQueueCore::dump(String8& result, const char* prefix) const {
result.appendFormat("%s-BufferQueue mMaxAcquiredBufferCount=%d, "
"mMaxDequeuedBufferCount=%d, mDequeueBufferCannotBlock=%d "
- "mAsyncMode=%d, default-size=[%dx%d], default-format=%d, "
+ "mAsyncMode=%d, mSharedBufferMode=%d, default-size=[%dx%d], default-format=%d, "
"transform-hint=%02x, FIFO(%zu)={%s}\n", prefix,
mMaxAcquiredBufferCount, mMaxDequeuedBufferCount,
- mDequeueBufferCannotBlock, mAsyncMode, mDefaultWidth,
+ mDequeueBufferCannotBlock, mAsyncMode, mSharedBufferMode, mDefaultWidth,
mDefaultHeight, mDefaultBufferFormat, mTransformHint, mQueue.size(),
fifo.string());
diff --git a/libs/gui/IGraphicBufferProducer.cpp b/libs/gui/IGraphicBufferProducer.cpp
index 1a08130c4..dbc8de3f9 100644
--- a/libs/gui/IGraphicBufferProducer.cpp
+++ b/libs/gui/IGraphicBufferProducer.cpp
@@ -521,6 +521,8 @@ status_t BnGraphicBufferProducer::onTransact(
case SET_ASYNC_MODE: {
CHECK_INTERFACE(IGraphicBufferProducer, data, reply);
bool async = data.readInt32();
+ async = false;
int result = setAsyncMode(async);
reply->writeInt32(result);
return NO_ERROR;
网友评论