Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > BlitzMax

Ответ
 
Опции темы
Старый 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)
 
Ответить с цитированием
Старый 28.09.2008, 15:57   #2
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: оптимизация цикла

от двух переборов не уйдешь вроде,
объект удаляется из памяти, елси на него нет больше нигде ссылок и только после команды GCcollect()
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
snikers (28.09.2008)
Старый 28.09.2008, 17:56   #3
snikers
Нуждающийся
 
Аватар для snikers
 
Регистрация: 23.08.2008
Сообщений: 55
Написано 4 полезных сообщений
(для 4 пользователей)
Ответ: оптимизация цикла

Сообщение от dimanche13 Посмотреть сообщение
от двух переборов не уйдешь вроде,
объект удаляется из памяти, елси на него нет больше нигде ссылок и только после команды GCcollect()
всмысле? что такое ссылка? TLink? если я присвою обекту Null и вызову GCollect(), то он удалится?
__________________
мои игры


требуется художник, за подробностями в асю - 428078069

Последний раз редактировалось snikers, 28.09.2008 в 18:01.
(Offline)
 
Ответить с цитированием
Старый 29.09.2008, 09:15   #4
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Ответ: оптимизация цикла

в принципе от двух переборов не уйти, но можно сделать так, чтоб update-перебор проходил по всем, а draw-перебор, только для тех, кто в фруструме камеры(окне вывода), тогда второй перебор будет меньше. Удаляя объект необходимо занулить и все его филды

Type _Object
field img:TImage
field snd:TSound

method Free()
img = null
snd = null
end method

end type

вызываешь free() а потом нулишь, сам объект.
__________________
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо dimanche13 за это полезное сообщение:
ICoder (30.09.2008), snikers (29.09.2008)
Старый 29.09.2008, 14:26   #5
snikers
Нуждающийся
 
Аватар для snikers
 
Регистрация: 23.08.2008
Сообщений: 55
Написано 4 полезных сообщений
(для 4 пользователей)
Ответ: оптимизация цикла

dimanche13, спсибо! теперь ситуация полностью прояснилась.
__________________
мои игры


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


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация кода, помохите CRASHER Blitz3D 5 22.02.2009 23:15
оптимизация трафика для пользователей abcdef Наш форум 0 07.12.2008 16:20
Оптимизация J2ME приложений johnk JAVA Micro Edition 1 10.11.2007 19:12
оптимизация коннекта impersonalis 2D-программирование 4 11.12.2006 01:18
Оптимизация своей картостройки New 3D-программирование 7 16.09.2006 08:41


Часовой пояс GMT +4, время: 20:08.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com