Anonymous | Login | 04-16-2021 17:39 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0001781 | [Squeak] Graphics | feature | always | 09-11-05 06:48 | 09-04-13 00:07 | ||||
Reporter | Eddie Cottongim | View Status | public | ||||||
Assigned To | tim | ||||||||
Priority | normal | Resolution | fixed | ||||||
Status | closed | Product Version | 3.9 | ||||||
Summary | 0001781: BitBlt>>primDisplayString: is failing often | ||||||||
Description |
The primitive is failing in at least two instances. The most important one is that it will always fail when trying to print a StrikeFontSet (which is very often). This is because StrikeFontSet has a nil glyphMap. It costs about 30-50% of printing performance. The other is that the prim fails when called with a nil string. This is just a nuisance, but perhaps it should be caught further upstream. |
||||||||
Additional Information |
This patch tries to fix the problem. It seems to work and provide a speedup. However, it is hardwired to use the latin1 encoding because I couldn't figure out the class well enough to understand what to do. Also I have no idea if a glyphMap is even appropriate for a StrikeFontSet. Oh for class comments. Anyway, maybe it will help someone start, because I won't have time to completely polish this. Here is a semi useful benchmark. I got 1071 before, 772 after. text := '012345678901234567890123456789'. font := TextStyle default fontOfSize: 12. width _ font widthOfStringOrText: text. bb := (Form extent: width @ 30) getCanvas privatePort. bb combinationRule: Form paint. font installOn: bb foregroundColor: Color black backgroundColor: Color white. Time millisecondsToRun:[ 10000 timesRepeat: [ destPoint := font displayString: text on: bb from: 1 to: 30 at: 0@0 kern: 1. ].]. |
||||||||
Attached Files |
![]() |
||||||||
|
![]() |
|||||||||||
|
Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
80 total queries executed. 50 unique queries executed. |