TIL: there is an equivalent of `requestAnimationFrame` for videos : `requestVideoFrameCallback`, called for each video frame.
Could be useful to... automatically re-render a WebGL shader when a video texture is played \o/
| GitHub | https://github.com/jsulpis |
| https://x.com/jsulpis | |
| BlueSky | https://bsky.app/profile/jsulpis.dev |
TIL: there is an equivalent of `requestAnimationFrame` for videos : `requestVideoFrameCallback`, called for each video frame.
Could be useful to... automatically re-render a WebGL shader when a video texture is played \o/
Sooo I bought 5 courses about creative coding on @Awwwards 👀
They add to a 26h long chapter about shaders on #threejsJourney that I have to catch up, @iced_coffee_dev's 2 courses, and 2 Humble bundles with Blender courses..
I think I'm good with learning material until 2026 😅
No surprise here, I would rather write code than tweets 😅
Just found this little app, what are your stats ?! 💬⬇️
(don't take that too seriously of course)
yet another developer on MacOS 🙄
I forgot two things last time:
- always use `overflow: auto` instead of `overflow: scroll` unless you specifically want a scrollbar even when there is no scroll
- if you have a dark mode, use `color-scheme: dark` to have dark scrollbars
New performance optimization on my reveal.js slide deck :
- replace the 3 code snippets I had with screenshots
- remove the highlight.js plugin
- reduce the weight of the main script by 92% 😅
The plugin loads all languages, I opened an issue to allow loading specific languages
I traced the issue back to the MathJax3 plugin, so I took screenshots of the math equations, removed the plugin, and the number of DOM nodes stabilized to ~7k.
With that and the highlight plugin which is super heavy, reveal.js plugins are definitely something to watch out 😕
I investigated performance issues with the reveal.js slide deck of my latest talk, and I turns out that each slide change created like 1500 DOM nodes 😳
I ended up with ~100k DOM nodes at the end... I guess every layout/style recalculation was taking forever.
solution: