Показать сообщение отдельно
Старый 28.09.2008, 14:53   #1
snikers
Нуждающийся
 
Аватар для snikers
 
Регистрация: 23.08.2008
Сообщений: 55
Написано 4 полезных сообщений
(для 4 пользователей)
оптимизация цикла

Как избежать двух перебираний списка, если логика цикла устроена как:

Const FPS%=75
Global period#=1000.0/Float(FPS), elapsed%, ticks%, tween#, time% 

time = MilliSecs()-period
Repeat
	Repeat
		elapsed=MilliSecs()-time
	Until elapsed
	
	ticks=elapsed/Int(period)
	tween=Float(elapsed Mod period)/period
	
	For Local i% = 1 To ticks
		time:+Int(period)
		' LOGIC 
                      перебор 1(для логики)
           Next

	'GRAPHICS
	Cls()
           перебор 2(для отрисовки)
	Flip()	
Forever
End
И еще, я правильно удаляю обекты из памяти и из списка?
If ((so.y > GraphicsHeight() + 300) Or (so.x > GraphicsWidth() + 300) Or (so.x < 0 - 300)) Then so.live = False
		If Not (so.live) Then SpaceObjectsList.Remove(so)
		so = Null
__________________
мои игры


требуется художник, за подробностями в асю - 428078069
(Offline)
 
Ответить с цитированием