![]() |
AW: Shape Wars - Version 1.0
Zitat:
Wenn man sich lange nicht mehr damit beschäftig vergißt man vieles ob ich da eine große Hilfe sein kann mag dahin gestellt sein. Eine Visualisierung zu erstellen mit ein paar aufgeklatschten OpenGl Windows ist mit sicherheit nicht mit deinem Projekt zu vergleichen. Lossy oder littleDave wären da die richtigen Ansprechspartner. :) gruss |
AW: Shape Wars - Version 1.0
Oder du könntest deine performancetechnische Fragen auch hier reinstellen.
|
AW: Shape Wars - Version 1.0
Zitat:
gruss |
AW: Shape Wars - Version 1.0
Erste Frage die ich im Sinn hatte ist, ob es performanter ist, für jeden Gegner neu eine Textur zu binden und den Gegner zu zeichnen (wobei ich dann ja meine Liste von Gegner nur einmal durchgehen müsste) oder ob es sinnvoller ist, immer nur eine Textur zu binden, diesen Gegnertyp zu zeichen, und dann die Textur zu wechseln (womit ich meine Liste im Moment 5 mal durchgehen muss - für jeden Gegner einmal)?
Ich habe auf DGL das gerücht gehört, dass man Texturwechsel vergleichen soll. Bloß ist es das an dieser Stelle wert? Ich muss ja schließlich deutlich mehr CPU-Aufwand treiben... P.S.: @Bug: Joypad unterstützung kommt doch bald, ein Kollege hat mir eins ausgeliehen ;) P.P.S.: Danke an alle für das Feedback, ist echt super zu sehen dass dieses (anfangs noch kleine) Projekt gut ankommt ;) |
AW: Shape Wars - Version 1.0
Zitat:
spielt die performance keine rolle wenn es dir um geschwindigkeit geht da diese zur jeder zeit abrufbar sind. Beim Textureloader von Sulako bist du nun mal gebunden und kannst nicht mal so einfach eine Texture unmerklich wechsel. Zitat:
Um Texturen einzuladen benötigst du keine CPU.. bzw .. hast keine CPU auslastung. In meinem Plugin verwende ich (mit meinem Textureloader) eine AVI Datei wo jedes Frame einzeln in eine Texture gewandelt wird und das in Realzeit. CPU := CPU <> 0 ;) PS: Das AVI ist 24MB groß da kannst dir vorstellen wieviele Frames dort enthalten sind. gruss |
AW: Shape Wars - Version 1.0
Grundsätzlich sollte man Texturewechsel immer meiden. Dein Code sollte darauf ausgerichtet sein, dass er gleich mit einem Durchlauf alles ohne Texturwechsel zeichnen kann.
Dh. gruppiere einfach Entities mit der gleichen Texture ID ala~
Delphi-Quellcode:
EDIT:
TTextureEntities = record
TextureID: DWord; Entities: Array of Pointer; // Pointer = Klasseninstanzen end; // oder noch besser TTextureEntities = class(TList) public property TextureID: DWord; // strg+shift+c procedure Render(); end; {Items[] beinhaltet dann die Instanzen; per Add/Delete/... kann es nun verwaltet werden} @EWeiss Du weißt aber schon, dass Texturen auf den VRam geladen werden und wenn dieser Speicher nicht allzu groß ist, es zu Fehlern führen wird? Heutzutage gibts noch Rechner, die < 64 mb Video RAM haben! Wenn so ein AVI Video 24 Frames/Sekunde hat und eine Länge von etwa 1 Min und pro Frame etwa eine Auflösung von 640*480*3 (RGB; unkomprimiert 900kb; komprimiert ~ 80 kb [JPEG Komprimierung]), dann wären das etwa 80 * 24 * 60 ~ 112,5 mb. Damit hättest du ein Problem! |
AW: Shape Wars - Version 1.0
Zitat:
gruss |
AW: Shape Wars - Version 1.0
Zitat:
Zitat:
![]() Aber Gruppieren sollte geht sicher in die richtige Richtung. Wie wäre es mit unterschiedlichen Listen für die Gegner? |
AW: Shape Wars - Version 1.0
Zitat:
Listen sind langsaaaaammm. gruss |
AW: Shape Wars - Version 1.0
TList ist intern ein array :)
Die Texte flimmern ja immernoch immer mehr je weiter man kommt :| |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz