5 ms·
I could research this myself, but will ask lazy HN instead. One of the big challenges in presenting Flash well is "conflation artifacts," which are the seams th
by raphlinus 6y ago
I could research this myself, but will ask lazy HN instead. One of the big challenges in presenting Flash well is "conflation artifacts," which are the seams that appear when compositing antialiased vector shapes. The old software renderer in Flash had very clever techniques for avoiding these, but browser 2D renderers generally don't. (The actual story is a bit more complex, as Skia is careful to avoid conflation artifacts within a shape, but the compositing rules in the HTML5 spec almost seem to require them for compositing multiple shapes). Thus, Shumway and the other Flash emulators had artifacts which detracted from the visual quality.
A particularly good paper explaining the problem (and how the NV_path_rendering extension solves it) is "GPU-accelerated Path Rendering", Kilgard and Bolz, 2012.
Does Ruffle solve these? If so, how?
- muizelaar 6y agoIt doesn't solve them. See https://github.com/ruffle-rs/ruffle/issues/26 https://github.com/ruffle-rs/ruffle/issues/26 Here's a flash style solution to the problem: https://github.com/jrmuizel/full-scene-rasterizer https://github.com/jrmuizel/full-scene-rasterizer
- raphlinus 6y agoThanks, good to know. I am interested in a fully GPU-accelerated solution, but it is not easy, and I make no promises if or when I will get there. I would be interested in discussing my ideas.
- raphlinus 6y agoAnd a self-followup: I wrote https://github.com/linebender/piet-gpu/issues/49 https://github.com/linebender/piet-gpu/issues/49 to track this in piet-gpu.