Repository navigation
StbTrueTypeFont: Use fabsf instead of fabs - #73
Merged
Merged
Conversation
Signed-off-by: Squareys <squareys@googlemail.com>
Codecov Report
@@ Coverage Diff @@
## master #73 +/- ##
==========================================
- Coverage 91% 90.96% -0.04%
==========================================
Files 53 40 -13
Lines 4480 3410 -1070
==========================================
- Hits 4077 3102 -975
+ Misses 403 308 -95
Continue to review full report at Codecov.
|
mosra
approved these changes
Nov 11, 2019
| #include <math.h> | ||
| /* Use fabsf instead of fabs (double version) for 30% performance | ||
| improvement on MSVC Debug builds */ | ||
| #define STBTT_fabs(x) fabsf(x) |
Owner
|
Thank you! |
Owner
|
Hmm. This causes GCC to emit a warning: I'll need to investigate why it's using doubles at all. Maybe that's responsible for the remaining perf drop. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hey @mosra !
As discussed via gitter, the performance of StbTrueTypeFont on MSVC Debug builds is crazy bad. Through profiling I figured out that all of the time is spent in
fabs()during rasterization of the Glyphs infillGlyphCache.In embedded stbfreetype in ImGui this is not an issue for some reason, and I found that they override
STBTT_fabs(x)withfabsf(x), thefloatoverride offabs.This didn't entirely fix the issue (imgui is still over 10x faster at loading a font), but at least 30% speedup.
I tried to figure out if there are different compile flags applied during compilation of imgui, but that doesn't seem to be the case.
Best,
Jonathan.