Template:ItemBox: Difference between revisions

Test whether the paper blend is what keeps picture cache tiles invalid: drop it from lowGraphics (with help from vergir-bot LLM)
Revert the lowGraphics icon downscale to isolate its effect; the paper blend removal was the real win. Icons back to 160px (with help from vergir-bot LLM)
Line 22: Line 22:


     lowGraphics=true is the setting for callers that place dozens of cards on
     lowGraphics=true is the setting for callers that place dozens of cards on
     one page. It bundles the cheap variants below and drops the icon request to
     one page. It drops the paper blend, which is the change that matters:
    1:1 with the card. The paper blend is dropped too: mix-blend-mode stops
    mix-blend-mode stops WebRender caching those regions as static tiles, so
    WebRender caching those regions as static tiles, so every scrolled frame
    every scrolled frame re-rasterises and re-uploads them. Removing it cut the
    re-rasterises and re-uploads them. That is measured as ~93 ms/s of memcpy
    render thread's OpenGL work on the profiled navbox by around 90%. It also
     inside the render thread and ~76 picture cache invalidations per second.
     swaps the masked wear tint for a gradient and drops the icon mask.
-->{{#vardefine:lowGraphics|{{#ifeq:{{{lowGraphics|}}}|true|itembox-ramp-wear itembox-flat-icon itembox-no-texture}}}}<!--
-->{{#vardefine:lowGraphics|{{#ifeq:{{{lowGraphics|}}}|true|itembox-ramp-wear itembox-flat-icon itembox-no-texture}}}}<!--
-->{{#vardefine:iconPx|{{#ifeq:{{{lowGraphics|}}}|true|{{#expr: 80 * {{#if:{{{size|}}}|{{{size}}}|1}} }}|160}}}}<!--


     The same layers individually, for testing combinations or overriding the
     The same layers individually, for testing combinations or overriding the
Line 48: Line 47:
<div class="itembox-card">
<div class="itembox-card">
<div class="itembox-icon-area">
<div class="itembox-icon-area">
<div class="itembox-icon">[[File:{{#var:linkImage}}.png|{{#var:iconPx}}px|link=]]</div>
<div class="itembox-icon">[[File:{{#var:linkImage}}.png|160px|link=]]</div>
<div class="itembox-tier-badge">
<div class="itembox-tier-badge">
<div class="itembox-tier-badge-shadow"></div>
<div class="itembox-tier-badge-shadow"></div>