次のコードを実行してみて、スクロールバーを動かす速さによってコールバックが呼ばれる回数が異なることを知りました。(速ければ少なく、遅ければ多い)

window.onscroll = () => {
    console.log("scrolled");
};

スクロールイベントはどのような条件が揃うと発火するのでしょうか?

scroll - Event reference | MDNなどにも条件については書かれていないようです。