Responsive scrollable videos without obscure video encoding requirements
scrollyvideo.js.org
scrollyvideo.js.org
Mobile devices send this data constantly and periodically, making it smoother; yet desktop browsers do not, appearing choppy.
It works as intended on my iPhone X, yet stutters on an infinitely more powerful desktop, and only possible explanation is this.
The iPhone 15 Pro approaches the multi-threaded GeekBench score of my Ryzen 3700x (which, while not new or high-end, is still better than what 90% of desktop users have) and handily beats its single-threaded score.
I agree that the difference in smoothness is due to software design decisions and not computational power, but thought it might be novel to see how the gap between nubile and desktop has shrunk over the years!
Both of these systems are infinitely more powerful than my phone, and the latest iPhone possibly smoke that old AMD card, but not the M1, not by a large margin, at least.
Also, grabbing the scrollbar on Firefox Linux restores the smoothness, supporting "tick" theory.
... some phones, at least. Not everyone's on a state of the art flagship device.
Intel and NVIDIA generally adds dedicated silicon for these tasks, and AMD prefers to use shaders for video tasks. They started doing shader based video processing in Radeon 8500 days, and they're very experienced in video processing, since they had AiO wonder cards which did also capture and even TV in some models. Trying to render analog signals nicely on a PC screen provided them considerable R&D and know how during that journey.
Correction: AMD has dedicated video encoder DSP called VCE[0].
It also appears all the desktop people in the thread reporting choppyness are doing so from OSX.
FF updates when scrolling stops, or updates more frequently when you grab the scrollbar. So, it's how the library gets the scroll signal, not about video decoding performance.
I also feel like I have seen smooth scrolling video examples on Firefox desktop, so I don't know that it's an insurmountable problem, either other solutions aren't relying on scroll ticks or they're using some method of making them come faster on desktop I would guess?
But performance/responsiveness are kind of the least of my concerns when looking at this, because sure it may actually be performant, but it doesn't feel performant if the video is constantly snapping around like this.
Which negates the title. Not using long-GOP encoding really defeats the purpose of using a codec like h.264/h.265. For delivering files via streaming, this is a pretty obscure thing to do. It’s no less obscure than using trick play techniques of encoding the video using long-GOP, but in multiple streams where each stream is at different rates. This is how the set top boxes would do the fast forward/reverse play.
Not because of performance, though. I just think autoplay is a cheap trick to try to gain my attention, and if I’m scrolling, it’s because I didn’t want to see the damn video in the first place.
O the desktop it's always: should I be the phone instead?
It never felt right!
I had the page load in the background, so the video didn't load, and I'm guessing when I brought the tab into focus a position event wasn't fired (or not how the library was expecting it), so I didn't get anything until I refreshed.
Yes, it is a bit jittery, and could use improvements, but nothing some lerping of positioning, etc probably can't solve.
I guess this must be the way that those terrible ads that appear to hide behind the text of a content farm article when you scroll, for my browser to block it outright.
That tells me this is going to be used by advertisers so I can't even get away from scrollable video ads because they're going to try to play as I scroll.
This will be great for advertisers since sites will be able to quantify how much of the advertising video was served to users based on how far down they scrolled!
This will be great for everyone's experience on the web. /s