ETC1 compression can be very expensive, and typically runs at default
priority, potentially starving other, more important threads. This CL
adds a feature to lower the thread priority during compression, and uses
it at its callsites.
Since whether to use it or not depends on the callsite, the feature is
added in common code, but used at the callsites. The mechanism is in
ui_resource_provider.cc to avoid code duplication.
In local testing, this results in the big core to no longer be tied by
the compression task, which then takes longer, showing that higher
priority activities were competing with it.
Change-Id: I8097a263d31c9b0a9d6c697702204fbdeecd7f24
Bug: 369986099
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6094143
Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
Reviewed-by: Bo Liu <boliu@chromium.org>
Commit-Queue: Benoit Lize <lizeb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1396839}