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

![]() |
Schnäggli92Betreff: Wie kann ich bilder nur laden wenn ich sie sehe ?? |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() ![]() Danke viel mal für die antwort |
||
![]() |
Thorsten |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ggf. DrawBlock![]() mfG, Thorsten |
||
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein Bild kann man auch mehrmals malen, btw. | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ö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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group