Infos zum GEOS TTF-Treiber

  • Hallo,

    ich habe mal mein System auf den aktuellen master Stand gebracht und versucht das Problem nachzustellen.

    Bei mir sind es etwa 3-4 Sekunden vom Klick auf das '?' in GeoWrite bis zum Zeitpunkt bis die Hilfeseite inkl. Inhalt komplett dargestellt wird. Ich habe meine Dosbox extra auf 5000Zyklen runtergestellt um möglichst lange Ladezeiten zu provozieren. Allerdings teste ich mit einem EC-Geos (das sollte eigentlich deutlich langsamer als die NC Version sein) und einem Geos-Kernel mit aktivem timer-profile und dranhängendem swat.

    Welche Konfiguration habe ich genutzt?

    - DOSBox Staging v0.76.0-1 ubuntu20.04

    - alles läuft unter Ubuntu 22.04.4 LTS

    - ich habe mit den Fonts getestet die seit gestern im master liegen


    Jirka

    Es ist auch dein FreeGEOS!

  • Mist da habe ich beim aufbauen des Systems nicht aufgepasst...

    Hier die korrigierten Werte:

    - DOSBox Staging v0.76.0-1 ubuntu20.04 mit 10000 Zyklen

    - bis der erste Buchstabe gerendert wird braucht es 14sek. bis die gesamte Hilfeseite gerendert ist sind es ca. 24 sek.

    - wie oben beschreiben ist es ein EC Geos mit swat und Kernel mit timer-profile

    Es ist auch dein FreeGEOS!

  • Mist da habe ich beim aufbauen des Systems nicht aufgepasst...

    Hier die korrigierten Werte:

    - DOSBox Staging v0.76.0-1 ubuntu20.04 mit 10000 Zyklen

    - bis der erste Buchstabe gerendert wird braucht es 14sek. bis die gesamte Hilfeseite gerendert ist sind es ca. 24 sek.

    - wie oben beschreiben ist es ein EC Geos mit swat und Kernel mit timer-profile

    Dann teste mal mit den Fonts hier im Forum Fontsquirrel.zip Rainer sagt es geht runter auf 7 Sekunden.

    Das wäre dann doch besser , leider ohne Kerningpairs.

    Bei mir in der Dosbox 0.74 bei 25000 Cycles : 5 Sekunden (Fontsquirrel optimierte fonts). Rechner nur Dualcore 2.2 Ghz.

    Gruss vvon Nico

  • Hallo Nico,

    die Fonts sind nur ein Teil des Problems und Fontsquirrel optimiert keine Fonts, sie werden nur anders gehinted. Geos war schon immer ein System das mit bescheidenen Resourcen auskam und aus meiner Sicht sollte das auch so bleiben.

    Für die die es interessiert:

    Ich habe mal die Laufzeiten beim Aufbau der gesamten HIlfeseite (also inkl. Inhalt) ausgeben lassen. Lt. swat hat alles 21,1sek gedauert. Fast 20% davon sind für das Mapping der Geos-Zeichen auf die TrueType IDs benötigt worden. Der zweite große Brocken (ca. 16%) ist das Aufbauen der Chartable Entries im FontBuf. Die beiden Kandidaten werde ich mir als nächsten bei der Optimierung vornehmen. Mal gucken was sich da machen lässt.

    Jirka

    Es ist auch dein FreeGEOS!

  • Hallo Nico,

    die Fonts sind nur ein Teil des Problems und Fontsquirrel optimiert keine Fonts, sie werden nur anders gehinted. Geos war schon immer ein System das mit bescheidenen Resourcen auskam und aus meiner Sicht sollte das auch so bleiben.

    Für die die es interessiert:

    Ich habe mal die Laufzeiten beim Aufbau der gesamten HIlfeseite (also inkl. Inhalt) ausgeben lassen. Lt. swat hat alles 21,1sek gedauert. Fast 20% davon sind für das Mapping der Geos-Zeichen auf die TrueType IDs benötigt worden. Der zweite große Brocken (ca. 16%) ist das Aufbauen der Chartable Entries im FontBuf. Die beiden Kandidaten werde ich mir als nächsten bei der Optimierung vornehmen. Mal gucken was sich da machen lässt.

    Jirka

    Also bist du der Meinung die Fonts so zu lassen aktuell !

    Gruss von Nico

  • Jirka, du hast recht, man muss beim Bauen des Targets höllisch aufpassen, in welchem Branch man ist. :) Selbst wenn man nur "lokale" Branches hat, die noch nicht mit dem master gemerged sind.
    Die EC-Version ist bei mir auch noch mal merklich langsamer. Bis zum Neu/Öffen Dialog dauert es ca 5 Sek gegenüber 1-2 bei der NC-Version. Die erste Hilfeseite braucht 26 Sekunden.

    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Mir ist beim Test gerade aufgefallen, dass in der englischen Hilfe noch von "Writer" und nicht "GeoWrite" die Rede ist.

    Darüberhinaus kann ich die langen Ladezeiten bei der Hilfe ebenfalls nachvollziehen.

    Solche "Fehlerchen" dürfte es noch ein paar mehr geben, weil die englischen Hilfedateien hat ja keiner bearbeitet. Man hat sie maximal mal gelesen und dann übersetzt. 😀

    Grüße Klaus / Locke

  • Hallo Jirka,

    Issue #643 "poor screen output quality with document zoom" fände ich besonders wichtig, weil es IMHO die Lesbarkeit der Schrift ist, die über die (Be-)Nutzbarkeit von PC/GEOS 6 entscheidet. Trotzdem war ich positiv überrascht, dass die Darstellung in 100% Skalierung i.O. ist. Das war mir bisher gar nicht aufgefallen, da man doch bei allen BS-Auflösungen jenseits von 640x480 immer irgendeine Zoomstufe verwendet.

    Die Verzögerung beim Aufbau der Hilfeseiten jedenfalls finde ich nicht so dramatisch. Und für viele andere Probleme finden wir sicher auch erstmal Workarounds: GhostPCL nutzen zum Drucken oder um PDFs zu erzeugen, Text in Grafik wandeln und dann skalieren oder auch einfach nur etwas Geduld mit GEOS haben...

    Gruß Thomas

  • Die Verzögerung beim Aufbau der Hilfeseiten jedenfalls finde ich nicht so dramatisch.

    Es ist ja nicht nur die Hilfeseite, sonder prinzipiell alle Texte unterliegen der Verzögerung. Das war nur das reproduzierbare Beispiel.

    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Hallo,

    es ist wieder Zeit für ein paar Neuigkeiten. Seit gestern gibt ist in den CI-Builds eine neue Version des TTF-Treibers enthalten. Was hat sich getan?

    • Es gab noch zwei Fehler im Bytecodeinterpreter die in Fonts, deren Bytecode eine bestimmte Instruktion verwendet haben, für die verzerrte Darstellung von einigen Zeichen gesorgt hat. Dieses Problem wurde behoben.
    • In wenigen Fonts kam es bei der Normalierung eines Vektors zum Einfrieren von GEOS. Auch dieses Problem wurde behoben.
    • Es gab Optimierungem am Rasterizer (das ist der Programmteil der aus der Geometrie eines Zeiches eine Bitmap macht die auf dem Bildschirm dargestellt werden kann). Ziel dieser Optimierungen war es den benötigten Platz für den Rasterizer zu minimieren. Jetzt benötigt dieser im nc Build nur noch 10071Byte (ein paar Byte muss dieser also noch schrumpfen damit glue nicht mehr meckert).
    • Die TRaster_Instance (das ist eine Datenstruktur die allerlei Information währen des Renderns hält) könnte ein wenig geschrumft werden. Das spart wieder ein wenig Hauptspeicher.
    • Ein großes Problem war (und ist) die Größe des Bytecodeinterpreters im Treiber. In der neuesten Version konnte diese auch etwas geschrumft werden. Die Optimierung des Bytecodeinterpreters ist aber noch nicht abgeschlossen.
    • Der Treiber bringt eine Reihe vom mathematischen Hilfsfunktionen mit. In der vorliegenden Treiberversion gab es hier ein paar Optimierungen die uns geholfen haben den Speicherbedarf des Treibers zu reduzieren.

    So, ich hoffe ich habe jetzt niemanden mit zu vielen technischen Begriffen verwirrt.

    JIrka

    Es ist auch dein FreeGEOS!

    Edited once, last by Jirka Kunze (December 20, 2024 at 12:23 AM).

  • Okay, it is in my FreeDOS bare metal PC. I will try to download and unzip it again. I have from time to time, but not very often, running into file corruption error, probably due something "bad" in the unzip process.

    I had one oddity, the screen saver crashed frequently, but when after editing the geos.ini the crash disappeared. I just added the lines to make the window frame smaller, and it does not have anything to do with the screen saver. :huh:

    Hans

  • I have now unpacked the latest CI again, running it in FreeDOS, bare metal. Character Map loads the default font rapidly. When changing font, to any font in the font list, Character Map crashes, and it crashes Geos so Geos freezes. No error message. The only way to get out of it is to press the power button and turn off the laptop computer. There is a slight improvement, the font list shows the available fonts, previously, the list was just blank before the crash. The same thing happens for me in GeoWrite, when switching fonts.

    Hans

  • Seit kurzem steht ein neuer CI-Buid zum Download bereit. Am TTF-Treiber des Pakets hat sich seit meiner letzten Statusmeldung folgendes getan:

    - Einige kleine Optimierungen die dazu dienen diverse Code-Ressoucen zu verkleinern.

    - Einige kleine (und auch größere) Fehlerbereinigungen.

    - Das Beste zu Schluß: Falk hat die Coderesource die vom Bytecodeinterpreter belegt wird in kleinere und für unser GEOS besser 'verdauliche' Resourcen aufgesplittet.

    Es ist auch dein FreeGEOS!

  • Supi! Unter swat scheint jetzt auch die beim Starten von R-BASIC Programmen fast schon obligatorische Meldung HEAP_IS_CONGESTED (Speicher voll) weg zu sein.

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.