Habe großes Perfomance-Problem mit dem wglUseFontBitmaps. Habe hier mehrere Systeme stehen, zwei mit ner onboard-GraKa, zwei mit ner "richtigen". Bei den richtigen ATI Karten läuft alles bestens (0% CPU last), bei den beiden anderen Kisten (die laut Angaben OpenGL 1.4 unterstützen) habe ich riesege Probleme. Solange ich die Schriften weglasse ist alles gut (auch 0%) sobald jedoch Text irgendwo ausgegeben wird (bzw. sobald ich die wglUseFontBitmaps benutze) hörts auf! 40-50% CPU Auslastung!!! Mit Vektorschriftarten klappt alles super, jedoch sind die für kleine Schriften nicht zu gebrauchen!
Dachte es könnte ein Texturproblem sein - also die Grafikkarten Probleme mit grossen Texturen haben. Habe also einfach mal ein Quad mit ner großen Textur versehen und geblendet - alles gut!
Es liegt also an den Bitmapfonts! Kennt sich jemand mit Textausgaben aus und weiß woran das liegen könnte??
Bin echt fast soweit mir den Text in Bitmaps zu hauen und als Textur zu benutzen (aber das kanns doch nicht sein - außerdem ist das eigentlich genau das, was wglUseFontBitmaps machen sollte!).
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
mts hat geschrieben:
Es liegt also an den Bitmapfonts! Kennt sich jemand mit Textausgaben aus und weiß woran das liegen könnte??
Auskennen. Ein Bisschen. Alles andere werden wir sehen.
mts hat geschrieben:
Bin echt fast soweit mir den Text in Bitmaps zu hauen und als Textur zu benutzen (aber das kanns doch nicht sein - außerdem ist das eigentlich genau das, was wglUseFontBitmaps machen sollte!).
Jain. OpenGL nimmt die Defintion von BITmap sehr genau. Es gibt zwar auch die Möglichkeit Texturen mit einem 1 Bit Kanal zu benutzen aber das hat mit Windows Bitmaps, die eher für den Namen zustandig sind, nicht wirklich viel zu tun. Zu mindest nur dann, wenn man 1 Bittige betrachtet. Und dann sind BitmapFonts noch lange keine Texturen sondern werden direkt als Bits gesetzt. Und zwar mit der Methode glBitmap der man einen Bitmapspeicherbereich übergibt.
So viel zu vollkommenen Verwirrung. Mal eine Frage vorweg. Lässt du deine Bitmapfonts am Anfang des Programms generieren? Wenn nein, dann solltest du das tun. Wenn doch, dann kann die erhöhte Last auch daher kommen, dass du zwischen glOrtho und gluFrustrum wechselst. Alleine das Wechseln von 3D in den 2D Modus schlägt mit knapp 5-10% Leistung zu buche.
Wenn es das auch nicht sein sollte so bräuchten wir wohl mal ein paar mehr infos. Also was du genau machst.
Was Vektorschriften angeht hast du recht. Die sind eher nicht für so etwas geeignet. Aber Texturfonts sind durchaus eine sinnvolle und gebräuchliche Alternative. Allerdings wird dann nicht der Text komplett in eine Textur gepackt sondern die einzelnen Buchstaben so das man sie wieder verweden kann. Dann wird sich aus dieser Textur der enstprechende Text gebastelt.
PS: Ich könnte mir aber durchaus vorstellen, dass die ein oder andere Implementation besser oder schlechter auf Bitmapfonts optimiert ist. Da deine OnBoard Chips dieses Problem haben würde das sogar in Schema passen. Aber dazu mal bitte ein paar Infos und wenn möglich Quellcode.
Hat sonst jemand ne Idee wie ich das umsetzen kann. Das ganze läuft nachher auf Embedded-Systemen, da ist nun mal ne OnBoard Grafik am einfachsten. (also bitte keine Tips wie: Tu ne richtige Grafikkarte rein)
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Also für mich sieht das jetzt so aus wie ich es eigentlich auch machen würde. Wobei du aber nur 128 Zeichen erstellst aber für 256 DLs reserviert hast. Ich denke mal es wird dann wohl tatsächlich daran liegen, dass die Chips nicht so gut bestückt sind. Wobei sich mir immer noch die Frage stellt worin bzw wie du renderst. Also mit einem OnIdle wirst du es sicherlich nicht tun. Je nachdem wie du das machst kann es schon ein bisschen Zeit in Anspruch nehmen. Ungünstige Timing können auch zu so etwas führen.
Sonst würde ich dir aber generell empfehlen, dass du dann lieber auf Texturfonts setzen solltest. Eine andere Alternative wirst du nicht haben. Hier mal ein paar dinge die ich für Texturefonts bisher immer benutzt habe.
Ist glaub ich wirklich die beste Methode. Bin mir nur nicht sicher ob ich mit deiner Lib das ganze Ausgebe, aber das Tool im die Textur zu erstellen ist mir schonmal SEHR sympatisch!
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Na ja. Es gibt noch ein ähnliches Tool wie meines. Das funktioniert sogar noch besser. Das dumme ist nur, dass das irgendwie jeder anders berechnet und bei dem anderen Tool war es mir leider nicht Möglich dort sinnvoll herrauszufinden wie die Zeichen positioniert wurden. Was zu komischen Verschiebungen einzellner Zeichen geführt hat.
Musste mal schauen. Wenn du etwas ähnliches machen willst wie ich in der glText dann kannste ja schauen wie die Zeichen positioniert wurden.
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.