Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 02.07.2002, 18:02
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 11  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
зануды вы оба

поздравляю, за две тысячи вызовов random(range) мы получим выигрыш в целых полтора раза
относительно тех же двух тысяч Math.round(Math.random()*range)...
....в полтора раза относительно 50 микросекунд (все в среднем...)
...это при том, что в первом случае работает одна функция с интом, а во втором две функции с флоатом+умножение

зато если мы посмотрим "спектр" выдаваемых значений - у random() есть какие-то странные пики в самых неожиданных местах

зы:


Последний раз редактировалось Nox Noctis; 02.07.2002 в 18:06.
Старый 02.07.2002, 18:52
Massimo вне форума Посмотреть профиль Отправить личное сообщение для Massimo Найти все сообщения от Massimo
  № 12  
Massimo

Регистрация: Mar 2002
Адрес: Россия, Москва
Сообщений: 54
Отправить сообщение для Massimo с помощью ICQ
А простыми словами....
Что это значит?

Старый 02.07.2002, 19:01
Papa Karlo вне форума Посмотреть профиль Отправить личное сообщение для Papa Karlo Найти все сообщения от Papa Karlo
  № 13  
Papa Karlo
 
Аватар для Papa Karlo

Регистрация: Jan 2002
Сообщений: 480
Отправить сообщение для Papa Karlo с помощью ICQ
это значит, что если тебя не устроит результат с random(), бери пиво и начинай извращаться

Старый 02.07.2002, 19:05
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 14  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
суть всего вышеизложенного -
четверошный синтаксис быстрее. известно с момента появления пятерки

но в случае с рандомом разница в скорости настолько незначительна, что если ее учитывать, то стоит заодно сделать поправку на световое давление

если тебе нужен более аккуратный результат - пиши
Math.round(Math.random())
если тебе нужно чтоб выглядело попроще - пиши
random()


Последний раз редактировалось Nox Noctis; 02.07.2002 в 19:06.
Старый 02.07.2002, 21:37
Fisher вне форума Посмотреть профиль Отправить личное сообщение для Fisher Найти все сообщения от Fisher
  № 15  
Fisher

Регистрация: Oct 2000
Адрес: Ukraine Lugansk
Сообщений: 852
Отправить сообщение для Fisher с помощью ICQ
Да радибога - пиши как нравиться. Но очевидного - быстродействие и компактность получаемого свф ты ведь не оспариваешь? А вот я насчет твоих замеров рандома могу поспорить (но лень) Рупь за сто даю что рандом в пятом плэере никто не переписывал. А в хелпе понты кидают чтоб побыстрее на объектный 6-й синтаксис всех пересадить

Старый 03.07.2002, 02:29
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 16  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
ну, замеры-то я делал на шестом плеере...
если правда интересно, то могу запостить код (если самому лениво писать )... там чистый as

Старый 03.07.2002, 11:46
Fisher вне форума Посмотреть профиль Отправить личное сообщение для Fisher Найти все сообщения от Fisher
  № 17  
Fisher

Регистрация: Oct 2000
Адрес: Ukraine Lugansk
Сообщений: 852
Отправить сообщение для Fisher с помощью ICQ
Да код я и сам могу запостить. Ладноуж самому интересно стало на "пики" посмотреть Идеони ? Кстати у меня тоже 6-й плэер. Я думаю насчет пятого уже спорить не будем?
И обрати внимание на стабильную яму у мачрандома в области ноля.
Вложения
Тип файла: zip ya.zip (5.0 Кб, 73 просмотров)

Старый 03.07.2002, 14:27
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 18  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
Код:
Stage.scaleMode = "showAll";
Stage.realSize = {h:Stage.height, w:Stage.width};
Stage.scaleMode = "noScale";
//
test = function (range, loops, fn) {
	var i = 0;
	var href = this.createEmptyMovieClip(fn, fn.length);
	href.dim = {H:Stage.realSize.h/range, W:Stage.realSize.w/loops*50};
	href.overlay = new Array(range);
	if (fn == "mrandom") {
		while (loops>i++) {
			spectrum.apply(href, [Math.round(Math.random()*range)]);
		}
	} else {
		while (loops>i++) {
			spectrum.apply(href, [random(range)]);
		}
	}
};
spectrum = function (val) {
	if (!this.overlay[val]) {
		var href = this.createEmptyMovieClip("i"+val, 1+val);
		href.lineStyle(.1, 0x8000);
		href.lineTo(this.dim.W, 0);
		href._y = this.dim.H*val;
	} else {
		this["i"+val]._width += this.dim.W;
	}
	this.overlay[val]++;
};
//
test(100, 5000, "mathrandom");
test(100, 5000, "flash4random");
//
flash4random._alpha = 30;
this.onMouseDown = function() {
	var tmp = flash4random._alpha;
	flash4random._alpha = mathrandom._alpha;
	mathrandom._alpha = tmp;
	mathrandom._alpha == 100 ? trace("Math.random") : trace("random");
};
я проверял так... как видно у обоих рандомов яма в нуле почти одинаковая зато если мы посчитаем количество значений вероятность которых превышает среднюю - у матхрандома таких значений явно меньше... (только лучше фреймрейт 1 поставить, а то плеер может начать нервничать от 10000 лупов )


Последний раз редактировалось Nox Noctis; 03.07.2002 в 14:32.
Старый 03.07.2002, 16:01
Fisher вне форума Посмотреть профиль Отправить личное сообщение для Fisher Найти все сообщения от Fisher
  № 19  
Fisher

Регистрация: Oct 2000
Адрес: Ukraine Lugansk
Сообщений: 852
Отправить сообщение для Fisher с помощью ICQ
Дааа... видать за объем тебя не душат - эко наворотил
Лень разбираться - полож исходник я просто потестю

Старый 03.07.2002, 16:35
Fisher вне форума Посмотреть профиль Отправить личное сообщение для Fisher Найти все сообщения от Fisher
  № 20  
Fisher

Регистрация: Oct 2000
Адрес: Ukraine Lugansk
Сообщений: 852
Отправить сообщение для Fisher с помощью ICQ
Стоп - затупил! Не собразил что это уже МХ. Я ея практически не юзаю Еще час Х не пробил .Тоды спор прекращаю ввиду некомпетентности. Но в случае с 5-м скриптом ты неправ и доказательство в предыдущем атаче

Создать новую тему   Часовой пояс GMT +4, время: 15:54.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.