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

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

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

2D-программирование Вопросы, касающиеся двумерного программирования

Ответ
 
Опции темы
Старый 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)
 
Ответить с цитированием
Старый 26.09.2006, 23:09   #2
jimon
 
Сообщений: n/a
Re: О быстроте функций

inline функции одинаковы по скоростью с обычным кодом
тока вот в блице их нету
 
Ответить с цитированием
Старый 26.09.2006, 23:11   #3
MiXaeL
Бывалый
 
Аватар для MiXaeL
 
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений
(для 267 пользователей)
Re: О быстроте функций

Кроме функций можно использовать
Gosub ... Return
(Offline)
 
Ответить с цитированием
Старый 26.09.2006, 23:28   #4
jimon
 
Сообщений: n/a
Re: О быстроте функций

но ето, imho, дурной тон
 
Ответить с цитированием
Старый 27.09.2006, 11:47   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Re: О быстроте функций

Gosub ... Return всеравно медленнее прямого кода, но быстрее чем функции. Но функции удобнее хотябы тем, что можно очень просто передавать параметры в ее тело.

Совет (ИМХО): чем больше операторов находится в теле в функции, тем незначительнее становится время ее вызова
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 23.04.2007, 17:40   #6
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Re: О быстроте функций

Совет (ИМХО): чем больше операторов находится в теле в функции, тем незначительнее становится время ее вызова
В чем совет? Где доказательства?
(Offline)
 
Ответить с цитированием
Старый 23.04.2007, 18:48   #7
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Re: О быстроте функций

2JohnK
PAX имеет ввиду разницу затрат времени на тело функции и времени на ее вызов, т.е. если функция будет выполнять сложный кусок кода то время вызова будет низким по сравнению с временем выполнения этого куска кода
А так еще на скорость вызова влияет кол-во параметров у функции, ибо соответственно времени больше тратится на их передачу.
(Offline)
 
Ответить с цитированием
Старый 24.04.2007, 01:27   #8
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: О быстроте функций

и не только количество но и тип параметров.
к примеру строка (не указатель на строку) будет передоваться довольно долго.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
API Функции maxturbo Библиотеки 8 18.09.2009 02:38
функций NitE BlitzMax 16 17.08.2009 00:39
Функции ( Crystal 3D-программирование 26 13.09.2007 17:16
Функции pipns Основной форум 1 23.04.2007 11:54
Где функции? root 3D-программирование 12 02.01.2006 23:34


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


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