- Use GPU finish time as well as actual deadline to determine jank
rate.
- Use dynamic interval to adjust for 60/90hz switching
- Move frame metrics reporting into JankTracker to adjust the
deadline communicated to the app when in stuffing scenario.
- Adjust double-stuffing detection to be a bit more readable.
Test: GraphicsStatsValidationTest.java
Test: adb shell dumpsys gfxinfo
Test: FrameMetricsListenerTest
Test: Log output of FrameMetricsObserver
Bug: 169858044
Change-Id: I3a6b8ed163e2cf9cf2b67667110340ebe35f98a1
PerformanceHintManager.Session is in java, so add JNI and a HintSessionWrapper
class in HardwareRenderer. Then pass the two calls as two std::functions
into DrawFrameTask.
Note Session is created per HardwareRenderer, not global (per
RenderThread).
Session includes UI thread, render thread, and the thread pool.
Desired duration is from the intended start duration to the frame
deadline. Add an actual frame start time to compute
Add system properties:
debug.hwui.use_hint_manager to enable PerformanceHintManager
debug.hwui.target_cpu_time_percent to control percentage of frame time
to be used for target cpu duration.
Test: Manual test that there are no crashes and values make sense.
Bug: 158791282
Change-Id: I83f25433c10daa20033803fb7c4ae45eab34f1d3
The ring that masks sparkles was suddenly appearing after a few frames,
causing the sparkles to show up, instead of fade in.
Fixes: 184594674
Test: visual
Change-Id: Id88c26352379e689663808fa8c70834b7ea840b5
Update RenderNodeDrawable to hole punch areas into
layers created for SurfaceView
Bug: 184297961
Test: Added CTS test to SurfaceViewTests
Change-Id: I1f03a4fe34c5a8b7411ebe728ea3d4195fcd1fac
Support vendor configure max bitmap size, because of
8k bitmap was over 100M
Bug: 178353420
Test: build
Change-Id: I582883cca51d42505ec8a81044e471998b88854b
The animator had infinite duration, and was only cancelled during a
render loop. It was possible that it would get stuck, leaking the
drawable.
Bug: 183950010
Test: TaplTestsLauncher3 (on sysui studio)
Change-Id: I2cc0d69ef19bb4fb775d319befde9bfc9df8d0ae
This CL is a refactoring to address following things:
- Separate XML definition of fonts.xml and update.
Since there are lots of concept mismatches between system font config
and update config, e.g. file paths, family variants, etc.
It is good to manage separtely.
- Stop keeping udpated config in memory in FontManagerService.
As a side effect of above change, FontManagerService no longer keeps
FontConfig.FontFamily mappings. This will be created from XML file
when necessary. This is better in FontManagerService since this map
is only necessary the boot time. After the system is booted, this
map is only necessary when the update request is called from client
which happens quite rare.
Bug: 183752879
Test: atest UpdatableFontDirTest
Test: atest FontManagerTest
Test: atest UpdatableSystemFontTest
Test: atest FontFamilyUpdateRequestTest
Test: atest PersistentSystemFontConfigTest
Change-Id: If2c12a8029f859efc52721b07cfeab04be2deb78
- update ring function
- make sparkles larger
- make sparkles visible at the beginning of the animaiton
Test: visual
Fixes: 182172654
Change-Id: Ia40beebda6e5ee70d85c163eda68a8af2792ddbd
Added dampening logic to caluclate the distance to
overscroll.
Updated StretchEffect to support independent
maximum stretch amounts for the x/y axis
Removed debugging parameters to configure
stretch distance since they are no longer
used. Removed hidden API calls to configure
stretch distance in ScrollView/HorizontalScrollView
Bug: 179047472
Test: re-ran EdgeEffectTests
Change-Id: I4698669273d364695a21c2cce00ec2cfec41b2cc
The config changes the dequeue limit of BQ (setMaxDequeuedBufferCount) from 2 to 1, decreasing the default size of the queue from (3 to 2).
Some of the motivations behind this change include:
- not applicable in most scenarios since producers in the system override this
- breaks async mode, not well tested in other scenarios
- simplifying some of the implementation and removes a configuration/flag.
Clients can still manually call setMaxDequeuedBufferCount if they wish.
Test: presubmit
Fixes: 182314340
Change-Id: I724218d14ad106a4b7af69f7eacf97fae3c93923
Sparkles were moving too fast, and were also very dense. They were
looking like TV static.
Test: visual
Bug: 182173639
Change-Id: I9dc1de92e7cc9d56f999a9719f1fae8ff41404c5
The correct behavior is for the circle to move inside the RenderNode
bounds. The RenderNode itself should not move at all.
Fixes: 182174260
Test: visual
Change-Id: I254138cada2586312530122fcb9ba4518d864cdf
UX decided that there should only be 1 ripple style in the system.
Bug: 167177623
Test: make
Test: cts
Change-Id: I6483f58d9c8333aad37308a8de903a8f59150870