3 ms·
This made me realize that my Pathfinder (vector graphics on GPU) work may have an unexpected benefit—unifying font and vector rendering paths across OS's to mit
by pcwalton 8y ago
This made me realize that my Pathfinder (vector graphics on GPU) work may have an unexpected benefit—unifying font and vector rendering paths across OS's to mitigate a bunch of these fingerprinting techniques.
(My font rendering reads the OS settings to determine which rendering mode to use to match the underlying OS, but I think there's no need to do that for canvas.)
- jancsika 8y ago> (My font rendering reads the OS settings to determine which rendering mode to use to match the underlying OS, but I think there's no need to do that for canvas.) Not sure I understand. Are you saying that HTML and SVG text would match the OS's font rendering but HTML5 canvas text would not?
- pcwalton 8y agoCorrect. OS's are converging on font rendering modes these days anyway (e.g. subpixel AA was dropped in Edge and on macOS Mojave).
- z3t4 8y agoI'm using the Canvas extensively for rendering text. Would be happy if it got faster.
- gsnedders 8y agoSurely that doesn't deal with differences due to GPU rounding and similar?
- pcwalton 8y agoBecause I use highp everywhere, the only sources of rounding error I can think of are blending and quantization to 8-bit unorm. D3D requires that these round in a certain way: https://docs.microsoft.com/en-us/windows/desktop/direct3d10/d3d10-graphics-programming-guide-resources-data-conversion https://docs.microsoft.com/en-us/windows/desktop/direct3d10/... So I suspect that implementations behave the same way. It'll have to be tested, of course.
- gsnedders 8y agohighp is technically specified as only min float16, right? (Though given the perf cost of going for a larger float it seems unlikely any implementation will?) Last time I spoke to gw there were fair differences in WebRender down to rounding error between different GPUs (and drivers, IIRC), though almost certainly you'll know better the situation nowadays (and wrt Pathfinder).