Paramètres d'Up ! Graphical Engine

Tous les programmes en technologie Up ! Virtual Technical Machine possèdent les paramètres énumérés ci-après. Certaines paramètres font référence à des fichiers ou à des chemins d'accès. En ce cas, il est possible d'employer des variables environnement dans l'expression des chemins d'accès. Exemple :

Tmp=${UPS_HOME}/demo/tmp/${UPS_USER}

D'autre part, le séparateur de répertoire est le caractère division / et les noms de fichiers ou de répertoires peuvent utiliser les partitions montées automatiquement par Up ! System.

Les paramètres sont lus successivement dans :

Les valeurs des paramètres comportant des caractères espace doivent être mises entre caractères guillemet " ou entre caractères apostrophe ' .

Paramètres d'exécution

FeuilleDeStyles

FeuilleDeStyles permet de spécifier le nom de la feuille de styles locale propre au programme. Par défaut, son nom est normal_couleurs_vraies.

FeuilleDeStyles=ma-feuille-de-styles.upl

Cette feuille de styles correspond à la variable FeuilleDeStylesLocale.

FormatFeuilleDeStyles

FormatFeuilleDeStyles permet de spécifier le format du fichier de feuille de styles demandé.

Voici la liste des valeurs possibles :

FormatValeur de l'option
Uniquement format texte en Up ! 5GL.FormatRessourceUps5GL
Uniquement format binaire.FormatRessourceBinaire
Format texte en Up ! 5GL s'il est plus récent que le format binaire.
Format binaire sinon.
FormatRessourceAutomatique

Par défaut, la sélection du format est automatique.

FormatFeuilleDeStyles=FormatRessourceUps5GL

LisserPolices

LisserPolices détermine le nombre couleurs utilisées pour le lissage des polices vectorielles.

Les valeurs admissibles sont 0, 16 et 256. La valeur par défaut est 0 aussi les polices ne sont pas lissées.

LisserPolices=16

NbPolicesChargeesMax

NbPolicesChargeesMax détermine le nombre maximal de polices simultanément chargées en mémoire.

Chaque police chargée nécessite un fichier ouvert en lecture, ce qui limite d'autant le nombre de fichiers ouverts pour un autre usage. La valeur par défaut est 4.

NbPolicesChargeesMax=8

PrecisionGraphique

PrecisionGraphique détermine la précision en pixels des graphiques lorsqu'ils sont décomposés en lignes et surfaces élémentaires.

Plus la précision est importante, plus le temps de calcul est long. La valeur par défaut est 5.

PrecisionGraphique=3

TailleAnteMemoireRessources

TailleAnteMemoireRessources permet de définir la taille en kilo octets de l'anté-mémoire pour toutes les ressources graphiques. La valeur par défaut est 64 Ko.

Les ressources graphiques sont les suivantes :

TailleAnteMemoireRessources=128

TolererTaillePoliceDifferente

TolererTaillePoliceDifferente détermine si la taille des polices peut être adaptée quand la taille demandée n'existe pas.

La valeur par défaut est Oui. Quand une autre taille de police est retenue, cela peut entraîner des distortions dans le document.

TolererTaillePoliceDifferente=Non

Définition des polices installées

Up ! Application System utilise son propre gestionnaire de polices. Ces dernières, comme toutes les autres ressources, doivent être accessibles via le chemin désigné par la variable environnement UPS_RESOURCE dont la valeur par défaut est :

UPS_RESOURCE=${UPS_HOME}/demo/resources;${UPS_HOME}/upsgng/resources

Les polices installées sont énumérées dans le fichier ${UPS_HOME}/ini/${UPS_LANGUAGE}/upsgng.ini parce qu'il est partagé par tous les programmes en technologie Up ! Virtual Technical Machine. La section UpsGng.

L'entrée est le nom logique de la police. Utiliser un nom logique permet d'unifier les appelations quand il existe des différences dues à des marques déposées.

Chaque police installée comporte ensuite une section désignant le nom du fichier vectoriel de la police en style d'écriture :

Dans l'exemple suivant, la première police est Arial utilisant les fichiers True Type arial.ttf, arialbd.ttf, ariali.ttf et arialbi.ttf pour les quatre styles d'écritures énumérés précédemment.

Optimisation du cycle de vie des objets

TypeConservation possibleTaille par défaut
du segment
BrosseOui.8.
ContexteGraphiqueOui.2.
ContourOui.4.
CouleurOui.8.
MasqueDessinOui.4.
MotifOui.4.
PaletteOui.2.
PinceauOui.4.
PointOui.4.
RectangleOui.4.
StyleCadreOui.4.
StyleTexteOui.4.

ConserverObjets, quand le paramètre est possible, spécifie qu'au plus TailleSegment objets du type sont conservés pré-construits en anté-mémoire au lieu d'être détruits.

Quand un nouvel objet du type est demandé, il est prélevé de l'anté-moire s'il en existe un pré-construit. Cela évite de réaliser des enchaînements de destruction / libération / ... / allocation / création d'objets de ce type trop fréquents.

Par défaut, les objets ne sont pas conservés en anté-mémoire.

ConserverObjetsBrosse=Non
ConserverObjetsContexteGraphique=Oui
ConserverObjetsContour=Non
ConserverObjetsCouleur=Oui
ConserverObjetsMasqueDessin=Non
ConserverObjetsMotif=Oui
ConserverObjetsPalette=Non
ConserverObjetsPinceau=Oui
ConserverObjetsPoint=Non
ConserverObjetsRectangle=Oui
ConserverObjetsStyleCadre=Non
ConserverObjetsStyleTexte=Oui

TailleSegment spécifie la taille d'un segment de mémoire dédié à un objet du type concerné en spécifiant le nombre d'objets de ce dernier par segment de mémoire. Ce nombre ne peut excéder la capacité du ramasse-miettes définie par TailleBloc*NbBlocs.

La valeur est 0 signifie que le type n'a pas ses propres buffers et que les objets du type sont alloués dans le tas commun.

TailleSegmentBrosse=8
TailleSegmentContexteGraphique=4
TailleSegmentContour=8
TailleSegmentCouleur=16
TailleSegmentMasqueDessin=8
TailleSegmentMotif=8
TailleSegmentPalette=4
TailleSegmentPinceau=8
TailleSegmentPoint=8
TailleSegmentRectangle=8
TailleSegmentStyleCadre=8
TailleSegmentStyleTexte=8

Exemple de configuration d'Up ! Graphical Engine

Fichier upsaps.ini

; -------------------------------------------------------------------
; Fichier : upsaps.ini
; Objet : Initialisation d'Up ! Virtual Technical Machine.
;
; Module : Up ! Application System.
; Auteur-Date : DUVAL Jean-Pierre - Novembre 2003.
; -------------------------------------------------------------------
; Observations ;
;
; -------------------------------------------------------------------


[UpsGng]
ConserverObjetsBrosse=Non
ConserverObjetsContexteGraphique=Oui
ConserverObjetsContour=Non
ConserverObjetsCouleur=Oui
ConserverObjetsMasqueDessin=Non
ConserverObjetsMotif=Oui
ConserverObjetsPalette=Non
ConserverObjetsPinceau=Oui
ConserverObjetsPoint=Non
ConserverObjetsRectangle=Oui
ConserverObjetsStyleCadre=Non
ConserverObjetsStyleTexte=Oui
FeuilleDeStyles=ma-feuille-de-styles.upl
FormatFeuilleDeStyles=FormatRessourceUps5GL
LisserPolices=16
NbPolicesChargeesMax=8
PrecisionGraphique=3
TailleAnteMemoireRessources=128
TolererTaillePoliceDifferente=Non
TailleSegmentBrosse=8
TailleSegmentContexteGraphique=4
TailleSegmentContour=8
TailleSegmentCouleur=16
TailleSegmentMasqueDessin=8
TailleSegmentMotif=8
TailleSegmentPalette=4
TailleSegmentPinceau=8
TailleSegmentPoint=8
TailleSegmentRectangle=8
TailleSegmentStyleCadre=8
TailleSegmentStyleTexte=8

Fichier upsgng.ini

; -------------------------------------------------------------------
; Fichier : upsgng.ini
; Objet : Initialisation d'Up ! Graphical Engine.
;
; Module : Up ! Application System.
; Auteur-Date : DUVAL Jean-Pierre - Novembre 2003.
; -------------------------------------------------------------------
; Observations
;
;
; -------------------------------------------------------------------

[UpsGng]
UpsGng0=Arial
UpsGng1=Book Antiqua
UpsGng2=Bookman Old Style
UpsGng3=Courrier
UpsGng4=Palatino
UpsGng5=Symbol
UpsGng6=Times
UpsGng7=Univers
UpsGng8=Verdana
UpsGng9=Windings
UpsGng10=Zapf Dingbats

[UpsGng0]
Normal=arial.ttf
Normal+Gras=arialbd.ttf
Normal+Italique=ariali.ttf
Normal+Gras+Italique=arialbi.ttf

[UpsGng1]
Normal=antqua.ttf
Normal+Gras=antquab.ttf
Normal+Italique=antquao.ttf
Normal+Gras+Italique=antquabi.ttf

[UpsGng2]
Normal=bookos.ttf
Normal+Gras=bookosb.ttf
Normal+Italique=bookosi.ttf
Normal+Gras+Italique=bookosbi.ttf

[UpsGng3]
Normal=cour.ttf
Normal+Gras=courbd.ttf
Normal+Italique=courbi.ttf
Normal+Gras+Italique=courbi.ttf

[UpsGng4]
Normal=pala.ttf
Normal+Gras=palab.ttf
Normal+Italique=palai.ttf
Normal+Gras+Italique=palabi.ttf

[UpsGng5]
Normal=symbol.ttf
Normal+Gras=symbol.ttf
Normal+Italique=symbol.ttf
Normal+Gras+Italique=symbol.ttf

[UpsGng6]
Normal=times.ttf
Normal+Gras=timesbd.ttf
Normal+Italique=timesi.ttf
Normal+Gras+Italique=timesbi.ttf

[UpsGng7]
Normal=univer.ttf
Normal+Gras=univerb.ttf
Normal+Italique=univerbi.ttf
Normal+Gras+Italique=univeri.ttf

[UpsGng8]
Normal=verdana.ttf
Normal+Gras=verdanab.ttf
Normal+Italique=verdanai.ttf
Normal+Gras+Italique=verdanaz.ttf

[UpsGng9]
Normal=wingding.ttf
Normal+Gras=wingding.ttf
Normal+Italique=wingding.ttf
Normal+Gras+Italique=wingding.ttf

[UpsGng10]
Normal=
Normal+Gras=
Normal+Italique=
Normal+Gras+Italique=