replicant-frameworks_native/services/surfaceflinger
Dan Stoza 6b9454d1fe SurfaceFlinger: Do less work when using PTS
Currently, SurfaceFlinger is very dumb about how it handles buffer
updates at less than 60fps. If there is a new frame pending, but its
timestamp says not to present it until later SurfaceFlinger will wake
up every vsync until it is time to present it. Even worse, if
SurfaceFlinger has woken up but nothing has changed, it still goes
through the entire composition process.

This change (mostly) fixes that inefficiency. SurfaceFlinger will
still wake up every refresh period while there is a new frame
pending, but if there is no work to do, it will almost immediately go
back to sleep.

Bug: 18111837
Change-Id: I7825bacd37f40bf26edcc6a5e0f051dce45291fb
2014-11-17 21:32:13 +00:00
..
DisplayHardware Add a BufferItem parameter to onFrameAvailable 2014-11-07 10:39:13 -08:00
Effects Don't simulate color space after correction 2014-03-10 12:43:49 -07:00
EventLog surfaceflinger: add frame duration logging 2013-07-23 17:28:47 -07:00
RenderEngine Add glFlush in surfaceflinger screenshot code. 2014-10-23 16:25:17 -07:00
tests Surface can now be created only from an IGraphicBufferProducer 2013-03-12 18:45:09 -07:00
Android.mk Don't run large virtual displays through HWC 2014-10-28 16:01:47 -07:00
Barrier.h Improve memory coherence management in screenshot code [DO NOT MERGE] 2014-07-14 19:29:09 +00:00
Client.cpp Adding render stats APIs to UiAutomation (framework native). 2014-04-10 12:32:19 -07:00
Client.h Adding render stats APIs to UiAutomation (framework native). 2014-04-10 12:32:19 -07:00
Colorizer.h Add a --color option to dumpsys SurfaceFlinger 2013-04-22 21:51:28 +02:00
DdmConnection.cpp Remove dependencies on runtime_libdvm and libdvm.so in general 2014-05-29 09:39:26 -07:00
DdmConnection.h add libsurfaceflinger_ddmconnection for PDK build 2012-08-31 20:08:33 -07:00
DispSync.cpp surfaceflinger: add getDisplayStats() method 2014-09-18 17:03:20 -07:00
DispSync.h surfaceflinger: add getDisplayStats() method 2014-09-18 17:03:20 -07:00
DisplayDevice.cpp Add rotation to surfaceflingers screen cap. 2014-09-09 03:51:16 +00:00
DisplayDevice.h surfaceflinger: fix -Wmismatched-tags warnings 2014-10-31 09:51:10 -07:00
EventControlThread.cpp SurfaceFlinger: Add EventControlThread 2013-10-15 14:31:41 -07:00
EventControlThread.h SurfaceFlinger: Add EventControlThread 2013-10-15 14:31:41 -07:00
EventThread.cpp SurfaceFlinger: send VSYNC power hints to IPowerManager 2014-06-18 18:51:24 -07:00
EventThread.h SurfaceFlinger: send VSYNC power hints to IPowerManager 2014-06-18 18:51:24 -07:00
FrameTracker.cpp Adding render stats APIs to UiAutomation (framework native). 2014-04-10 12:32:19 -07:00
FrameTracker.h Adding render stats APIs to UiAutomation (framework native). 2014-04-10 12:32:19 -07:00
Layer.cpp SurfaceFlinger: Do less work when using PTS 2014-11-17 21:32:13 +00:00
Layer.h SurfaceFlinger: Do less work when using PTS 2014-11-17 21:32:13 +00:00
LayerDim.cpp Allow disabling layer rotation during screenshots 2014-02-14 23:10:42 +00:00
LayerDim.h surfaceflinger: fix -Woverloaded-virtual warning 2014-10-31 09:52:08 -07:00
MODULE_LICENSE_APACHE2
MessageQueue.cpp native frameworks: 64-bit compile issues 2014-03-12 13:12:44 -07:00
MessageQueue.h fix another bug where screenshots could end-up all black 2013-04-10 16:27:17 -07:00
MonitoredProducer.cpp BufferQueue: Add allocateBuffers method 2014-06-20 13:13:57 -07:00
MonitoredProducer.h BufferQueue: Add allocateBuffers method 2014-06-20 13:13:57 -07:00
SurfaceFlinger.cpp SurfaceFlinger: Do less work when using PTS 2014-11-17 21:32:13 +00:00
SurfaceFlinger.h SurfaceFlinger: Do less work when using PTS 2014-11-17 21:32:13 +00:00
SurfaceFlingerConsumer.cpp Improve SurfaceFlinger PTS estimation 2014-05-02 10:56:54 -07:00
SurfaceFlingerConsumer.h SurfaceFlinger: Do less work when using PTS 2014-11-17 21:32:13 +00:00
Transform.cpp color blindness enhancement 2013-09-04 22:11:15 -07:00
Transform.h color blindness enhancement 2013-09-04 22:11:15 -07:00
clz.h
main_surfaceflinger.cpp DO NOT MERGE Add "dumpsys SurfaceFlinger --dispsync" 2014-05-09 10:49:11 -07:00
sigchain_proxy.cpp Link sigchain to surfaceflinger main executable 2014-10-16 11:43:19 -07:00