summaryrefslogtreecommitdiff
path: root/libs/hwui/renderthread/CacheManager.h
AgeCommit message (Collapse)Author
2021-06-15Add logic to clean up resources more frequentlyNader Jawad
Added call to Skia's performDeferredCleanup method to free resources that were not referenced within the last 100 frames or 10 seconds whichever is furthest away Bug: 188450217 Test: manual Change-Id: I3f37e1b5bd01330dbbc2da4a84b1259d56be2768
2021-05-12More benchmark tweaksJohn Reck
Bug: 187718492 Test: this Change-Id: Ie0cad91e1c7d1a02704fc4b1007ba2c28cb2b3e7
2020-10-07Migrate some last instances of GrContext to GrDirectContextAdlai Holler
This is a rename with no functional changes. Change-Id: I4b0b7ee1926b688029e257b35c469113c0404a5b
2020-01-10Add memory tracing in HWUIStan Iliev
Add ATRACE memory counters to track memory usage at the end of each frame in HWUI. There are 3 catagories: CPU, GPU and Texture memory. There are 3 more counters for memory that can be purged. This CL deletes GpuMemoryTracker class, which implemented similar function for Android O HWUI renderer. Test: Collected systrace with gmail and setting. Test: memory tracing adds ~0.1ms per frame when ATRACE is enabled Bug: 146580770 Change-Id: Icbcc0478bc426dff578e83726fe7c95df171ed93
2019-11-07Merge "[HWUI] Get DeviceInfo through stable ABI"Alec Mouri
2019-10-25[HWUI] Get DeviceInfo through stable ABIAlec Mouri
This also removes the dependency on ui/DeviceInfo other than in test code. Bug: 136263392 Bug: 136263238 Test: builds, boots Change-Id: I6a4687e981359f0e6beb83be8a5501ed7fd16f15
2019-10-04Delete VectorDrawableAtlasJohn Reck
Poking around in a few apps it doesn't appear that the VectorDrawableAtlas is achieving sufficient utilization to justify its existence. The potential for draw call merging doesn't seem warranted for the RAM cost of the atlas. Bug: 137853925 Test: builds Change-Id: Id2419bc6dccb6316636d50c568f8fac75a2d563f
2019-09-06Switch to using GrContext::setResourceCacheLimit and getResourceCacheLimitRobert Phillips
The old version that took a maxResourceCount are now deprecated Test: does it compile Change-Id: Ib4d69c8907169329c7765c648f46fa5e4a10bf7a
2019-05-29Build native android graphics library for desktopJerome Gaillard
The purpose of this is to be able to use the native graphics code from the Android platform directly in Android Studio (running on desktop) to do layout rendering. This creates a host library that is a subset of libandroid_runtime including only the JNI files relevant to Android graphics. It also includes LayoutlibLoader.cpp which is used to load the JNI when using it as part of layoutlib (the graphics library for Android Studio). This also creates libhwui-host, a host library that is a subset of libhwui. Bug: 117921091 Test: lunch sdk && m libandroid_runtime Change-Id: I3850020d2d4c13c85e377476bc463d3eb6a01c6d
2019-04-19Update the CPU text cache sizes to be the same as their GPU equivalentsDerek Sollenberger
Bug: 130684261 Test: uibench jank tests Change-Id: Ieb837afd76d1990c796baa9794ba54a83b8cd46f
2019-03-18Remove old TaskManager systemJohn Reck
Replace it with a newer, fancier, WorkQueue-inspired one that's just a global common thread pool. Test: hwuiunit passes Change-Id: Ib5d03104a08bbac9a4ec67a1bfc0db2b35d6700f
2018-12-20Merge "Fix/suppress renderthread google-explicit-constructor warnings" am: ↵Chih-Hung Hsieh
138aae8eaf am: 2e2028aee4 am: 4e628bc772 Change-Id: I543de7a1c0e3429ca11addd60ae8300d8aedda29
2018-12-20Fix/suppress renderthread google-explicit-constructor warningsChih-Hung Hsieh
* Add explicit to conversion constructors/operators * Use NOLINT or NOLINTNEXTLINE to suppress warnings on intended converters Bug: 28341362 Test: make with WITH_TIDY=1 DEFAULT_GLOBAL_TIDY_CHECKS=-*,google-explicit-constructor Change-Id: Ib7d634bf1e0e9a1dda35b0a1d92de4d460193296
2018-09-04Add cache validation to ensure the validityYichi Chen
Create cache identity from GL_VERSION and store in ShaderCache. In the next time ShaderCache is restored from disk, compare the cache identity to ensure its validity. If GL_VERSION changes in between, flush out entire FileBlobCache and start from an empty one. Bug: b/71800782 Test: Wrote a new unit test to save and restore ShaderCache Test: hwui_unit_tests Change-Id: Ie573dc4f18733eee090725be30445d879765231b
2017-12-11Update GrContext creation calls to use sk_spGreg Daniel
Test: manual testing Change-Id: I68d8706ffa7bc7c6622ea0b8c45d7297a131f6bf
2017-11-03Format the world (or just HWUI)John Reck
Test: No code changes, just ran through clang-format Change-Id: Id23aa4ec7eebc0446fe3a30260f33e7fd455bb8c
2017-09-08Enable multi-threading of cpu intensive tasks when using Skia pipelinesDerek Sollenberger
Test: CtsUiRenderingTestCases Change-Id: Ifa36371f55d3f2d78faf0a23fb283c904ff1af5f
2017-07-18Cache VectorDrawables in an atlasStan Iliev
Optimize VectorDrawables for Skia pipeline: draw small VectorDrawables in a GPU atlas instead of seprate offscreen buffers. This implementation is using CacheManger and allows for the atlas to be released if there is a memory pressure. Test: A new unit test for VectorDrawableAtlas is passing. Systrace shows 0.5ms faster DrawFrame for fling in Settings app main screen. Change-Id: Ide3884eefae777e1547f1dfdb67b807185839fb4
2017-06-06Implement CacheManager for the Skia pipelines.Derek Sollenberger
The core of the implementation is complete and provides heuristic cache sizing based on the size of the surface being used. This CL will also be used to add the following features in the future... 1) Support Vulkan pipeline reporting on the size of the surface. 2) Complete the VectorDrawableAtlas stub code 3) Automatic purging of stale resources for low memory devices. Test: hwui_unit_tests (new test added) and CtsUiRendering Bug: 62260637 Change-Id: Ib85159cca28b646fe249f2190b07f1b7e0f50d8f