Page 78 of 78
Re: Tyhmät kysymykset (I/2010)
Posted: Wed Jan 12, 2011 4:56 pm
by Ilkka
xamuli wrote:Onko taulukon soluilla maksimimäärää ja jos soluja laittaa paljon, hidastaako se peliä tai käykö jotai muuta huonoa?
En tiiä onko soluilla maksimimäärää, mutta jos laitat paljon soluja ja niissä on arvot esim. 1, niin se kyllä hidastaa peliä.
Kokeileppa tätä koodia ja vaihtele muuttujien
SolujaX ja
SolujaY arvoja vaikkapa 30 ja 3000 väliä. Huomaa kyllä eron kuvan lataamisnopeudessa:
Code: Select all
SolujaX = 3000
SolujaY = 3000
Dim MAP(SolujaX,SolujaY)
ukko = LoadObject("media/guy.bmp")
For x = 1 To SolujaX
For y = 1 To SolujaY
MAP( x, y ) = 1
Next y
Next x
Repeat
DrawScreen
Forever
Re: Tyhmät kysymykset (I/2010)
Posted: Wed Jan 12, 2011 6:55 pm
by MetalRain
xamuli wrote:Onko taulukon soluilla maksimimäärää ja jos soluja laittaa paljon, hidastaako se peliä tai käykö jotai muuta huonoa?
Ainakin tietokoneen keskusmuistin koko rajoittaa. Yksi kokonaisluku vie Coolbasicissa 4 tavua. Tällöin yhteen
kibitavuun mahtuu 256 kokonaislukua eli yhteen mebitavuun 262144 kokonaislukua ja gibitavuun 268435456 kokonaislukua.
Esimerkiksi koodilla:
koitettaisiin varata 4*256⁴=17179869184 tavua eli 16 gibitavua muistia, mikä tuskin kovin monella koneella onnistuu.
Luonnollisesti myös tarpeettoman suuren taulukon (jatkuva) läpikäyminen hidastaa peliä.
Re: Tyhmät kysymykset (I/2010)
Posted: Wed Jan 12, 2011 7:10 pm
by axu
MetalRain wrote:xamuli wrote:Onko taulukon soluilla maksimimäärää ja jos soluja laittaa paljon, hidastaako se peliä tai käykö jotai muuta huonoa?
Ainakin tietokoneen keskusmuistin koko rajoittaa. Yksi kokonaisluku vie Coolbasicissa 4 tavua. Tällöin yhteen
kibitavuun mahtuu 256 kokonaislukua eli yhteen mebitavuun 262144 kokonaislukua ja gibitavuun 268435456 kokonaislukua.
Esimerkiksi koodilla:
koitettaisiin varata 4*256⁴=17179869184 tavua eli 16 gibitavua muistia, mikä tuskin kovin monella koneella onnistuu.
Luonnollisesti myös tarpeettoman suuren taulukon (jatkuva) läpikäyminen hidastaa peliä.
Johtopäätös tästä on, ettei kannata mennä tekemään neliulotteista hyxelimoottoria 256 kanttiinsa kokoisella "kuvalla".
heko heko.
Itse olen huomannut, että rajat eivät tule kovin äkkiä vastaan vaikka taulukkoon säilöttäisiin objekteja (objektithan vievät luonnollisesti enemmän muistia kuin pelkät kokonaisluvut, jo pelkkä objektin osoitin vie sen verran [eli juuri nämähän voidaan tallentaa taulukkoon {objektit kuvineen ja tietoineen tallennetaan jonnekkin muualle muistin syövereihin (pitäisiköhän opetella vähentämään sulkujen käyttöä?)}]).
Re: Tyhmät kysymykset (I/2010)
Posted: Thu Jan 13, 2011 8:22 am
by Zero
Jatketaan keskustelua täällä:
Tyhmät kysymykset (I/2011)