Dessiner un Point
Dessiner un Point
Sous cette bete question se cache une veritable question.
Si on considere que ma fonction qui me permet d'afficher les faces pleines d'un cube travaille pixel par pixel ( encore une fois pour la gestion d'un ZBuffer ) et qu'une face de ce Cube auparavent créé par mes soins rempli l'ecran, avec un resolution de 800*600 on aura 480 000 pixel a afficher.
Et PB m'affiche une jolie fps de 2, ce qui peut sembler normal !
Mais j'aimerais savoir si il y a un moyen d'afficher un point a l'ecran de façon plus rapide, par exemple en ecrivant directement dans la memoire video, ou qq chose du genre ... Je ne sais pas si je suis clair, mais je suis preneur de toute solution.
merci d'avance.
Si on considere que ma fonction qui me permet d'afficher les faces pleines d'un cube travaille pixel par pixel ( encore une fois pour la gestion d'un ZBuffer ) et qu'une face de ce Cube auparavent créé par mes soins rempli l'ecran, avec un resolution de 800*600 on aura 480 000 pixel a afficher.
Et PB m'affiche une jolie fps de 2, ce qui peut sembler normal !
Mais j'aimerais savoir si il y a un moyen d'afficher un point a l'ecran de façon plus rapide, par exemple en ecrivant directement dans la memoire video, ou qq chose du genre ... Je ne sais pas si je suis clair, mais je suis preneur de toute solution.
merci d'avance.
Tu as un code?
Car en utilisant les commandes de bases sans aucunes optimisation, ca s'affiche plutot vite.
Car en utilisant les commandes de bases sans aucunes optimisation, ca s'affiche plutot vite.
Code : Tout sélectionner
InitSprite() : InitKeyboard()
OpenScreen(800,600,32,"")
Global StartTime.l,EndTime.l,MS.l
Global FPS.l,CounterFPS.l,FPSTICK.l
Repeat
ExamineKeyboard()
ClearScreen(RGB(0,0,0))
If CounterFPS < ElapsedMilliseconds()
FPS = FPSTICK
FPSTICK=0
CounterFPS= ElapsedMilliseconds() + 1000
EndIf
FPSTICK=FPSTICK+1
StartTime = ElapsedMilliseconds()
StartDrawing(ScreenOutput())
For y = 0 To 600-1 Step 1
For x = 0 To 800-1 Step 1
Plot(x,y,RGB(255,100,50))
Next : Next
DrawText(0,0,"MS : " +Str(MS))
DrawText(0,15,"FPS : " +Str(FPS))
StopDrawing()
FlipBuffers()
EndTime = ElapsedMilliseconds()
MS = EndTime - StartTime
Until KeyboardPushed(#PB_Key_Escape)
-
- Messages : 1202
- Inscription : sam. 31/déc./2005 23:52
Code : Tout sélectionner
InitSprite()
InitKeyboard()
If OpenScreen(800,600,32,"essai") = 0 : End : EndIf
Repeat
If Val(FormatDate("%ss", Date()))=sek
FPS+1
Else
FPS$=Str(FPS)
FPS=0
EndIf
sek=Val(FormatDate("%ss", Date()))
StartDrawing(ScreenOutput())
For y = 0 To 599
For x = 0 To 799
Plot(x,y,RGB(255,0,0))
Next x
Next y
DrawingMode(1)
FrontColor(255,255,255)
Locate(1,1)
DrawText("FPS: "+FPS$)
StopDrawing()
FlipBuffers()
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)