[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

performanceに関するginpeiのブックマーク (54)

  • decoding="async" について詳しく調べてみる

    この記事は2023年7月19日時点の Chrome の最新版 115.0.5790.98 を使って検証しました。今後 Chrome の実装によって挙動が変わる可能性はございます。 はじめに 画像表示のパフォーマンス改善において、「decoding="async" をつけましょう」というのをよく見かけますが、おそらくほとんどの人がその実際の挙動を理解していない、あるいは誤った認識をしていると思います。今回詳しく調べる前の僕も含めて。 loading と decoding の違い 画像のパフォーマンス改善で decoding="async" のほかに、もう一つよく言及されるのが loading="lazy" です。decoding 属性について詳しく見る前に、まずは loading 属性との違いについて理解したほうがいいと思います。 loading とは、ブラウザがどのように画像を読み込むかを

    decoding="async" について詳しく調べてみる
    ginpei
    ginpei 2023/07/21
    <img>に付けるloading="lazy"とdecoding="async"に関する説明。Chromeの挙動。decodingは指定なしで良さそう。
  • Tip - Use fetchpriority=high to load your LCP hero image sooner

    Tip - Use fetchpriority=high to load your LCP hero image sooner August 14, 2022 Tip: Add fetchpriority="high" to your Largest Contentful Paint (LCP) image to get it to load sooner. Priority Hints sped up Etsy’s LCP by 4% with some sites seeing an improvement of up to 20-30% in their lab tests. In many cases, fetchpriority should lead to a nice boost for LCP. Code snippets Priority Hints let you ad

    Tip - Use fetchpriority=high to load your LCP hero image sooner
    ginpei
    ginpei 2023/06/30
    img要素他の属性。ページ上部のドデカ画像で<img fetchpriority="high">すると優先して読み込まれるので速度指標の数値向上になるそう。
  • The truth about CSS selector performance

    If you’re a web developer, you may have already heard that some CSS selectors are faster than others. And you’re probably hoping to find a list of the better selectors to use in this article. Well, not quite. But bear with me, I promise that by the end, you’ll have learnt something new about CSS selector performance. A quick look behind the scenes The way you write CSS selectors does play a role i

    The truth about CSS selector performance
    ginpei
    ginpei 2023/01/19
    CSSセレクターがどう速度に影響したか計測するEdge新機能の紹介。Chromeには(まだ?)ない。DevTools>Performance>歯車アイコン>EnabIe advanced rendering instrumentation (slow)をオン、計測、Recalculate Styleを探して選択、下部Selector Stats。
  • EStimator.dev: the modern JavaScript savings calculator

    Enter a website URL Find out how much turning on modern JS could save.

    ginpei
    ginpei 2021/01/26
    JavaScriptを現代的な記法へ変換した場合にどの程度ファイルサイズを減らせるか、URLを入力すると計算してくれるサイト。Google Chromeチーム開発。
  • Puppeteer で静的サイトの Font Subsetting | blog.jxck.io

    Intro Web Font のサブセット化を Font Weight に応じて作り分けるとともに、それを Puppeteer を用いて生成するように変更した。 Web Font の静的サブセット サイトで提供している Web Font は当初、文字を事前に選定して生成したものを使っていた。 Noto Sans の Web Font 対応とサブセットによる最適化 当時はコンテンツがなかったが、コンテンツも増えた後は、コンテンツの原稿である markdown ファイルから使用している文字を抽出して生成するように変更していた。 これでおおよそ必要最小限のサイズにすることができていた。 Regular と Bold の最適化 サイトでは Font Weight として Regular(400) と Bold(700) を提供しているが、これまでは抽出した文字種を Bold/Regular 両

    Puppeteer で静的サイトの Font Subsetting | blog.jxck.io
    ginpei
    ginpei 2020/09/10
    PuppeteerでtextContentの文字を取得。要素名(h1等)で太字を識別し標準のものと分ける。確認としてChrome DevTools Protocolを用い、Computed StylesのRendered Fonts相当の値?を検証。
  • Fast or Slow - Global Website Performance Profiler

    Fast or Slow Global Website Speed Profiler Profile

    ginpei
    ginpei 2020/05/14
    ウェブページのパフォーマンス計測。世界各国からのアクセスを同時に調査できる。履歴も残るみたい。
  • Let's Take A Deep Dive Into The CSS Contain Property | CSS-Tricks

    ginpei
    ginpei 2020/05/14
    CSSのcontainプロパティの説明。要素ごとにレイアウトの独立性を明示することでブラウザーの計算省略に繋がり描画効率向上。
  • Web performance checklist

    A new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team

    Web performance checklist
    ginpei
    ginpei 2020/04/02
    ウェブサイト高速化施策の一覧。見やすいし、各項目に詳細リンクが付いてるのでわかりやすい。via https://css-tricks.com/web-performance-checklist/
  • MongoDBが遅いときの切り分け方法

    2. Copyright ⓒ2016 CREATIONLINE, INC. All Rights Reserved 自己紹介 2 {"ID" :"fetaro" "名前":"渡部 徹太郎" "研究":"東京工業大学でデータベースと情報検索の研究 (@日データベース学会)" "仕事":{前職:["証券会社のオンライントレードシステムのWeb基盤", "オープンソースなら何でも。主にMongoDB,NoSQL"], 現職:["大手Web企業の横断分析基盤,Exadata,Hortonworks,EMR"] 副業:["MongoDBコンサルタント" ]} "エディタ":"emacs派", "趣味": ["自宅サーバ","麻雀"] } 4. Copyright ⓒ2016 CREATIONLINE, INC. All Rights Reserved はじめに MongoDBは速い?→ケースに依る

    MongoDBが遅いときの切り分け方法
    ginpei
    ginpei 2020/01/10
    原因と対策。メモリーの動きの説明がわかりやすい。
  • 高速化の観点から new Array(100) を使わない方が良い理由

    別件で V8 の JIT コードの逆アセンブルを眺めている時に気づいたのですが、JavaScriptで new Array(100) という形で配列を作るのは、高速化の観点から言うと V8 においては避けるべき書き方です。 高速化を求める方は、 new Array() や [] で作成して Array#push で追加していくのが良いでしょう。この記事では、その理由を説明します。 今回の記事は、以下の V8 のブログ記事を参考にしております。 https://v8.dev/blog/elements-kinds 「詰まった配列(Packed Array)」と「穴あき配列(Holey Array)」 v8 は内部的に、その配列がどういうタイプの配列であるかの状態を記録しており、その情報を利用して最適化を適用します。状態は内部的には21個あるのですが、今回話題にするのは、その中でも「詰まってい

    ginpei
    ginpei 2019/06/12
    empty slotsを持つHoley Array状態だと要素アクセスがV8で17%遅くなるという計測結果。また一度なるとそうでないPacked状態には戻せない。実際この差を気にする程の実装することはないだろうけど、こういうのたのしい。
  • Introduction · Webフロントエンド パフォーマンス改善ハンドブック

    Webフロントエンド パフォーマンス改善ハンドブック このパフォーマンス改善ハンドブックでは、ウェブアプリケーションにおけるフロントエンドのパフォーマンス改善について扱っています。 ダウンロード版 埋め込み動画を再生できないなど一部制限がありますが、ダウンロード版を配布しています。 PDF版 EPUB版 MOBI版 目的 このハンドブックでは過去に行った改善の事例を中心に紹介しています。 そのため、現在の最適な解決方法を提案するものではありません。 また、アプリケーションによっても最適な解決方法は異なります。 今回の事例ではViewライブラリにReactを使い映像再生プレイヤーなどある程度複雑な機能を持ったウェブアプリケーションのフロントを扱います。 具体的にはニコニコ生放送(以下「生放送」)で行った事例を中心に書かれています。 開発と平行して行われていたため、React 15から16の間

    ginpei
    ginpei 2018/09/17
    ニコ生の改善を下地にした事例集。React 15-16。『このハンドブックではどのようにして問題を発見して、何をすれば解決するのかを見つけるという点を重視しています』
  • FONTastic Performance (or Number One Problem with FONTS)

    Web fonts are awesome. They make your sans-serifs slabby, your headers special and your website look gorgeous. But fonts are a resource, and downloading resources always comes as a cost — if you don’t load web fonts efficiently, what you get instead are phantom underlines, blank pages, and user rage. Let’s talk about ways to avoid this, and what new platform features are here to help us deliver pr

    FONTastic Performance (or Number One Problem with FONTS)
    ginpei
    ginpei 2018/01/04
    ウェブフォント読み込み前に真っ白になるFOIT、読み込み後に再描画してガクッとなるFOUTについて。次善の策としてサイズの近いフォールバックフォントを使い影響を最小限に。
  • Font style matcher

    If you're using a web font, you're bound to see a flash of unstyled text (or FOUC), between the initial render of your websafe font and the webfont that you've chosen. This usually results in a jarring shift in layout, due to sizing discrepancies between the two fonts. To minimize this discrepancy, you can try to match the fallback font and the intended webfont’s x-heights and widths [1]. This too

    ginpei
    ginpei 2017/12/22
    ウェブフォント読み込み前後でガクッとするやつ (FOUT) を改善するフォールバック作成補助ツール。両者重ねた表示等で、目的のフォントに視覚的に近い指定を作れる。
  • リニューアルした日経電子版が高速すぎてヤバイ件|こんぴゅ

    経済新聞は国内を代表する経済誌だ。その電子版はwebでの継続課金を大成功させ、いまや50万以上の有料会員を擁するモンスターサイトだ。 その日経電子版が11月6日に全面リニューアルしたのだが、公開後、web業界がにわかにざわついた。表示速度が爆速だったのだ。日経公式もモバイルで2倍の表示速度を達成したと堂々と宣言していた。 webサービスは継続率こそ神KPIで、その継続率には速度が大きく影響する。 これはチェキらないとヤバイと感じ、友人のkitakさんとスピードの秘密を調査してみた。 Fastlyをコンテンツキャッシュに使う殆どのデータはFastlyを経由して取得されていた。Fastlyは最近注目を集めているCDN(世界中にエッジサーバーを配置し、高速にコンテンツを配信するサービス)で、非常に高機能でユニークなサービスだ。 一般に、CDNはいったん世界中にコンテンツをばらまくと、それを無

    リニューアルした日経電子版が高速すぎてヤバイ件|こんぴゅ
    ginpei
    ginpei 2017/11/18
    ざっくり技術解説。CDNでコンテンツキャッシュ、ServiceWorkerとResource Hintsで先行読み込みとローカルキャッシュ、HTTP/2で通信オーバーヘッド削減、WebPで画像軽量化。
  • Integrated Terminal Performance Improvements

    Version 1.90 is now available! Read about the new features and fixes from May. October 3, 2017 Daniel Imms, @Tyriar The rendering engine of the Integrated Terminal has been completely re-written with performance in mind for the upcoming version 1.17 of Visual Studio Code. In this version, we move away from a DOM-based rendering system to using the HTML canvas element. DOM Rendering It's somewhat s

    Integrated Terminal Performance Improvements
    ginpei
    ginpei 2017/10/07
    VS Codeのコンソールのフロント側実装を、DOMからCanvasへ置き換えて高速化した話。文字選択やMB出力、GC実行頻度に問題があった。Canvasでも最小限の再描画、出力文字のスプライト化といった工夫をしている。
  • Performance metrics. What’s this all about?

    Measuring performance of page loading is a hard task. Hence together with the community are working on Progressive Web Metrics (PWM’s). What are PWM’s and why do we need them? A bit history of browser metrics. A while ago we had 2 main points (events) for measuring performance: DOMContentLoaded — fired when page is loaded but scripts just started to be executed. load event which is fired then a pa

    Performance metrics. What’s this all about?
    ginpei
    ginpei 2017/09/29
    パフォーマンス指標の解説。各指標が「開発者にどう役立つか」はわかりやすい。何だろ、特にどのツールのってわけでもなくて、全般的な用語解説? でもどうやって計るんだろ。
  • スクフェスと相性の悪いAndroid端末について - naoya2kの日記

    ラブライブスクールアイドルフェスティバル(スクフェス)とAndroidはミョーに相性が悪いという不満を家族からぶつけられていた。スクフェス自体はそこまで重たいゲームではないのだがAndroid端末によってはガタついたりタップの反応が良くなくてまともにゲームができないらしい。ということで僕も余らせてたSH-02Fという当時ハイエンドの性能を誇っていた端末に入れて試してみた。 結果はひどいものだった。まずフレームレートが安定しない。正しいタイミングでタップしているはずなのにBADやMISSになる、挙句に曲の途中で0.3秒くらいフリーズするというような現象が発生しどれだけ設定を弄っても改善しない。比較対象としてアイドルマスターシンデレラガールズスターライトステージ(デレステ)を入れてみたが、こちらも似たような現象は発生するもののスクフェスよりはましである。 設定変更の一環で ・描画負荷を減らすた

    スクフェスと相性の悪いAndroid端末について - naoya2kの日記
    ginpei
    ginpei 2017/06/12
    『処理が重すぎてガタついているわけではなく、処理が軽いせいで変なことになっているという可能性』 CPU利用率に波がある場合、勝手に省電力モードに入ってしまいその後の重い処理に対応できないのではないか、と。
  • What forces layout/reflow. The comprehensive list.

    what-forces-layout.md What forces layout / reflow All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck. Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for a

    What forces layout/reflow. The comprehensive list.
    ginpei
    ginpei 2017/05/30
    強制再描画の類いを引き起こすもの一覧。by Paul Irish
  • ReactはなぜFiberで書き直されたのか?Reactの課題と将来像を探る

    先日行われたFacebookの開発者向けイベント「F8」で、React Fiberの発表が行われていました。 といっても、React関連の新しいプロダクトが発表されたというわけではなく、Reactが一から書き直されたということのようです。 ReactはなぜFiberで書き直されねばならなかったのか?Fiberが解決しようとした課題は何なのか? その答えを聞くために、React Fiber現状確認というブログエントリで大変詳細にFiberの事を解説されていた小林徹 (Twitter: @koba04)さんに、実際のところを詳しく伺ってきました。 React Fiberとはなんなのか、そしてReactの将来像を探ってみます。 React Fiberとは? 白石 React Fiberってなんですか?まずは概要を教えてください。 小林 Facebookが先日のF8カンファレンスで発表した、Rea

    ReactはなぜFiberで書き直されたのか?Reactの課題と将来像を探る
    ginpei
    ginpei 2017/05/29
    内部を刷新した新Reactは優先度付きのスケジューリングをする。requestIdleCallback()を使ってバックグラウンド処理。ベンチマーク自体は同程度。『スピードではなくレスポンスの向上』
  • https://cs.chromium.org/chromium/src/third_party/WebKit/Source/platform/graphics/CompositingReasons.h

    ginpei
    ginpei 2017/03/14
    合成レイヤー生成の要因一覧。