b251a2f51e636d036598ad27473b9cc55fdac1d7 |
|
08-Feb-2016 |
Chris Craik <ccraik@google.com> |
Revert "Revert "TaskManager bench"" This reverts commit 9640477e3cc075b0f303e817a3ebcc72d7bc878b. Change-Id: I3aa8f2830b43b9c7b211c5792a311d0bc698c51a
/frameworks/base/libs/hwui/thread/TaskManager.cpp
|
9640477e3cc075b0f303e817a3ebcc72d7bc878b |
|
05-Feb-2016 |
Daniel Chapin <chapin@google.com> |
Revert "TaskManager bench" This reverts commit 02db03ca0584371504fd29ced77c00d601cb0971. Change-Id: I86bdf5e6774e99f9add59a657bfc50d45ebfda1d
/frameworks/base/libs/hwui/thread/TaskManager.cpp
|
02db03ca0584371504fd29ced77c00d601cb0971 |
|
04-Feb-2016 |
Chris Craik <ccraik@google.com> |
TaskManager bench bug:26964750 Change-Id: Ibda0cd2e5e64331a4367d4985d6acfd6f3baeda1
/frameworks/base/libs/hwui/thread/TaskManager.cpp
|
272a685f17cc4828257e521a6f62b7b17870f75e |
|
30-Jul-2015 |
John Reck <jreck@google.com> |
Replace most usages of utils/Vector.h Change-Id: I540d1b3523244d6c71fc52d6fb30555271c25644
/frameworks/base/libs/hwui/thread/TaskManager.cpp
|
c452654a4571ef010a00cef79f82b6b2179704f6 |
|
07-Jul-2015 |
John Reck <jreck@google.com> |
Restrict number of hwuiTask threads Bug: 22324907 Change-Id: I0013557ede15949a5bd6f3f75bc5dd023a9f945b
/frameworks/base/libs/hwui/thread/TaskManager.cpp
|
815f2a093a4b44863fe9ffdb1986a2d5425ffef8 |
|
24-Mar-2015 |
John Reck <jreck@google.com> |
Shave 10us off of hwuitask This prevents an issue where if the signal schedules hwuiTask it will immediately block and go back to sleep due to mLock still being held. This costs 10us in thread scheduling ping-ponging bouncing between hwuiTask and RenderThread Change-Id: I47595c1bf5736576483a6aa7aada0b1be1e04268
/frameworks/base/libs/hwui/thread/TaskManager.cpp
|
5ad36d4591e7b3b1b74f0a213d18384f53734ab2 |
|
04-Feb-2015 |
John Reck <jreck@google.com> |
Merge "Fix ANR caused by hwuiTask thread"
|
1610486d371b867c0a842ede38e64774c18ba5d9 |
|
27-Jan-2015 |
Yabin Cui <yabinc@google.com> |
kill HAVE_PTHREADS. Bug: 19083585 Change-Id: Ib466949bb6cd6d1bbc4680e989f0f9fae62ca564
/frameworks/base/libs/hwui/thread/TaskManager.cpp
|
c3c58e015fa30a0ad87d4af2b95b7071baa8ffe4 |
|
12-Jan-2015 |
Sangkyu Lee <sk82.lee@lge.com> |
Fix ANR caused by hwuiTask thread If hwuiTask thread is exited while HWUI renders something, some tasks can remain unfinished forever. This can make ANR problem if RenderThread waits this kind of tasks. According to the current implementation, hwuiTask threads are exited when HWUI receives trimMemory() callback with level >= 20 and some applications such as SystemUI can receive trimMemory() with level >= 20 even though they renders something yet. (For instance, when RecentsActivity in SystemUI is finished, HWUI receives trimMemory() callback with level >= 20 but SystemUI should still render the status bar and navigation bar.) This patch prevents the tasks from remaining unfinished and make the tasks executed immediately if they cannot be added to their TaskProcessors. Change-Id: I5bd26439aa5f183b1a7c1ce466362e27554b4d16
/frameworks/base/libs/hwui/thread/TaskManager.cpp
|
21be43e142a6fcb3283d7b2da14eb39b690cf643 |
|
14-Aug-2014 |
John Reck <jreck@google.com> |
Fix hwuitask & RT priorities Bug: 15993695 Change-Id: Ib6f07237cb834e8d10f3074f8fb206d27f91859a
/frameworks/base/libs/hwui/thread/TaskManager.cpp
|
05f3d6e5111fd08df5cd9aae2c3d28399dc0e7f5 |
|
03-Jun-2014 |
Chris Craik <ccraik@google.com> |
Tessellate on worker threads Tessellate and cache (where possible) shadow and round rect tessellation tasks. Change-Id: I2cfda8e11d83d51ea74af871235cf26e8f831d40
/frameworks/base/libs/hwui/thread/TaskManager.cpp
|
0a8c51b1d0d66d6060afcec1eab33091d49332ae |
|
22-Aug-2013 |
Romain Guy <romainguy@google.com> |
Properly account for created paths in the cache Change-Id: I47b89b3085cefab6daac9194e7bfd3c140b37fa2
/frameworks/base/libs/hwui/thread/TaskManager.cpp
|
c5cbee7d78513527e89450e6369a30a04b2d5e7a |
|
21-Mar-2013 |
Romain Guy <romainguy@google.com> |
Stop worker threads on memory trim & fix bad pointer access Change-Id: I6fe7e31aeb6dd41fa65ab952caed97bc2da510d7
/frameworks/base/libs/hwui/thread/TaskManager.cpp
|
5dc7fa709646799a5207a5d217f70aa02bf4a3aa |
|
12-Mar-2013 |
Romain Guy <romainguy@google.com> |
Add TaskManager API This API can be used to run arbitrary tasks on a pool of worker threads. The number of threads is calculated based on the number of CPU cores available. The API is made of 3 classes: TaskManager Creates and manages the worker threads. Task Describes the work to be done and the type of the output. A task contains a future used to wait for the worker thread to be done computing the result of the task. TaskProcessor The processor dispatches tasks to the TaskManager and is responsible for performing the computation required by each task. A processor will only be asked to process tasks sent to the manager through the processor. A typical use case: class MyTask: Task<MyType> class MyProcessor: TaskProcessor<MyType> TaskManager m = new TaskManager(); MyProcessor p = new MyProcessor(m); MyTask t = new MyTask(); p.add(t); // Waits until the result is available MyType result = t->getResult(); Change-Id: I1fe845ba4c49bb0e1b0627ab147f9a861c8e0749
/frameworks/base/libs/hwui/thread/TaskManager.cpp
|