Jonas Skrevet 7. oktober 2004 Del Skrevet 7. oktober 2004 Heisann Har mange ganger begynt på forskjellige spill, men alltid har prosjektet stoppet fordi koden ble for treg. Er VB et for dårlig og tregt språk? Har noen noe tips og triks for å gjøre koden raskere? Jonas Lenke til kommentar
andesam Skrevet 7. oktober 2004 Del Skrevet 7. oktober 2004 (endret) Det er vel mange måter man kan løse det samme "problemet" på. Hvilken som er best å bruke krever nok erfaring. Men ellers går det jo ann å skrive noen av filene i c\c++. Men da må du jo lære det... hvis ikke du allerede kan det Endret 7. oktober 2004 av andesam Lenke til kommentar
jajajalla Skrevet 7. oktober 2004 Del Skrevet 7. oktober 2004 Ojsann, dette ble et litt vidt spørsmål. Generelt for å minske tiden det tar for å rendere en "frame" så er det hovedsakelig viktig å initialisere(riktig skrevet???) ting. Det finnes mange små tips som gjør koden din raskere, f.eks. ved å unngå bruk av floating-points, der det kan gjennomføres. Generelt er det også viktig å holde seg til en data-type, da konvertering i mellom de forskjellige typene gjerne kan ta litt ekstra tid, NB, du kan jo sevfølgelig også vinne tid på å konvertere mellom typer da, men det er heller unntaket enn regelen. Går det egentlig ann å skrive spill i VB? Vel, det er flere måter å se det på. Det finnes aldri et programmeringsspråk som faktisk er raskt nok, så derfor kan man jo ikke utelate VB heller. Men man kommer jo ikke bort i fra at språk som for eksempel C++ er rskere, noe man igjen tjener litt inn igjen på i spill, i og med at man da kan skrive enda mer kode per frame ved en akseptabel framerate. mvh Lenke til kommentar
OCSpro Skrevet 8. oktober 2004 Del Skrevet 8. oktober 2004 anbefaler Planet-soruce-code for dette spørsmålet. Der finnes det mange spill som funker bra. Blant annet har jeg sett en counterstrike etterlikning i Vb... og flere triks... -select case raskere enn elseif -konstanter er tregere enn hardprogrammerte tall. -bruke api-kommandoer for å slippe at vb skal oversette kommandoene dine. Husk at det finnes api'er for omtrent alle kommandoene du har i vb... så en kar som startet en form bare ved api -kan bruke directx til rendring av grafikk Det jeg kan huske i farten, fra folk som har testet på psc... Lenke til kommentar
jajajalla Skrevet 8. oktober 2004 Del Skrevet 8. oktober 2004 En annen måte man også kan få raskere kode på er jo og bruke pointere i stedenfor VBs arrays. -konstanter er tregere enn hardprogrammerte tall. Eh, konstanter gjør jo kompileren om til "hardprogrammerte" tall nå den kompiler programmet.... mvh Lenke til kommentar
GeirGrusom Skrevet 8. oktober 2004 Del Skrevet 8. oktober 2004 bruk klasser. framfor en array med structures, siden structures er value typer, mens klasser er referance(pekere) typer. Da har du f.eks. Class CUnit property class CSprite m_sprite property long m_sprite_index Bruk ALLTID long(32-bit) istedet for Integer(16-bit) Lenke til kommentar
Jonas Skrevet 8. oktober 2004 Forfatter Del Skrevet 8. oktober 2004 Hva er en "klasse" ? Har sikkert brukt det, men kan ikke navna på alle tingene Lenke til kommentar
OCSpro Skrevet 8. oktober 2004 Del Skrevet 8. oktober 2004 (endret) En annen måte man også kan få raskere kode på er joog bruke pointere i stedenfor VBs arrays. -konstanter er tregere enn hardprogrammerte tall. Eh, konstanter gjør jo kompileren om til "hardprogrammerte" tall nå den kompiler programmet.... mvh jeg synes også det var rart. Men det var en som la ut et testprogram på PSC hvor han kjørte samme kode i loop over et visst antall ganger, og målte tiden. Det viste seg da at hardkodete tall var raskere... Orker ikke begynne å lete da det er et år isden jeg leste det... bruk klasser.framfor en array med structures, siden structures er value typer, mens klasser er referance(pekere) typer. Da har du f.eks. Class CUnit property class CSprite m_sprite property long m_sprite_index Bruk ALLTID long(32-bit) istedet for Integer(16-bit) Skjønte ikke dette heller... er det vb? kunne du kanskje lage et eksempel med begge metodene? Endret 8. oktober 2004 av LeChef Lenke til kommentar
aadnk Skrevet 9. oktober 2004 Del Skrevet 9. oktober 2004 -konstanter er tregere enn hardprogrammerte tall. Kan jeg få se dokumentasjon på dette? Ved etterprøving fikk jeg kun det omvendte resultatet, så det må nesten gjelde med spesielle tilfeller. Her er uansett en mer detaljert beskrivelse av utprøvelsen: Constant vs. programmed numbers - Constant = 2 - Num = 2 - Add constant to variable 100000 times -- Time: 4,32 - Add number to variable 100000 times -- Time: 4,44 Lenke til kommentar
GeirGrusom Skrevet 10. oktober 2004 Del Skrevet 10. oktober 2004 det var bare pseudo, det bare beskriver en klasse, det er ikke VB. I VB Hadde det sett sånn ut: (legg til Class) Private m_sprite As CSprite Private m_sprite_index As Long 'Constructor Public Sub Class_Initialize() End Sub 'Deconstructor Public Sub Finalize() Set m_sprite = Nothing End Sub Public Property Set Sprite(value As CSprite) Set m_sprite = value End Property Public Property Get Sprite() As CSprite Set Sprite = m_sprite End Property Public Property Let SpriteIndex(value As Long) m_sprite_index End Property Public Property Get SpriteIndex() As Long SpriteIndex = m_sprite_index End Property Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå