Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 24.1.2008, 21:25   #1
sasha vukelic
Banned
 
Član od: 20.12.2005.
Lokacija: banjaluka
Poruke: 3.220
Zahvalnice: 278
Zahvaljeno 363 puta na 216 poruka
Određen forumom spremanje puno velikih matrica u fajl(ove)

situacija je otprilike ovakva:

jagged array oblika [128][128][8] sa float vrijednostima
i imacu gomilu takvih matrica (recimo da je ta gomila 100 komada)

e sad prvo rjesenje cuvanja ovih matrica na disku koje mi pada na pamet je
jednostavno da otvorim fajl i redom upisem tih 131072 brojeva i kada mi zatreba da ih ucitavam na isti nacin...

okruzenje mi je c#, visual studio 2008.

jos nisam gledao uopste na koji fazon bi bilo dobro (baza podataka, obicni fajl(ovi)...), jer mi jos ne treba o glavu
pa ako neko ima prijedloga kako da ovo rijesim; slobodno...

ono sto me prvenstveno interesuje je sto brze ucitavanje
velicina fajla ili baze uopste nisu bitni
sasha vukelic je offline   Odgovor sa citatom ove poruke
Stara 24.1.2008, 22:53   #2
Stevvan
Veteran
 
Član od: 17.12.2005.
Lokacija: Zarkovo, Beograd
Poruke: 1.114
Zahvalnice: 97
Zahvaljeno 179 puta na 104 poruka
Slanje poruke preko MSN-a korisniku Stevvan Slanje poruke preko Skypea korisniku Stevvan
Određen forumom Re: spremanje puno velikih matrica u fajl(ove)

Jer nije problem da kazes za sta ti to konkretno treba?
Stevvan je offline   Odgovor sa citatom ove poruke
Stara 25.1.2008, 0:33   #3
sasha vukelic
Banned
 
Član od: 20.12.2005.
Lokacija: banjaluka
Poruke: 3.220
Zahvalnice: 278
Zahvaljeno 363 puta na 216 poruka
Određen forumom Re: spremanje puno velikih matrica u fajl(ove)

nije. sto bi bio problem

vjerovatno si vidio ovo: http://www.sk.co.yu/forum/showpost.p...6&postcount=19
danas sam imao malo vremena i kontao mozda bih mogao instancirati vise terena, koje cu nadovezivati jedne na druge u zavisnosti gdje se nalazi kamera... a to bi trebalo cuvati na disku jer generisanje onog terena (na pocetku programa) traje oko pola sekunde i ako to pomnozis sa 100 vidis da moze potrajati
sasha vukelic je offline   Odgovor sa citatom ove poruke
Stara 25.1.2008, 12:10   #4
Stevvan
Veteran
 
Član od: 17.12.2005.
Lokacija: Zarkovo, Beograd
Poruke: 1.114
Zahvalnice: 97
Zahvaljeno 179 puta na 104 poruka
Slanje poruke preko MSN-a korisniku Stevvan Slanje poruke preko Skypea korisniku Stevvan
Određen forumom Re: spremanje puno velikih matrica u fajl(ove)

Jel jedna mapa array[128][128][8]? Ako je tako, onda sto moras sve ucitavati na pocetku, kad mozes pre svakog level-a tj. promene mape, ucitati odredjenu mapu, pa onda sve preko 10 sec i nije mnogo (taman imas vremena da protreses prste )

EDIT:
Tek sam sad pazljivije procitao poruku . Pa mogao bi da probas sa tim zapisivanjem, ne bi trebalo da mu treba puno vremena da ucita, ja sam sad napravio file od 131072 nula i python ga ucitava trenutno bez ikakvog zastoja, mada ja mislim da teren ne bi trebalo da ti bude veci od 5x5 polja, tako da i kada bi se sve ucitalo odjednom ne verujem da bi puno pojelo memorije (negde oko 3,2 mb na ram-u)

Poslednja ispravka: Stevvan (25.1.2008 u 12:57)
Stevvan je offline   Odgovor sa citatom ove poruke
Stara 25.1.2008, 13:56   #5
sasha vukelic
Banned
 
Član od: 20.12.2005.
Lokacija: banjaluka
Poruke: 3.220
Zahvalnice: 278
Zahvaljeno 363 puta na 216 poruka
Određen forumom Re: spremanje puno velikih matrica u fajl(ove)

dodatno:

1. "mapa" ce se sastojati iz vise matrica navedenog oblika (pretpostavimo da je taj broj bas ogroman, recimo milion - da ne moze stati u memoriju) i znaci matrice ce se nastavljati jedna na drugu i ciniti jednu cjelinu.
2. u memoriji treba da stoji samo matrica koja se koristi, kao i susjedne matrice, sto nece koristiti puno memorije.
3. postoji razlika izmedju "generisanja" i ucitavanja matrice iz fajla. generisanje traje oko pola sekunde po matrici (na mom kompjuteru), no to vrijeme nije toliko bitno jer ce se teren generisati samo jednom, spremiti u fajl(ove) i ucitavati po potrebi. ucitavanje iz fajlova bi, naravno trebalo da bude brze od generisanja.
sasha vukelic je offline   Odgovor sa citatom ove poruke
Stara 25.1.2008, 19:58   #6
Stevvan
Veteran
 
Član od: 17.12.2005.
Lokacija: Zarkovo, Beograd
Poruke: 1.114
Zahvalnice: 97
Zahvaljeno 179 puta na 104 poruka
Slanje poruke preko MSN-a korisniku Stevvan Slanje poruke preko Skypea korisniku Stevvan
Određen forumom Re: spremanje puno velikih matrica u fajl(ove)

E da jedna stvar koja ti moze koristiti a pritom ti znaciti dosta u ubrzanju: Posto ce igra biti gledana odozgo, napravi da kamera da da vidis nesto manje od jedne celije. Ovo je dobro posto ces tako imati potrebu da ucitas najvise 4 celije odjednom. I da: Da li si rotaciju paukova (kada se krecu po brdascima) i generisanje terena sam pisao, ili si za to koristio nesto drugo?
Stevvan je offline   Odgovor sa citatom ove poruke
Stara 26.1.2008, 0:16   #7
sasha vukelic
Banned
 
Član od: 20.12.2005.
Lokacija: banjaluka
Poruke: 3.220
Zahvalnice: 278
Zahvaljeno 363 puta na 216 poruka
Određen forumom Re: spremanje puno velikih matrica u fajl(ove)

Citat:
Stevvan kaže: Pregled poruke
I da: Da li si rotaciju paukova (kada se krecu po brdascima) i generisanje terena sam pisao, ili si za to koristio nesto drugo?
sve sto vidis sam isprogramirao - nista nije crtano: teren je random (znaci drugaciji svaki put), a to cudo sto hoda uopste nije model vec se sastoji iz spojenih dijelova koji se racunaju u zavisnosti od polozaja u kojem se noge nalaze (znaci jedino sto se pamti jesu x i y koordinate sve 4 noge - ostali se racuna iz tih podataka)
Citat:
Stevvan kaže: Pregled poruke
E da jedna stvar koja ti moze koristiti a pritom ti znaciti dosta u ubrzanju: Posto ce igra biti gledana odozgo, napravi da kamera da da vidis nesto manje od jedne celije. Ovo je dobro posto ces tako imati potrebu da ucitas najvise 4 celije odjednom.
vidim da dobro shvatas sta zelim mada, moje rjesenje ce ici malko drugacije - pogledaj sliku: plavo je matrica u kojoj se trenutno nalazi objekat. zelene su matrice koje su u memoriji, a sve ostalo je na disku. za primjer sam dao ako objekat predje u matricu lijevo od ove u kojoj se sada nalazi, onda se u memoriju ucitavaju matrice obojene crvenom bojom. matrice koje ostaju sa desne strane mogu da se brisu iz memorije, medjutim to ne mora da se odradjuje odmah u zavisnosti koliko je memorije na kompjuteru.
Priložene slike
Kliknite na sliku za veću verziju

Ime:	matrice.PNG
Viđeno:	6 puta
Veličina:	2,0 KB
ID:	17388  
sasha vukelic je offline   Odgovor sa citatom ove poruke
Stara 28.1.2008, 13:19   #8
Brains
Cogito ergo Brains
 
Avatar korisnika Brains
 
Član od: 16.10.2005.
Lokacija: Lobanja
Poruke: 417
Zahvalnice: 3
Zahvaljeno 42 puta na 26 poruka
Određen forumom Re: spremanje puno velikih matrica u fajl(ove)

Citat:
sasha vukelic kaže: Pregled poruke
jagged array oblika [128][128][8] sa float vrijednostima i imacu gomilu takvih matrica (recimo da je ta gomila 100 komada)
Ako ti treba brzina, cuvaj u memoriji. Nije mnogo:

float je velicine 4 bajta (32 bita)

128*128*8*4 = 0.5 MB memorije

To ce reci da kompjuter sa 64 MB slobodne memorije moze da bez problema drzi 128 matrica ovog tipa.

Cak i da koristis double (on je velicine 8 bajta), opet nije problem da drzis sve u memoriji.

A ako ti treba vise od ovoga, uradi neki Thread sa smanjenim prioritetom koji bi ucitavao dalje matrice (ne moraju neposredno sledece matrice, vec nekoliko koraka unapred)
Brains je offline   Odgovor sa citatom ove poruke
Stara 28.1.2008, 17:12   #9
sasha vukelic
Banned
 
Član od: 20.12.2005.
Lokacija: banjaluka
Poruke: 3.220
Zahvalnice: 278
Zahvaljeno 363 puta na 216 poruka
Određen forumom Re: spremanje puno velikih matrica u fajl(ove)

zaboravio sam da ipak zivimo u malo modernijem dobu

javicu se ponovo ako ih bude bas puno pa ipak bude trebalo neko rjesenje...
sasha vukelic je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno



Sva vremena su po Griniču +2 h. Sada je 8:38.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com