Du bist nicht angemeldet.

#1 14.11.2007 12:25

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 11.704
Webseite

Aktueller Stand [14.11.2007]

Um hier mal etwas aktuelles vom Fortschritt TVTs zu berichten.

Zusammengefasste Aenderungen:
Speicherstaende werden per XML gespeichert und dann komprimiert.
Objekte werden nun per Reflection gespeichert, diese neue BlitzMax-Funktion verkuerzt die notwendigen
Funktionen in dem es alle Variablen/Felder eines Types kennt und in einer Schleife abarbeiten laesst (mit dem Wissen ueber Art des Feldes usw.).
Zusammengehoerige Bilder (Figuren im Hochhaus, Hintergruende im Hochhaus) in grosse Bilder gepackt, dies erspart
den Texturwechsel bei OGL/DX und holt einige FPS heraus. Ausserdem wird Grafikspeicher gespart (momentan ca. 45MB bei allen derzeitig implementierten Raeumen).
Die Ladezeit des Spieles wurde um einiges reduziert, da nun weniger als 100 Grafiken geladen werden muessen (anstatt von >150).
Einige Grafiken wurden erneuert (Interface) auch wenn das bspweise bei Ritschl auf wenig Gegenliebe gestossen ist ;D.

tvg_1.jpg


Hier die aktuelle Changelog:

10.10.2007 Ronny
- CHG: DX9-Modus deaktiviert, da er in der BlitzMax Version 1.26 noch Inkompatibilitäten zu "Reflection" aufweist
09.11.2007 Ronny
- FIX: TTooltips: Interface-Tooltips (und alle anderen Nicht-Raum-Tooltips) wurden immer wieder erneuert, was
       vorallem im DX9-Modus mit konstant sinkenden FPS-Raten quittiert wurde
- CHG: TTooltips benoetigen keinen "own"-Parameter mehr
- CHG: DX9-Modus wieder eingebaut. Er profitiert momentan noch nicht von Render-To-Texture (wie DX7 und OGL)
       Hierfuer die DrawImageToArea-Funktion umgeschrieben. TObjectList scheint Probleme mit DX9 in Kombination
       mit Reflection zu haben
08.11.2007 Ronny
- CHG: Sprites der Hochhausanzeige (Häuser, Türen, Pflanzen ...) zusammengefasst
- CHG: Bundeslaender (für Kollisionscheck im Sendemastplaner) werden nun aus OfficePack geladen.
       -> zu ladende Dateien auf 103 reduziert)
07.11.2007 Ronny
- CHG: Zu ladende Bilder von 135 auf 119 reduziert (GrafikRam um 4MB verringert)
- CHG: Alle Figuren (außer Hausmeister) in ein Bild gesetzt und TFigures auf TGW_Sprites umgesetzt.
       Hierdurch werden beim Zeichnen der Figuren Textur-Switches vermieden und Grafik-RAM gespart.
- CHG: ChangeTarget-Berechnungen vereinfacht
01.11.2007 Ronny
- CHG: Weitere Sprites zusammengefasst
26.10.2007 Ronny
- CHG: Einige Sprites/TImages im Programmplaner wurden zusammengefasst (da intern das Genre-Bild eh mit
       256x512 Pixeln im Speicher lag) ... erspart einige KB an Ram und brachte 10FPS (~480 auf ~490) mehr
       im Programmplaner.
- CHG: TPPButtons und TButtons umgeschrieben um auch mit TGW_Sprites klarzukommen
- NEW: DrawOnPixmap() hat nun zwei neue Parameter: alpha (1.0 = volle Deckkraft) und light (0.5=halbierte 
 		 Helligkeit) des zu aufzuzeichnenden TImages
- CHG: Die Blockhintergründe im Programmplaner fallen weg, Normale Programmblöcke ersetzen sie (abgedunkelt und
       geringe Deckkraft). Gleiches gilt für abgearbeitete Blöcke mit Sendeausfall
- NEW: Neue Typen: TGW_Sprites und TGW_Spritepack - Bilder gleicher Art in einer Textur gespeichert (mit Angabe
       der Koordinaten und Dimensionen) - Einsparungen beim Videospeicher möglich (auch wenn noch in geringem
       Ausmaß). Erstes Spritepack: Audience (Opa, Kind und Teenie)
- CHG: Zusammenlegung einiger Sprites (interface links und rechts bspweise)
24.10.2007 Ronny
- CHG: Weitere Versuche mit Render-To-Texture-Varianten ... Bottom-Interface wird nun bei Aenderung neugezeichnet,
       ansonsten wird nur ein Composite-Bild gezeichnet (von ~460fps auf 480fps im Hochhaus)
- CHG: Zusammenfassung einiger Bilder zu einem (loadingbar, newsbuttons) und dynamisch erstellte (Newsticker-
		 Hintergruende) um wieder etwas RAM zu sparen
22.10.2007 Ronny
- FIX: GetRandomMovie/Serie/Programme setzten auch bei NULL-Rückgabe den Besitzer des letzten Objektes
- CHG: bei TProgramme unnötige lokale Variablen entfernt, das Feld "maxepisodes" wurde gestrichen (bereits von
       episodeCount zur Verfügung gestellt)
- CHG: bis heute - Objekte TStationMap/TStations, TAudienceQuotes, TProgramme auf XML-Speicherung umgesetzt
05.10.2007 Ronny
- CHG: Beginn der Umstellung auf XML-Speicherstände - TGame, TFigures, TPlayer
- CHG: Die Zip-Komponente musste geändert werden, da keine Dekomprimierung im Speicher möglich war (vorher
       Auslagerung auf Festplatte, die wiederum zu Fehlern (nur 0Bytes-Zeichen in der Datei) führen konnte).
25.09.2007 Ronny
- CHG: Kodierung der database.xml in ANSI (von UTF-8) umgewandelt, da sonst Umlaute immer noch Probleme machen.
       Dennoch sind die Inhalte UTF-8 kodiert (nur der Dateityp ist geaendert).
12.09.2007 Ronny
- CHG: Wolken mit besseren Pixel-Comic-Wolken ersetzt (Wolkenstreifen statt Einzelwolken -> 3 statt 30 Stueck)
- CHG: Die Darstellung des Gebaeudes vereinfacht (ueberarbeitet), davon betroffene Objekte (Figuren, Tueren, 
		 Fahrstuhl) ebenfalls entschlackt. Y-Koordinatenberechnung nun besser nachvollziehbar
- CHG: Die Gebaeudegrafik ist nun wieder nur 1024Pixel gross ... obige Anpassungen deswegen notwendig
- FIX: Die Fahrstuhlbewegung hatte ein paar Grafik-Versetzer die etwas unschoen aussahen
- CHG: Der Fahrstuhl ueberprueft nun beim Hinzufuegen einer Fahrtroute, ob derselbe Nutzer auf derselben Etage
       bereits den Knopf gedrueckt hat, nun wird der Fahrstuhl nicht nochmals dorthin geschickt
       (neue funktion: elevator.ElevatorCallIsDuplicate:int(floornumber,who) )
10.09.2007 Ronny
- CHG: weiter den Code umformatiert und uebersichtlicher gemacht
- CHG: mit dem neuen Codeprofiler von BLIde unnoetige Variablen geloescht und unzureichend initialisierten 
       einen Wert gegeben
18.08.2007 Ronny
- CHG: Interface runderneuert - bessere Symbole und TV-Geraet neugezeichnet (Original vor langer Zeit verschollen)
- CHG: Texte im Interface per Parameter einfaerbbar
07.08.2007 Ronny
- CHG: erneute Experimente mit Singlesurface-Modellen der Spritezeichnung, leider keine Performanceschuebe fuer 
       alte Onboard-Grafikchips, dafuer Grafikfehler. Neuere Karten wuerden bis zu 10% mehr FPS schaffen
25.07.2007 Ronny
- NEW: Supermarkt: Bettygeschenke - Kreuzfahrt 
12.07.2007 Ronny
- CHG: Der momentan eingebaute Profiler (Messungen von Aufrufen und Dauer einer Funktion) laesst sich mit "P"
       ein- und ausschalten. Ist er aktiviert, steigt der "Mem"-Bedarf kontinuierlich, da alle Aufrufe einer
       Funktion protokolliert werden.
- CHG: PhysikFPS auf 50 heruntergesetzt - erspart etwas CPU-Last und muesste bei aelteren Systemen fluessiger
       laufen. Die Begrenzung auf 30FPS empfinde ich als etwas mehr "ruckelnd" in der Darstellung.
- CHG: Die Figurenbewegung wird nun 0 gesetzt, wenn die Position + deltaabhaengige Bewegung kleiner der 
       ZielX-PosX-Differenz ist. Dadurch kann die PhysikFPS nun auch bei <60 genaue Ergebnisse liefern.
       Vorher konnten Figuren bei bspweise 30PhysikFPS auf der Stelle Links/Rechts/Links...-Animationen zeigen.

bye
Ron


sigimg2.php?id=1

Offline

#2 14.11.2007 18:18

DJMetzger
Mitglied
Ort: Bayern, mehr sog i ned
Registriert: 19.10.2002
Beiträge: 1.073
Webseite

Re: Aktueller Stand [14.11.2007]

Schön, den aktuellen Stand zu wissen.


- CHG: Alle Figuren (außer Hausmeister) in ein Bild gesetzt und TFigures auf TGW_Sprites umgesetzt.
       Hierdurch werden beim Zeichnen der Figuren Textur-Switches vermieden und Grafik-RAM gespart.

Hat das mit dem Hausmeister einen besonderen Grund?

Offline

#3 14.11.2007 20:57

Ronny
Administrator
Ort: Chemnitz
Registriert: 08.11.2001
Beiträge: 11.704
Webseite

Re: Aktueller Stand [14.11.2007]

Der Hausmeister ist derartig breit, dass er selbst die von mir gesetzten 512er Texturbreiten sprengt... ansonsten passen immer 2 Figuren nebeneinander, aber mit dem Hausmeister muesste ich alles "durcheinandergewuerfelt" im Bild speichern um Platz zu sparen ... so ist alles fein untereinander und geordnet.

Da gerade Figuren fuer "modding" interessant sind (geringer Aufwand) hab ich da die Ordnung drinbehalten (verglichen mit den gepackten Buerografiken ;D).

bye
Ron


sigimg2.php?id=1

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Bist Du ein Mensch oder ein Roboter ?

Verifizierung, dass diese Aktion durch eine reale Person vorgenommen wird und nicht von einem Programm.