Wie kann ich bilder nur laden wenn ich sie sehe ??

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Schnäggli92

Betreff: Wie kann ich bilder nur laden wenn ich sie sehe ??

BeitragDo, Mai 22, 2008 20:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

Ich mache gerade einen Weltraumshooter und der hat eine riesen Welt und Planete die aus einzelnen Bildern bestehen. (DrawImage) und als Hintergrund ein Sternenbild. Da ich jetzt auf 0,0 ein Sternenbild habe und dan auf 0,500 dann auf 0.1000 usw und auch 500,500 1000,500 also immer wieder ganz viele Sternenbilder aneineander gehängt braucht das ja ziemlich viel pc leistung. Ich hab mir überlegt ich lade oder zeichne nur die bilder die ich gerade sehe um nicht so viel leistung zu brauchen. Ist das sinnvoll oder gibt es noch eine andere lösung? wenn nicht dann könnt ihr mir auch links zu tuts posten hab keine gefunden Crying or Very sad Crying or Very sad

Danke viel mal für die antwort

Thorsten

BeitragDo, Mai 22, 2008 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Ggf. DrawBlock , oder nach deiner beschriebenen Methode (die man btw für alles benutzen sollte).

mfG,

Thorsten
 

da_poller

BeitragDo, Mai 22, 2008 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
laden kannst ud ja alle(werden ja keine 10.000 sein)

und mit demzeichnen frag die position der tiles ab und zeichne sie nur wenn sie auf dem bildschirm sichtbar sind(in deiner schleife die zu zeichnest halt abfragen ob sie innerhalb eines rechteckes sind(bildschirm + evtl sicherheitsabstand)

The_Nici

BeitragDo, Mai 22, 2008 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Bild kann man auch mehrmals malen, btw.

BladeRunner

Moderator

BeitragDo, Mai 22, 2008 21:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst anhand der Auflösung des bildes herausfinden wieviel Platz es im RAM braucht:
x*y*4 = Anzahl an Byte. Diese Zahl durch 1024*1024 gibt den Verbrauch in Megabyte. Wenn Du nun weisst wieviel RAM deine Grafikkarte hat kannst Du bestimmen ob das Bild noch ohne weiteres mit in den Speicher passt.

Beispiel: 512*256 grosses Bild braucht 512*256*4/1024/1024 = 0.5 MByte. Es macht keinen Unterschied in welchem Format das Bild gespeichert ist, im RAM ist es immer gleich groß.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

TimBo

BeitragFr, Mai 23, 2008 8:55
Antworten mit Zitat
Benutzer-Profile anzeigen
öhm du solltest dir vll. CreateImage anschauen.
Wahrscheinlich hast du in der Main Schleife eine Schleife, die
die ganzen Planeten Bilder anzeigt. Das ist ziemlich bremsend.

Wenn du nun die ganze map(Background u. Planeten) in sagen wir mal 10 Bilder unterteilst,
und nur die malst, die du auch siehst, sollte das dein speed vergrößern.

mfg
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Dottakopf

BeitragFr, Mai 23, 2008 9:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm ne einfache tilemap müsste da schon gut weiterhelfen
Vor allem kannst du so dan später mit einem editor schnell und einfach schöne levels erstellen.


Wenn du nichts über tile maps weist, musst du hier mal im forum suchen bzw. auf robsite.de und dann RPG Tutorial.

Hier im schnelldruchlauf was eine Tilemap ist:
Du unterteilst deine Kommplette Spielwelt in lauter kleine quadratische, gleichgroße Einzelstücke(tiles) welches jeweils einen wert speichern. Dieser wert bezieht sich auf ein Bild aus einem Tile_set (ein großes bild in dem lauter kleine Grafiken eingespeichert sind). So jetzt musst du nur noch diese Kleinen einzelbilder als großes ganzes in einem Editor zusammen setzten und in dein Speil als Spiele welt laden. Klingt sehr kompliziert ist aber recht simpel. Siehe dazu die Tutorials

mfg Dottakopf
Rechtschreibfehler gelten der allgemeinen Belustigung!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group