Thread Tk::Font::measure ist zu langsam
(9 answers)
Opened by betterworld at 2005-07-24 17:03
Hallo.
Ich moechte mit Tk einen HTML-Renderer schreiben, und dazu wollte ich von jedem einzelnen Wort die Breite (abhängig von der Schriftart) bestimmen. In der Doku habe ich dazu die Funktion "measure" in Tk::Font gefunden. Nun habe ich aber widerfahren müssen, dass sie verdammt langsam ist. Und was mich sehr wundert, ist: 1) Es dauert zwar sehr lange, viele Worte auszumessen, aber das Zeichnen der Wörter in ein Canvas passiert fast instantan, also schnell. 2) Auch dauert es nicht lange, wenn man statt der einzelnen Woerter die Verkettung ausmisst. 3) esskar sagt, auf Windows geht es schneller... (ich habe Linux, und einen amd600) Hier ist ein Script, das das Problem illustriert: Code: (dl
)
1 use Tk; Hier ein Beispiel zu Punkt (2) oben: (Sekundenbruchteil) Weiß jemand eine Erklärung, oder sogar eine bessere Lösung? Ich habe überlegt, alle Buchstaben einzeln auszumessen und die Ergebnisse zu speichern, aber das ist unschön und könnte Probleme mit Kerning geben. Noch eine Frage: Warum braucht man ein Widget, um eine Font zu erzeugen oder auszumessen? Danke.\n\n <!--EDIT|betterworld|1122211071--> Lieblingsmodule: IPC::System::Simple, Path::Class
|