freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Progress update on alternative rendering engines project


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

Attachment: fontdue_arm64_arial.png
Description: fontdue_arm64_arial.png

Attachment: fontdue_arm64_calibri.png
Description: fontdue_arm64_calibri.png

Attachment: fontdue_arm64_cascadia-code.png
Description: fontdue_arm64_cascadia-code.png

Attachment: fontdue_arm64_liberation.png
Description: fontdue_arm64_liberation.png

Attachment: fontdue_arm64_roboto.png
Description: fontdue_arm64_roboto.png

Attachment: fontdue_arm64_ubuntu.png
Description: fontdue_arm64_ubuntu.png

Attachment: fontdue_x64_arial.png
Description: fontdue_x64_arial.png

Attachment: fontdue_x64_calibri.png
Description: fontdue_x64_calibri.png

Attachment: fontdue_x64_cascadia-code.png
Description: fontdue_x64_cascadia-code.png

Attachment: fontdue_x64_liberation.png
Description: fontdue_x64_liberation.png

Attachment: fontdue_x64_roboto.png
Description: fontdue_x64_roboto.png

Attachment: fontdue_x64_ubuntu.png
Description: fontdue_x64_ubuntu.png


reply via email to

[Prev in Thread] Current Thread [Next in Thread]