Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Also als erstes möchte ich euch mal mein kleines Testprogramm zeigen. Hauptaugenmerk lag dabei auf erstellen eines "professionell" aussehenden Spielmenue und einarbeitung in 3DSM und Photoshop. Von 3DS ist noch nix zu sehen denn ich muss mich erst mal mit Noeskas Loader auseinander setzen. Sonst ist schon etwas Content enthalten (z.B. Hilfe) aber noch nix Spielbares.
Zum Problem: Sobald das "Spiel" läuft geht die CPU Last auf 100%! Wiso?? Liegt das etwa am onIdle?
Mich würde mal eure Meinung zum Design interessieren.
Benötigte Zeit: 14 Tage (60% der geplanten Modelle sind bereits fertig)
(andere hätten in der Zeit bestimmt schon mehr Inhalt rein gebaut, aber ich bin nunmal net SOS 8) )
Zum Problem: Sobald das "Spiel" läuft geht die CPU Last auf 100%! Wiso?? Liegt das etwa am onIdle?
Was sich immer alle an dieser CPU Last aufgeilen... OnIdle nimmt alle Rechenlast, die es bekommt. Und es bekommt so viel, wie gerade nicht von anderen Apps benötigt wird - und du kannst soviele Bildchen Rendern, wie Rechenzeit da ist - daran ist doch wohl nichts verwerfliches.
Abgesehen davon, dass die Last Angabe unter Windows totaler Bullshit ist, denn die schnellt auch auf 100%, wenn der Prozessor seine Zeit mit Warten auf Festplatten, Speicher, etc. verbringt, oder die Grafikkarte die meiste Zeit am Rechnen ist, der Prozessor tatsächlich aber rein gar nichts tut. Tu mir einen Gefallen: Vergiss die Prozessorlast - render soviele Bilder wie möglich, alles Andere sei dir egal.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Abgesehen davon, dass das Menü statisch ist finde ich es schon mal nicht schlecht. Aber eine Sache muss ich aber dennoch mal anmeckern. Die Texturen. Du verwendest sehr merkwürde Formate. Laut Spezifikation dürfen nur Texturgrößen verwendet werden die eine Potenz von 2 sind. Und dann muss die Höhe und Breite auch gleich sein. Erst mit einer Extension (ARB_texture_non_power_of_two) dürfen Texturen eine andere Größe haben. Diese Extension wird allerdings noch von keiner Karte unterstützt. Modernen Grafikkarten ist es mitunter denoch egal. Aber verlassen würde ich mich da aber nicht drauf.
Was mit an Sicherheit grenzender Wahrscheinlichkeit sowieso noch geändert wird ist die Grastextur. Also ich weiß nicht ob im späteren Spiel auch noch gezoom werden soll oder nicht. Aber du wirst da auch Probleme bekommen wenn du so eine große Textur (768x512) auf so eine kleine Fläche zeichnest. Richtig problematisch wird es wenn du sie öfters zeichnest. Dann geht das richtig in die Füllrate und das ist für kleinere Grafikkarten der Tot. Abgesehen davon, dass es auch unmengen an Speicher verbrauchen würde.
Etwas was ich sich bei dir auch anbieten würde wäre die sache, dass du die Bilder trennst. Also die Buttons von den Fenstern nehmen und in eine extra Textur legen. Und die Fenster dann "dynamisch" aufbauen. Du hättest dann nur noch ein Fenster und einen Button. Und würdest die Fenster und Texte so zusammensetzen wie du es bräuchtest. Die Texte auf den Buttons müsstest du dann auch per Hand aufbringen. So ähnlich wie bei den dynamischen Feldern.
Das hätte den Vorteil, dass es flexibler wäre und nicht mal mehr annähernd so viel Speicher benötigen würde wie es momentan der Fall ist.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
@Grastextur: Schnell vergessen... wird so auf keinen Fall bleiben!
@Format: Ich weis net so recht wie ich meine Menues sonst in ansprechender Qualität basteln soll. Sobald gestrecht wird sehen die scheiße aus! Und wenn ich einfach nen schwarzen Rand lass, dann verbrauch ich unmengen Speicherplatz.
Außerdem is die GraKa meines Laptops (an dem ich das Zeug erstellt habe) ne Krücke! Hier is nur ein oller Intel 82845 drauf. Aber auch der macht keine Probleme...
@Trennen der Objekte: An sich ne schöne Idee aber: 1. sieht der Text der Dynamisch geschrieben wurde net so schön aus (der is dann ziemlich hart und steril) und 2. müsste ich dann beim Zeichnen Texturwechsel vornehmen wo jetzt keiner ist. Und frisst das nich Performance?
Ich bitte hier dringend um Richtigstellungen. Ich hab mich mit solchen Sachen erst jetzt befasst und bin da noch ziemlich unbefleckt.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Also wegen der Texturgröße. Das ist reine Geschmackssache. Offiziell geht es nicht und ich persönlich rate davon auch nur ab, da es laut Spec nicht erlaubt ist. Und wenn du da eine Karte erwischt die es nicht kann geht es nicht. Und so könnte man es immer noch auf die Karte schieben.
Zum Thema Texturenwechsel kann ich dir nur zustimmen. Es frisst performace. Das dürfte aber nicht so schlimm ausfallen. Du hast nur so dem imensen Vorteil, dass es nicht mal ansatzweise so viel Speicher frisst. Und da sind ein paar mehr Flächen durchaus verkraftbar.
Ich zum Bleistifft rendere meine Menüs vollkommen unoptimiert. Also ein Panel oder Button kann aus 9 Flächen bestehen. 4 Ecken, 4 Kanten und eine Mitte. Dafür passen meine Fensterelemente alle in eine 128x128 Textur. Als minimum. Nach oben ist natürlich Sielraum. Und die Texte die ich zeichne dort ist jeder Buchstabe eine einzelne Fläche. Aber insgesamt komme ich vielleicht gerade mal 200 Flächen. Da lacht sich sogar eine TNT2 nen Ast.
Meine Fonts sind im übrigen weich und passen sich ideal dem Hintergrund an. Ich verwende Texturfonts. Also eine Textur in der alle Buchstaben befinden. Alphakanal befindet sich da auch noch drinne und die Buchstaben werden auf den Rest geblendet.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Höhe und Breite müssen laut Definition nicht gleich sein - sehr alte Chipsätze (ich glaube Voodoo 2) verhalten sich aber merkwürdig, wenn dies nicht der Fall ist.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Also was mich mal interessieren würde ist, was das Item3 bei Krönk0 und aktiviertem Blub so macht... (Mir fehlt hier echt der Fies grinzende Smiley)
Aber mal zur sache...
Ganz so extrem wie du würd ichs dann wohl doch net angehen...wobei das sicherlich alles ganz praktisch ist... Man könnte sich daraus je ne recht Vielseitige Klasse bauen die das Menuebauen umsetzt...
Eventuell löse ich die Buttons von den Texturen...
Mit dem Text is das so ne Sache. Denn diverse Effekte kann ich natürlich net mit dem wiedergeben... (3D, Glow, Schatten...)
Wenn ich das von SOS richtig verstanden hatte, macht er seine Menütexturen relativ klein (z.B. 512x512) und setzt dann nen glOrtho modus auf die Größe... Der Bildschirm is aber nunmal net quadratisch (bei mir jedenfalls)...wieso sieht das da alles so supi bei im aus... (Und bei einigen anderen auch). Wie macht ihr eure Texturen, dass sie nach dem Strechen so doll aussehen? Kann man da in Photoshop irgendwas einstellen, dass er die Dinger so speichert, dass sie nach dem Strechen aussehen wie geplant?
EDIT:
Bei ner Bildschirmauflösung von 1024x768 und 2Potenzgröße der Seiten, müsste meine Textur ja 1024x1024 groß sein.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Hab doch gesagt wie ich das mache : Ich erstell meine Textur mit nem passenden Ratio (normalerweise ca. 4:3, also z.B. 640x480 oder 800x600) und stretche die dann im Bildbearbeitungsprogramm auf nen Ration von 1:1 (512x512), lasse dann nen Scharfzeichner drüberlaufen und speicher die dann. Rendern tu ich die dann wieder mit nem Ration von 4:3, und das bilinieare Filterung von OpenGL (GL_LINEAR) entschärft den Scharfzeichner insoweit als das es recht gut aussieht.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Oh...ja stimmt ich erinner mich...
Und funktioniert das auch, wenn ich ne 512x512 auf nen 1024x768 hochziehe? Trotz Schrafzeichner is das ja schon ein ganz schöner strech...
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Oder man nimmt die nächst größere Texture und läßt den Rest eben frei ohne überhaupt zu stretchen. Dann läßt man die Texturekoordinaten eben nicht über den ganzen Bereich von 0..1 laufen. Das ist zwar ein wenig eine Speicherverschwendung aber das soll ja auch nicht von Dauer sein.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wiso??? Das is doch nur eine Exe und ein Ordner mit Texturen?? Da is kein versteckter Code oder so... Eventuell nach einem Neustart...(Kann ich mir aber net erlären)
Könnten die die es gesehen haben auch noch nen Kommentar schreiben (zur Optik)
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: 0 Mitglieder und 4 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.