also außer den credits brauchst du dann ja nicht mehr viel programmieren. ab zeile 50 sind wahrscheinlich 90% der programmbenutzer weg und die restlichen 10% spätestens bei zeile 200broozar hat geschrieben:schon klar, nun erweiter das aber mal auf 800 zeilen. wäre das nicht kriechend langsam/rechenverschwendung?
großer scrolltext im windowedscreen
Re: großer scrolltext im windowedscreen
Re: großer scrolltext im windowedscreen
is für ne anwendung, ne art vorgeschalteter launcher für ein spiel. danke für die vielen antworten, ich wollt eingentlich keinen fertigen code, sondern nur ideen, naja, habter mir die arbeit auch noch abgenommen, soll mir recht sein.
bitte beantwortet mir aber noch die eingangs gestellten fragen.
(1. unterliegen sprite3d in pb grafikkarten-texturlimits - 2. welche stückelung bei so großen bildern ist sinnvoll? 512^2 oder 1024^2 oder is das bolle - 3. wurde ausgiebig diskutiert)
bitte beantwortet mir aber noch die eingangs gestellten fragen.
(1. unterliegen sprite3d in pb grafikkarten-texturlimits - 2. welche stückelung bei so großen bildern ist sinnvoll? 512^2 oder 1024^2 oder is das bolle - 3. wurde ausgiebig diskutiert)
iMac 27" quad i7 radeon 4850 8gig ram
PB 4.4 in parallelsVM @ 2 cores 3072megs ram 32megs vram win7
PB 4.4 in parallelsVM @ 2 cores 3072megs ram 32megs vram win7
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Re: großer scrolltext im windowedscreen
1. ja 2. bolle
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Re: großer scrolltext im windowedscreen
das einzig sinnvolle ist wirklich ein Array, oder Liste mit den Text-Zeilen, geziehlt, durchzuarbeiten und während der Laufzeit anzuzeigen.
Das heißt nur das was auch zu sheen währe wird angezeigt.
Texte auf ein Sprite zu packen ist in meinen Augen sinnfrei, weil es genau bei großen Texten viel Speicher frisst.
Das heißt nur das was auch zu sheen währe wird angezeigt.
Texte auf ein Sprite zu packen ist in meinen Augen sinnfrei, weil es genau bei großen Texten viel Speicher frisst.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Re: großer scrolltext im windowedscreen
nicht ganz sinnfrei:
man kann jeweils die Zeile erzeugen, die als nächstes ins Bild kommt,
und die die oben verschwunden ist wieder löschen.
mit einer großen Schriftart auf ein 2048x512 Sprite, daraus ein Sprite3D,
das verkleinert darstellen mit bilinearer Filterung gibt eine wunderschön weichgezeichnete Schrift.
den selben Effekt kann man natürlich auch erreichen, wenn man einzelne Sprites für einzelne Chars erzeugt,
die kann man dann auch im restlichen Programm noch verwenden.
das große Gegenargument gegen direktes Text-Drawing ist, dass man sich auf die Pixelgröße nicht verlassen kann,
die ist abhängig von den auf dem Zielsystem eingestellten DpI für die Anzeige.
man kann jeweils die Zeile erzeugen, die als nächstes ins Bild kommt,
und die die oben verschwunden ist wieder löschen.
mit einer großen Schriftart auf ein 2048x512 Sprite, daraus ein Sprite3D,
das verkleinert darstellen mit bilinearer Filterung gibt eine wunderschön weichgezeichnete Schrift.
den selben Effekt kann man natürlich auch erreichen, wenn man einzelne Sprites für einzelne Chars erzeugt,
die kann man dann auch im restlichen Programm noch verwenden.
das große Gegenargument gegen direktes Text-Drawing ist, dass man sich auf die Pixelgröße nicht verlassen kann,
die ist abhängig von den auf dem Zielsystem eingestellten DpI für die Anzeige.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Re: großer scrolltext im windowedscreen
ich verwende schon lange nicht mehr LoadFont(), genau aus den genannten Gründen...
Das - bei Size ist da, damit die Schift wirklich die Höhe in Pixel hat.
Auch ist dort ClearType aktiviert.
Wo ich noch zustimmen kann ist, das man sich von vorn herein eine "Sprite3D"-Font bastelt.
(Diese Thema hatten wir ja auch schon)
Dank dem ClipSprite3D aus dem englischen Forum, kann man blitzschnell große Texte darstellen und braucht dafür nur ein Sprite, welches die Zeichen enthält.
Dort kann man zusätzlich noch Font nehmen die "mehr Style" haben.
Code: Alles auswählen
; Lädt eine Font mit ClearTyp
Procedure LoadClearTypeFont(Name$, Size.i, Style=0)
Protected LogFont.LOGFONT
With LogFont
\lfHeight = -Size
\lfWidth = 0
\lfEscapement = 0
\lfOrientation = 0
If Style & #PB_Font_Bold : \lfWeight = 700 : Else : \lfWeight = 400 : EndIf
If Style & #PB_Font_Italic : \lfItalic = #True : Else : \lfItalic = #False : EndIf
If Style & #PB_Font_Underline : \lfUnderline = #True : Else : \lfUnderline = #False : EndIf
If Style & #PB_Font_StrikeOut : \lfStrikeOut = #True : Else : \lfStrikeOut = #False : EndIf
\lfCharSet = #DEFAULT_CHARSET
\lfOutPrecision = #OUT_DEFAULT_PRECIS
\lfClipPrecision = #CLIP_DEFAULT_PRECIS
\lfQuality = #CLEARTYPE_QUALITY
\lfPitchAndFamily = #DEFAULT_PITCH | #FF_DONTCARE
PokeS(@\lfFaceName[0], Name$)
EndWith
ProcedureReturn CreateFontIndirect_(@LogFont)
EndProcedureAuch ist dort ClearType aktiviert.
Wo ich noch zustimmen kann ist, das man sich von vorn herein eine "Sprite3D"-Font bastelt.
(Diese Thema hatten wir ja auch schon)
Dank dem ClipSprite3D aus dem englischen Forum, kann man blitzschnell große Texte darstellen und braucht dafür nur ein Sprite, welches die Zeichen enthält.
Dort kann man zusätzlich noch Font nehmen die "mehr Style" haben.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: großer scrolltext im windowedscreen
nur mal interessehalber, flimmern bei euch auch hörmis und RSbasics codebeispiele unerträglich?
iMac 27" quad i7 radeon 4850 8gig ram
PB 4.4 in parallelsVM @ 2 cores 3072megs ram 32megs vram win7
PB 4.4 in parallelsVM @ 2 cores 3072megs ram 32megs vram win7
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Re: großer scrolltext im windowedscreen
oha.. yo LoadClearTypeFont ist natürlich eine wesentliche Verbesserung.
ist aber ja nicht Standard, deswegen sollte man schon auf die Probleme bezüglich des nativen LoadFont hinweisen.
Eine Spritefont muss nicht unbedingt als ein Gesamtsprite erstellt werden.
zum Einen wird das kompliziert, das lückenlos zu füllen wenn man nur die benötigten Zeichen implementieren will, man verschenkt zwangsweise Platz.
wenn jemand nur A-Z und 0-9 benötigt, braucht er auch nur 36 Zeichen zu laden.
zum Anderen ist es einfacher die Größe und Drehung anzupassen wenn man Einzelchars verwendet,
und ein kleiner skaliertes 128² oder 256² sieht einfach weicher und schöner aus.
ist aber ja nicht Standard, deswegen sollte man schon auf die Probleme bezüglich des nativen LoadFont hinweisen.
Eine Spritefont muss nicht unbedingt als ein Gesamtsprite erstellt werden.
zum Einen wird das kompliziert, das lückenlos zu füllen wenn man nur die benötigten Zeichen implementieren will, man verschenkt zwangsweise Platz.
wenn jemand nur A-Z und 0-9 benötigt, braucht er auch nur 36 Zeichen zu laden.
zum Anderen ist es einfacher die Größe und Drehung anzupassen wenn man Einzelchars verwendet,
und ein kleiner skaliertes 128² oder 256² sieht einfach weicher und schöner aus.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Re: großer scrolltext im windowedscreen
nicht im Mindesten...broozar hat geschrieben:nur mal interessehalber, flimmern bei euch auch hörmis und RSbasics codebeispiele unerträglich?
... aber bei mir bleibt der Text stehen, wenn man die Maus bewegt, also die Event-Bearbeitung ist so nicht richtig.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Re: großer scrolltext im windowedscreen
Wenn man ein Sprite3D Clipt, kann man das Sprite3D genauso weiter nutzen wie normale Sprite3Ds, der Clip bezieht sich nur auf die Textur und hat damit keinen einfluss auf größe oder drehung.Kaeru Gaman hat geschrieben:oha.. yo LoadClearTypeFont ist natürlich eine wesentliche Verbesserung.
ist aber ja nicht Standard, deswegen sollte man schon auf die Probleme bezüglich des nativen LoadFont hinweisen.
Eine Spritefont muss nicht unbedingt als ein Gesamtsprite erstellt werden.
zum Einen wird das kompliziert, das lückenlos zu füllen wenn man nur die benötigten Zeichen implementieren will, man verschenkt zwangsweise Platz.
wenn jemand nur A-Z und 0-9 benötigt, braucht er auch nur 36 Zeichen zu laden.
zum Anderen ist es einfacher die Größe und Drehung anzupassen wenn man Einzelchars verwendet,
und ein kleiner skaliertes 128² oder 256² sieht einfach weicher und schöner aus.
Hier mal eine Beispiel-Demo meiner Sprite3DFonts:
Sprite3DFont-Demo (ScrFont) *.exe
Sprite3DFont-Demo (ScrFont) *.zip
(Links aktuallisiert 9.7.2010)
Klar sieh man bei "bogenschirft" die sich zusätzlich ändert, (zB beim "e") das es leicht "hüpft" aber das bekommt man nie weg, weil DisplaySprite3D nur Integers will ...
Zuletzt geändert von STARGÅTE am 09.07.2010 14:23, insgesamt 1-mal geändert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr