Closed
Bug 465648
Opened 16 years ago
Closed 8 years ago
[@font-face] move UpdateFontList into GetFontAt
Categories
(Core :: Graphics, defect, P3)
Tracking
()
RESOLVED
INVALID
People
(Reporter: jtd, Unassigned)
References
Details
Follow up work from bug 457821: https://bugzilla.mozilla.org/show_bug.cgi?id=457821#c52 Various places within layout and gfx call fontGroup->GetFontAt(0), typically to grab metrics info. But when a user font set is present, the first font can potentially change, depending upon the state of the user font set. The check to see whether the internal font list needs to be regenerated is in UpdateFontList. Currently this is called from outside code but it should probably be called from within GetFontAt code. Additionally, the code could be smarter about knowing when to regenerate the internal font list we only need to regenerate this when the order will change due to a newly downloaded font (i.e. many font groups may be in a page that contains @font-face rules but do not use any of those user-defined fonts, so changes in the user font set will not affect their state).
Reporter | ||
Updated•16 years ago
|
Priority: -- → P3
Reporter | ||
Updated•16 years ago
|
Summary: move UpdateFontList into GetFontAt → [@font-face] move UpdateFontList into GetFontAt
FWIW, i can barely watch a YouTube video on http://www.geek.com/articles/games/skyrim-graphics-comparison-proves-pc-is-superior-20111122/ due to 25.10% of my quadcore being used by firefox.exe, with stack: xul.dll!?GetFontAt@gfxFontGroup@@UAEPAVgfxFont@@H@Z+0x72e3 xul.dll!?GetFontAt@gfxFontGroup@@UAEPAVgfxFont@@H@Z+0x72ff xul.dll!?TransformBounds@gfxMatrix@@QBE?AUgfxRect@@ABU2@@Z+0x65b4 xul.dll!?GoodAlignmentLog2@gfxAlphaRecovery@@SAIXZ+0x7fc8 xul.dll!?GoodAlignmentLog2@gfxAlphaRecovery@@SAIXZ+0x5f8f xul.dll!?SetSpaceGlyph@gfxTextRun@@QAEXPAVgfxFont@@PAVgfxContext@@I@Z+0x17e4 xul.dll!?SetSpaceGlyph@gfxTextRun@@QAEXPAVgfxFont@@PAVgfxContext@@I@Z+0x17ee xul.dll!?TransformBounds@gfxMatrix@@QBE?AUgfxRect@@ABU2@@Z+0x6b4a xul.dll!?UpdateFontList@gfxFontGroup@@UAEXXZ+0xd6e0 xul.dll!?UpdateFontList@gfxFontGroup@@UAEXXZ+0xd708 xul.dll!?AllocateStorage@gfxTextRun@@KAPAVCompressedGlyph@1@AAPBXII@Z+0x6cb 64-bit Windows 7 Enterprise on 2.93GHz Xeon + Nvidia Quadro FX 1800. 4.0/6.0 Physical RAM in use. Application: Firefox 10.0 (20120129021758) Operating System: WINNT (x86-msvc) - BarTab Lite 1.2 - Download Statusbar 0.9.10 - Extension List Dumper 1.15.2 - Firebug 1.9.1 - Firefogg 2.9.19 (Disabled) - FireFTP 2.0.1 - Flashblock 1.5.15.1 - FromWhereToWhere 0.25.0 (Disabled) - Memory Fox 7.4 - Mozilla Archive Format 2.0.4 - New Tab JumpStart 0.5a5.4.3 - NoScript 2.2.9 - Places Maintenance 1.3 (Disabled) - Session History Tree 1.0 (Disabled) - Session Manager 0.7.8.1 - Showcase 0.9.5.8 (Disabled) - Tab History Menu 2.1.1 (Disabled)
Comment 2•12 years ago
|
||
(In reply to Cees T. from comment #1) > FWIW, i can barely watch a YouTube video on > http://www.geek.com/articles/games/skyrim-graphics-comparison-proves-pc-is- > superior-20111122/ due to 25.10% of my quadcore being used by firefox.exe, > with stack: > > xul.dll!?GetFontAt@gfxFontGroup@@UAEPAVgfxFont@@H@Z+0x72e3 > xul.dll!?GetFontAt@gfxFontGroup@@UAEPAVgfxFont@@H@Z+0x72ff > xul.dll!?TransformBounds@gfxMatrix@@QBE?AUgfxRect@@ABU2@@Z+0x65b4 > xul.dll!?GoodAlignmentLog2@gfxAlphaRecovery@@SAIXZ+0x7fc8 > xul.dll!?GoodAlignmentLog2@gfxAlphaRecovery@@SAIXZ+0x5f8f > xul.dll!?SetSpaceGlyph@gfxTextRun@@QAEXPAVgfxFont@@PAVgfxContext@@I@Z+0x17e4 > xul.dll!?SetSpaceGlyph@gfxTextRun@@QAEXPAVgfxFont@@PAVgfxContext@@I@Z+0x17ee > xul.dll!?TransformBounds@gfxMatrix@@QBE?AUgfxRect@@ABU2@@Z+0x6b4a > xul.dll!?UpdateFontList@gfxFontGroup@@UAEXXZ+0xd6e0 > xul.dll!?UpdateFontList@gfxFontGroup@@UAEXXZ+0xd708 > xul.dll!?AllocateStorage@gfxTextRun@@KAPAVCompressedGlyph@1@AAPBXII@Z+0x6cb I don't think this stack is actually relevant here.... the call sequence it suggests doesn't make any sense, and note the large offsets (+0x....) it shows from the given symbols, which indicate that the stack trace hasn't really been able to find the correct functions. I'd suggest trying a fresh profile, to see if something among your add-ons may be contributing to the problem you're experiencing.
I think the Memory Fox add-on broke it, as it actually crashed since a long time and that stack was useless: https://crash-stats.mozilla.com/report/index/bp-abcd5ce1-3cd2-4383-a7b7-bcce12120209 I'm currently running with the WinDbg downloaded via the bold link on https://developer.mozilla.org/en/How_to_get_a_stacktrace_with_WinDbg but Process Explorer says it's a 64-bit image. I did get some stacks from Process Explorer before trying Memory Fox: http://pastebin.com/B0xqVUHN
Cees, please file a separate bug under Video/Audio. (And try a Nightly build)
(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #4) > Cees, please file a separate bug under Video/Audio. (And try a Nightly build) Filed as bug 725993 - Random up to a minute-long unresponsive GUI. I couldn't find the Audio/Video component.
Reporter | ||
Comment 6•8 years ago
|
||
No longer applies to the way the current code works.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INVALID
Reporter | ||
Updated•8 years ago
|
Assignee: jd.bugzilla → nobody
You need to log in
before you can comment on or make changes to this bug.
Description
•