[Webkit-unassigned] [Bug 95758] [chromium] Adjust texture priorities in preparation of impl-thread eviction of only some textures

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Sep 4 17:53:59 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=95758





--- Comment #7 from Christopher Cameron <ccameron at chromium.org>  2012-09-04 17:54:11 PST ---
(From update of attachment 162121)
View in context: https://bugs.webkit.org/attachment.cgi?id=162121&action=review

Thanks!

>> Source/WebCore/platform/graphics/chromium/cc/CCPriorityCalculator.cpp:36
>> +static const int kUiDoesNotDrawToRootSurface      =       2;
> 
> I think it's okay to make all UI textures at the same priority, above everything else.

Sure -- updated adjustments.

>> Source/WebCore/platform/graphics/chromium/cc/CCPriorityCalculator.cpp:41
>> +// less than a half-viewport away are considered "near".
> 
> Half a viewport seems low to me. Would 2 viewports be okay?

Updated to 2 viewports.

>> Source/WebCore/platform/graphics/chromium/cc/CCPriorityCalculator.cpp:54
>> +static const int kFarFromVisibleBase              =  300050;
> 
> Could we possibly just squash these into the above lingering group?  There could be many lingering textures (enough to use all remaining memory) and I would rather not have them take away memory from closer textures. Could we just start calling all textures lingering after a certain distance limit is reached?

I've moved them to be lower than than the >2-viewports-away but still higher than <2-viewports-away.  I'd like to keep lingering to be closer than "many viewports away".  There is a pathology now where on very long pages, we will use all available memory caching very-far-away tiles, and I want to keep the lingering tiles with higher priority than the very-far-away tiles,

>> Source/WebCore/platform/graphics/chromium/cc/CCPriorityCalculator.cpp:100
>> +    {
> 
> Could we call the manhattanDistance function here and then normalize to viewport units? I feel it's more clear what the code is doing that way.

I wanted to do this, but the normalization is different in X and Y (so I can't recover it directly from the scalar distance).  I've added a comment about L1 norms because it's you're right that it's unclear what the math does without that prior.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list