Показать сообщение отдельно
Старый 26.09.2006, 22:58   #1
MiXaeL
Бывалый
 
Аватар для MiXaeL
 
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений
(для 267 пользователей)
Сообщение О быстроте функций

Вот решил проверить:

 
Graphics3D 640,480
SetBuffer BackBuffer()
 
Global camera=CreateCamera()
Global light=CreateLight()
RotateEntity light,90,0,0
 
cylinder=CreateCylinder()
PositionEntity cylinder,0,0,5
 
While Not KeyDown( 1 )
 
 t=MilliSecs()
 For i=1 To 100000
  Dist()
 Next
 dt=MilliSecs()-t
 
 t1=MilliSecs()
 For i=1 To 100000
  dist=EntityDistance(camera,light)
  If dist<1000 near=True
 Next
 dt1=MilliSecs()-t1
 
 RenderWorld
 Text 10,10,+dt
 Text 10,30,+dt1
 Flip
 
Wend
End
 
Function Dist()
 dist=EntityDistance(camera,light)
 If dist<1000 near=True
End Function
Как и ожидалось dt1>dt, причем где-то в 1,5 раза (на моем компьютере значения были dt1=54-57, dt=34-37).

P.S. Конечно я не против функций, их можно и нужно использовать. А эту информацию просто примите к сведению...
(Offline)
 
Ответить с цитированием