|
From: | Anurag Thakur |
Subject: | RE: Progress update on alternative rendering engines project |
Date: | Sat, 5 Aug 2023 01:51:03 +0000 |
Hi all, From what I understood, the main performance improvement that fontdue claims to have is that it stores the font outlines differently, i.e. it seems to perform the curve flattening at initial load and stores the outline in the form of "v_lines" and "m_lines", presumably indicating "vertical lines" and lines spanning "multiple pixels horizontally". While trying to implement and benchmark it, I realized I had made a mistake in my previous benchmarks : I did not disable hinting. Fontdue does not support hinting, while the default mode for FreeType seems to have hinting enabled, leading to a decrease in performance. This was also an issue with the benchmark program used by fontdue. I created a small benchmark program and reran the benchmarks with hinting disabled, and as expected freetype was much faster with hinting disabled. So much so that on arm64 where there is no SIMD in fontdue, FreeType is faster in every single case. Its only with SIMD optimizations that fontdue is faster in a small range of sizes. I have also discovered some sort of regression with the `smooth` rasterizer using the font "Cascadia Code". Its performance degrades rapidly when rendering that font, A preliminary check indicates something to do with "overlap_spans", I will send the `perf` results as well ASAP. While I am trying to investigate more thoroughly, the benchmarks at first glance seem to indicate that only the SIMD improvement is worth considering and the other claims of performance don't seem to work well. I also noticed some regressions with opentype fonts as compared to truetype fonts, will investigate those further and report. I am currently cleaning up my small benchmark program such that the results can be reproduced and if I have made a mistake anywhere people can check it. Will send it today. Regards Anurag -----Original Message----- From: Werner LEMBERG <wl@gnu.org> Sent: Thursday, August 3, 2023 8:08 AM To: Anurag Thakur <anurag105csec21@bpitindia.edu.in> Cc: freetype-devel@nongnu.org Subject: Re: Progress update on alternative rendering engines project > I am currently working on implementing optimizations from fontdue in > the `dense` module. Any progress code-wise? Two weeks have passed, and I only see minor adjustments to the MarkDown document conversions – and no report from you :-) Werner
fontdue_arm64_arial.png
Description: fontdue_arm64_arial.png
fontdue_arm64_calibri.png
Description: fontdue_arm64_calibri.png
fontdue_arm64_cascadia-code.png
Description: fontdue_arm64_cascadia-code.png
fontdue_arm64_liberation.png
Description: fontdue_arm64_liberation.png
fontdue_arm64_roboto.png
Description: fontdue_arm64_roboto.png
fontdue_arm64_ubuntu.png
Description: fontdue_arm64_ubuntu.png
fontdue_x64_arial.png
Description: fontdue_x64_arial.png
fontdue_x64_calibri.png
Description: fontdue_x64_calibri.png
fontdue_x64_cascadia-code.png
Description: fontdue_x64_cascadia-code.png
fontdue_x64_liberation.png
Description: fontdue_x64_liberation.png
fontdue_x64_roboto.png
Description: fontdue_x64_roboto.png
fontdue_x64_ubuntu.png
Description: fontdue_x64_ubuntu.png
[Prev in Thread] | Current Thread | [Next in Thread] |