back
user profile

raphlinus

13,685karma·1,846submissions·March 7, 2014
about
I do research on fundamental UI technology and 2D graphics, with a focus on Rust and fonts. @raph@mastodon.online
recent activity (1,846 total)
comment
Yeah, this is actually a super-complicated tradeoff. Whether layers are a win or not is largely a function of how much of the screen can be cached in the layer and how much needs to be re-rendered, so…
8y ago·view thread
comment
Yes, Recurse Center is awesome. I did a "batch" there this fall and enjoyed the experience a lot. I got a chance to meet Dan there and we had some great conversations about latency, among ot…
8y ago·view thread
comment
I'm working on a fast text renderer for xi-editor, and am similarly quite concerned about end-to-end latency. I've also experimented with the high speed camera, but my main testing rig is an…
8y ago·view thread
comment
I don't want to overstate it; I've written a lot of SIMD in my life too. If you've got audio processing that needs to run in a realtime thread, I can see how SIMD is appealing, because …
8y ago·view thread
comment
If I'm understanding it correctly, they're not actually using the 512 bit (ZMM) registers, because using them can cause overall system slowdown. It seems to me they're only really usefu…
8y ago·view thread
comment
The book "Digital Image Warping" by George Wolberg[0] goes into these tricks in great detail, as well as choices for the resampling filter. The world is very different today, bilinear textur…
8y ago·view thread
comment
See also Ben Lynn's implementation[1] in about 100 lines of Haskell. Admittedly it's not a totally fair comparison because it's relying on Haskell's runtime, but it's still an…
8y ago·view thread
comment
Metamath basically goes in the other direction than most proof assistants, it relies on human ingenuity. There is a bit of search in the original C metamath (the "improve" feature) and also …
8y ago·view thread
comment
I've done a bit of work on a "next generation" Metamath, Ghilbert[1], but have come to the conclusion that it's too ambitious to do as a part-time project. People might find it int…
8y ago·view thread
comment
Yes and yes. My son has a 144Hz gaming monitor, and my main monitor for coding is a Dell 4k. We'll test both.
8y ago·view thread
comment
Would that it were so.
8y ago·view thread
comment
The usecase mentioned in Jesse's talk (linked in my root comment) is displaying a notification from some other app while playing a game. They added the "flip_discard" swapchain effect s…
8y ago·view thread
comment
It might be lots of overdraw in the general web case, but for a text editor almost everything the app renders is going to be shown on the screen. The exception is a bit of stuff just outside the scrol…
8y ago·view thread
comment
Visual inspection for now. I've got an Arduino and a high-speed camera, so my plan for the next step is to send mouse and keyboard events from the Arduino, blinking an LED at the same time, then …
8y ago·view thread
comment
DirectComposition. It's been there since Windows 8, and is used by Chrome among other apps (see https://bugs.chromium.org/p/chromium/issues/detail?id=524838 ). It&#…
8y ago·view thread
comment
I've been experimenting with this too, in the context of the Windows front-end for xi editor. It's absolutely true that the compositor adds a frame of latency, but I have a very different ta…
8y ago·view thread
comment
Chyrosran's mechanical keyboard reviews and teardowns. YouTube's recommendation algorithm always shows me a new video when it's posted, and it's not wrong. I'm a fan of mechan…
8y ago·view thread
comment
I did make it while at Google, and the main focus is an Android app, but the sound engine is pretty platform-independent. For the LV2 plug-in, you probably want dexed, which is based on this code (but…
8y ago·view thread
comment
"No CPU involved" is not strictly true, as the CPU is doing the LFO. You can observe this by, for example, rapidly moving the data slider and noticing that the LFO slows down. I considered d…
8y ago·view thread
comment
Shameless self-promotion. There's a high performance C++ (with neon simd acceleration) implementation at [0]. Note, this also compiles cleanly to wasm and runs in the browser (see the "webau…
8y ago·view thread
comment
I've spent a fair amount of time promoting xi-editor, most notably presenting it at RustConf last year. I've also written a bunch of "rope science" posts about fancy algorithms and…
8y ago·view thread
comment
One of the greatest strengths of the Web platform is "view source," the ability to start diving into the code any time you find yourself wondering "how did they achieve that?" So a…
8y ago·view thread
comment
There's a really good technique for getting rid of the wormy or snake-like textures in Floyd-Steinberg: add another term to the threshold proportional to (some monotonic function of) the distance…
8y ago·view thread
comment
Slashdot was one of the main inspirations for Advogato. One clue in support of this is that the codebase was called "mod_virgule". The trust metrics were designed to be a more sophisticated …
8y ago·view thread
comment
That idea works when the page is swapped in, but I don't think you're accounting for the case where the only copy of the contents is in the file that's backing the mapped region.
9y ago·view thread
comment
I did a little digging, and don't think so. Being able to access a readonly snapshot is a property of the filesystem, it's a guarantee that if you overwrite file contents, the original dat…
9y ago·view thread
comment
My reading of the man page[0] is the opposite; your changes won't be reflected to the file, but "It is unspecified whether changes made to the file after the mmap() call are visible in the m…
9y ago·view thread
comment
I use ropes in xi editor. I did not find the argument against ropes convincing. Yes, they're not trivial to implement, but in a proper programming language you're not dealing with the data s…
9y ago·view thread
comment
Apologies if this is a derail, but how does DirectComposition compare to IDXGISwapChain1::Present1 for high performance scrolling and things like blinking a cursor with minimal energy usage? I was loo…
9y ago·view thread
comment
This is true, and now there's public documentation that explains a little more of the rationale: https://opensource.google.com/docs/thirdparty/licenses/#wtfp... …
9y ago·view thread