diff options
author | 2016-10-07 14:26:47 -0700 | |
---|---|---|
committer | 2016-10-07 15:51:19 -0700 | |
commit | fd4c8c38051f9dad028e4e43e0eb39ba412b2c0a (patch) | |
tree | e4788b9fbd47754d739ef16aba926738979ac2d8 /libs/gui/ConsumerBase.cpp | |
parent | 3169437feb387b56499208464960d281bd9b87c9 (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.cpp | 5 |
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 |