Gå til innhold

Tips og triks til raskere kode


Anbefalte innlegg

Videoannonse
Annonse

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 av andesam
Lenke til kommentar

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

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 :D

-kan bruke directx til rendring av grafikk

 

Det jeg kan huske i farten, fra folk som har testet på psc...

Lenke til kommentar

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.... :roll:

 

 

mvh

Lenke til kommentar
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.... :roll:

 

 

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? :p kunne du kanskje lage et eksempel med begge metodene? :D

Endret av LeChef
Lenke til kommentar
-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

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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...