Paint Holding - کاهش درخشش رنگ سفید در مسیریابی با همان مبدا

مدتی است که Chrome مشتاقانه صفحه نمایش را هنگام انتقال به صفحه جدید پاک می کند تا به کاربران اطمینان دهد که صفحه در حال بارگیری است. این "فلش سفید" همان لحظه کوتاهی است که در طی آن مرورگر در حین بارگذاری یک صفحه یک رنگ سفید را نشان می دهد. این می تواند حواس بین پیمایش ها را پرت کند، به خصوص زمانی که صفحه در رسیدن به وضعیت جالب تری نسبتا سریع است.

اما برای صفحاتی که به سرعت بارگذاری می شوند، این رویکرد در واقع برای تجربه کاربر مضر است. در انیمیشن زیر نمونه ای از ظاهر امروزی را مشاهده می کنید.

ما طرفداران پر و پا قرص این وب‌سایت هستیم و ما را می‌کشد که تجربه کیفی آن‌ها یک فلش سفید داشته باشد و ما می‌خواستیم آن را برطرف کنیم. ما این کار را با یک رفتار جدید انجام دادیم که به آن Paint Holding می‌گوییم، جایی که مرورگر قبل از شروع نقاشی برای مدت کوتاهی منتظر می‌ماند، به خصوص اگر صفحه به اندازه کافی سریع باشد. این تضمین می کند که صفحه به طور کلی یک تجربه واقعی را ارائه می دهد.

روش کار به این صورت است که ما commits compositor را تا رسیدن به سیگنال بارگذاری صفحه معین (PLS) به تعویق می اندازیم (مثلاً اولین رنگ محتوا / مدت زمان ثابت). ما بین کار رندر رشته اصلی تمایز قائل می شویم و به موضوع ایمپل متعهد می شویم (فقط دومی به تعویق می افتد). منتظر ماندن تا زمانی که PLS رخ دهد، احتمال فلاش های سفید/رنگ ثابت را کاهش می دهد.

هدف ما از این کار این بود که پیمایش در کروم بین دو صفحه که منشا یکسانی دارند بدون درز باشد و بنابراین یک تجربه پیمایش پیش‌فرض سریع و بدون فلاش پس‌زمینه سفید/رنگ ثابت بین محتوای قدیمی و جدید ارائه دهد.

Paint Holding را در Chrome Canary (Chrome 76) امتحان کنید و نظر خود را با ما در میان بگذارید. توسعه دهندگان نباید نگران ایجاد هرگونه تغییری در صفحات خود برای استفاده از آن باشند.