summaryrefslogtreecommitdiff
path: root/libs/gui/ConsumerBase.cpp
diff options
context:
space:
mode:
author Matthew Bouyack <mbouyack@google.com> 2016-10-07 14:26:47 -0700
committer Matthew Bouyack <mbouyack@google.com> 2016-10-07 15:51:19 -0700
commitfd4c8c38051f9dad028e4e43e0eb39ba412b2c0a (patch)
treee4788b9fbd47754d739ef16aba926738979ac2d8 /libs/gui/ConsumerBase.cpp
parent3169437feb387b56499208464960d281bd9b87c9 (diff)
Use snprintf for SurfaceFlinger fence name
snprintf is significantly faster than String8::format This change saves ~50us per frame on Android Wear Change-Id: I6ac47c2434662ca561208daae232f02a9f136aaf
Diffstat (limited to 'libs/gui/ConsumerBase.cpp')
-rw-r--r--libs/gui/ConsumerBase.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/libs/gui/ConsumerBase.cpp b/libs/gui/ConsumerBase.cpp
index a1bdf4a4a1..e7bc7dc73d 100644
--- a/libs/gui/ConsumerBase.cpp
+++ b/libs/gui/ConsumerBase.cpp
@@ -315,9 +315,10 @@ status_t ConsumerBase::addReleaseFenceLocked(int slot,
if (!mSlots[slot].mFence.get()) {
mSlots[slot].mFence = fence;
} else {
+ char fenceName[32] = {};
+ snprintf(fenceName, 32, "%.28s:%d", mName.string(), slot);
sp<Fence> mergedFence = Fence::merge(
- String8::format("%.28s:%d", mName.string(), slot),
- mSlots[slot].mFence, fence);
+ fenceName, mSlots[slot].mFence, fence);
if (!mergedFence.get()) {
CB_LOGE("failed to merge release fences");
// synchronization is broken, the best we can do is hope fences