<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Performance on Commentary of Takao</title><link>https://takao.blog/en/categories/performance/</link><description>Recent content in Performance on Commentary of Takao</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Commentary of Takao</copyright><lastBuildDate>Sat, 13 Jun 2026 23:11:50 +0900</lastBuildDate><atom:link href="https://takao.blog/en/categories/performance/index.xml" rel="self" type="application/rss+xml"/><item><title>Speeding Up assets Loading using DNS-Prefetch and Preconnect</title><link>https://takao.blog/en/web/performance-dns-prefetch-preconnect/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/performance-dns-prefetch-preconnect/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Speeding Up assets Loading using DNS-Prefetch and Preconnect" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;Every external resource — fonts, scripts, images, API endpoints — requires a network connection. The overhead of &lt;strong&gt;DNS resolution&lt;/strong&gt;, &lt;strong&gt;TCP handshake&lt;/strong&gt;, and &lt;strong&gt;TLS negotiation&lt;/strong&gt; can add hundreds of milliseconds to page load time. &lt;strong&gt;Resource hints&lt;/strong&gt; like &lt;code&gt;dns-prefetch&lt;/code&gt; and &lt;code&gt;preconnect&lt;/code&gt; let you tell the browser to perform these steps &lt;strong&gt;in advance&lt;/strong&gt;, before the resource is actually needed.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="the-cost-of-connection"&gt;The Cost of Connection
&lt;/h2&gt;&lt;p&gt;Establishing an HTTPS connection involves multiple round trips:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Step&lt;/th&gt;
					&lt;th&gt;Latency (approx.)&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;DNS lookup&lt;/td&gt;
					&lt;td&gt;20-120 ms&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;TCP handshake&lt;/td&gt;
					&lt;td&gt;1 RTT&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;TLS negotiation&lt;/td&gt;
					&lt;td&gt;2 RTT&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;3+ RTT&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;On a 3G connection (300ms RTT), that&amp;rsquo;s nearly &lt;strong&gt;1 second&lt;/strong&gt; of overhead before any data is transferred. Resource hints eliminate most of this.&lt;/p&gt;</description></item><item><title>Optimizing Web Font Loading: Preventing FOUT and FOIT</title><link>https://takao.blog/en/web/performance-fonts-loading-optimization/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/performance-fonts-loading-optimization/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Optimizing Web Font Loading: Preventing FOUT and FOIT" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;Web fonts enhance design but come at a cost. While a custom font loads, browsers must decide: show invisible text (&lt;strong&gt;FOIT&lt;/strong&gt; — Flash of Invisible Text) or show a fallback font (&lt;strong&gt;FOUT&lt;/strong&gt; — Flash of Unstyled Text). Either choice impacts &lt;strong&gt;CLS (Cumulative Layout Shift)&lt;/strong&gt; and user experience. This article covers strategies to load fonts reliably while minimizing layout shifts.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="the-font-display-descriptor"&gt;The font-display Descriptor
&lt;/h2&gt;&lt;p&gt;The &lt;code&gt;font-display&lt;/code&gt; property in &lt;code&gt;@font-face&lt;/code&gt; controls how a font is displayed during loading:&lt;/p&gt;</description></item><item><title>Optimizing Browser Rendering Pipelines (Critical Path)</title><link>https://takao.blog/en/web/performance-critical-rendering-path-optimizations/</link><pubDate>Sat, 20 Dec 2025 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/performance-critical-rendering-path-optimizations/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Optimizing Browser Rendering Pipelines (Critical Path)" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;The &lt;strong&gt;Critical Rendering Path (CRP)&lt;/strong&gt; is the sequence of steps the browser performs to convert HTML, CSS, and JavaScript into visible pixels on the screen. Optimizing this pipeline directly impacts &lt;strong&gt;First Contentful Paint (FCP)&lt;/strong&gt; and &lt;strong&gt;Largest Contentful Paint (LCP)&lt;/strong&gt;. This article breaks down each CRP stage — DOM construction, CSSOM construction, render tree, layout, paint, and composite — and provides actionable optimization strategies.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="stage-1-dom-construction"&gt;Stage 1: DOM Construction
&lt;/h2&gt;&lt;p&gt;When the browser receives HTML bytes, it:&lt;/p&gt;</description></item><item><title>Executing Non-Blocking Scripts with requestIdleCallback</title><link>https://takao.blog/en/web/web-performance-requestidlecallback-optimizations/</link><pubDate>Fri, 25 Jul 2025 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/web-performance-requestidlecallback-optimizations/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Executing Non-Blocking Scripts with requestIdleCallback" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;When building complex web applications, maintaining smooth animations and responsive user inputs (ideally matching 60+ FPS frame rates) is essential for a good user experience.&lt;/p&gt;
&lt;p&gt;However, modern applications often require executing low-priority background operations—such as sending analytics data, syncing caches, parsing telemetry logs, or pre-fetching assets.&lt;/p&gt;
&lt;p&gt;Executing these non-urgent tasks as standard async promises or immediate timers can block the main thread mid-frame, causing interface jank or increasing your Interaction to Next Paint (INP) score.&lt;/p&gt;</description></item><item><title>Boosting Initial Page Speeds with Lazy-Loaded Frames and Images</title><link>https://takao.blog/en/web/web-performance-lazyloading-iframe/</link><pubDate>Sun, 20 Jul 2025 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/web-performance-lazyloading-iframe/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Boosting Initial Page Speeds with Lazy-Loaded Frames and Images" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;An effective but frequently overlooked strategy for optimizing web page speeds is &lt;strong&gt;deferring off-screen asset loading&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;By default, when a user loads a web page, the browser immediately requests all images and &lt;code&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt; elements (like YouTube embeds, interactive maps, social widgets, or advertising scripts) on the page, even if they are located far below the fold. This concurrent downloading blocks the main thread and slows down your page&amp;rsquo;s First Contentful Paint (FCP) time.&lt;/p&gt;</description></item><item><title>Optimizing Images: WebP vs. AVIF and Responsive Sizes</title><link>https://takao.blog/en/web/web-performance-image-optimizations/</link><pubDate>Tue, 15 Jul 2025 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/web-performance-image-optimizations/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Optimizing Images: WebP vs. AVIF and Responsive Sizes" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;Optimizing image assets is one of the most effective ways to improve web performance metrics like Lighthouse scores and LCP (Largest Contentful Paint).&lt;/p&gt;
&lt;p&gt;In many web applications, images make up more than half of the total payload size. Slow image loading times directly degrade user experience.&lt;/p&gt;
&lt;p&gt;Replacing legacy formats like JPEG and PNG with next-generation formats like &lt;strong&gt;WebP&lt;/strong&gt; and &lt;strong&gt;AVIF&lt;/strong&gt; has become standard practice in modern web development. This article compares these two formats and explains how to configure responsive, optimized image delivery.&lt;/p&gt;</description></item><item><title>Approaches to Improving Interaction to Next Paint (INP)</title><link>https://takao.blog/en/web/performance-web-vitals-inp/</link><pubDate>Sat, 15 Mar 2025 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/performance-web-vitals-inp/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Approaches to Improving Interaction to Next Paint (INP)" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;In Google&amp;rsquo;s &lt;strong&gt;Core Web Vitals&lt;/strong&gt; metrics, which measure the user experience of web pages, FID (First Input Delay) has officially been replaced by &lt;strong&gt;INP (Interaction to Next Paint)&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;While FID only measured the response speed of the very first user interaction, INP evaluates the responsiveness of all clicks, taps, and keyboard inputs across the entire lifecycle of the page visit. It logs the delay between an interaction and the subsequent visual update (the &amp;ldquo;Next Paint&amp;rdquo;).&lt;/p&gt;</description></item><item><title>CDN Caching Strategies: Maximize Performance and Freshness</title><link>https://takao.blog/en/web/cdn-caching-strategies/</link><pubDate>Mon, 30 Dec 2024 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/cdn-caching-strategies/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post CDN Caching Strategies: Maximize Performance and Freshness" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;Content Delivery Networks (CDNs) are the backbone of modern web performance. By caching content at edge nodes distributed globally, CDNs dramatically reduce latency and offload traffic from origin servers. However, effective caching is not simply a matter of enabling a CDN and forgetting about it. Striking the right balance between performance — high cache hit rates and low latency — and freshness — minimal staleness and fast invalidation — requires deliberate strategy.&lt;/p&gt;</description></item><item><title>Mobile Web Performance Optimization: 2024 Techniques</title><link>https://takao.blog/en/web/mobile-performance/</link><pubDate>Thu, 26 Dec 2024 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/mobile-performance/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Mobile Web Performance Optimization: 2024 Techniques" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;Mobile web performance is no longer a secondary concern. With mobile traffic accounting for over 60% of global web traffic and growing rapidly in emerging markets, the performance characteristics of your site on mobile devices directly impact user retention, conversion, and search rankings. Users expect fast, fluid experiences — 53% abandon sites that take longer than 3 seconds to load. This article covers the key techniques for optimizing mobile web performance in 2024, from network-aware loading to touch event optimization and Core Web Vitals.&lt;/p&gt;</description></item><item><title>Third-Party Script Optimization: Taming Page Bloat</title><link>https://takao.blog/en/web/third-party-scripts/</link><pubDate>Tue, 19 Nov 2024 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/third-party-scripts/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Third-Party Script Optimization: Taming Page Bloat" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;Third-party scripts are the hidden tax of modern web development. The average page loads 15–25 third-party requests, accounting for 60–80% of total page weight. Data from the HTTP Archive confirms that third-party JavaScript is growing faster than first-party code. Each external script adds network latency, parse and compile time, main-thread contention, and potential security risks. The good news: you can optimize third-party scripts without removing their functionality. The goal is to minimize performance impact while preserving business value.&lt;/p&gt;</description></item><item><title>JavaScript Bundle Size Optimization: From Analysis to Action</title><link>https://takao.blog/en/web/bundle-size-optimization/</link><pubDate>Tue, 22 Oct 2024 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/bundle-size-optimization/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post JavaScript Bundle Size Optimization: From Analysis to Action" /&gt;&lt;p&gt;JavaScript bundle size directly impacts user experience. Larger bundles mean longer download times, slower parsing and compilation, and worse Core Web Vitals. A 100KB increase in JavaScript reduces conversion rates by 2 to 3 percent. Bundle optimization is an ongoing investment, not a one-time fix, and follows a cycle of analysis, identification, optimization, and monitoring.&lt;/p&gt;
&lt;h2 id="bundle-analysis-tools"&gt;Bundle Analysis Tools
&lt;/h2&gt;&lt;p&gt;Understanding what is in your bundle is the first step. webpack-bundle-analyzer provides an interactive treemap visualization that highlights large dependencies and duplicate modules. Vite users can leverage rollup-plugin-visualizer with sunburst and network graphs, while esbuild offers the &amp;ndash;metafile flag for detailed output analysis. source-map-explorer maps compiled code back to source files.&lt;/p&gt;</description></item><item><title>Image Optimization Strategies 2024: AVIF, WebP, and Beyond</title><link>https://takao.blog/en/web/image-optimization-2024/</link><pubDate>Tue, 02 Jul 2024 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/image-optimization-2024/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Image Optimization Strategies 2024: AVIF, WebP, and Beyond" /&gt;&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;Images account for over half of the typical webpage&amp;rsquo;s total weight. As web applications grow more visual, optimizing image delivery has become critical for performance, user experience, and Core Web Vitals scores. This article explores modern image optimization strategies, from next-generation formats to responsive delivery techniques.&lt;/p&gt;
&lt;h2 id="image-formats-in-2024"&gt;Image Formats in 2024
&lt;/h2&gt;&lt;p&gt;The image format landscape has shifted dramatically. Three modern formats now compete for dominance alongside legacy JPEG and PNG.&lt;/p&gt;</description></item><item><title>Core Web Vitals Optimization: Complete 2024 Guide</title><link>https://takao.blog/en/web/core-web-vitals/</link><pubDate>Mon, 15 Jan 2024 00:00:00 +0900</pubDate><guid>https://takao.blog/en/web/core-web-vitals/</guid><description>&lt;img src="https://takao.blog/img/thumnail.webp" alt="Featured image of post Core Web Vitals Optimization: Complete 2024 Guide" /&gt;&lt;p&gt;Core Web Vitals (CWV) are the set of user-centric performance metrics that Google uses to measure real-world experience on the web. In March 2024, Google replaced First Input Delay (FID) with Interaction to Next Paint (INP), making it critical to understand all three metrics: Largest Contentful Paint (LCP), INP, and Cumulative Layout Shift (CLS). This guide covers every aspect of optimizing your site for good CWV scores.&lt;/p&gt;
&lt;h2 id="understanding-core-web-vitals-in-2024"&gt;Understanding Core Web Vitals in 2024
&lt;/h2&gt;&lt;p&gt;The three CWV metrics measure distinct aspects of user experience. LCP tracks loading performance — how quickly the main content appears. INP measures interactivity — how responsive the page feels when users click, tap, or type. CLS quantifies visual stability — how much the layout shifts unexpectedly during load.&lt;/p&gt;</description></item></channel></rss>