Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   работа с изменяющимися массивами (http://www.flasher.ru/forum/showthread.php?t=146515)

TanaTiX 11.11.2010 00:52

Я еще читал, что флеш отнимает медленнее, так что теоретически возможно, что разница стремится к 0.

Psycho Tiger 11.11.2010 01:19

Цитата:

Сообщение от TanaTiX (Сообщение 948953)
Я еще читал, что флеш отнимает медленнее, так что теоретически возможно, что разница стремится к 0.

Разница чего?

TanaTiX 11.11.2010 01:32

разница в скорости для ситуации, описанной в 28м посте

Psycho Tiger 11.11.2010 01:39

Нет. Разница есть, и почти в 4 раза.

-De- 11.11.2010 09:39

Цитата:

Сообщение от Psycho Tiger (Сообщение 948933)
Array/Vector


Код AS3:

var a:Array = [];
trace(getSize(a)); //40
a[1000000] = 1;
trace(getSize(a)); //48

И что это меняет? Для меня - ничего, я не работаю с памятью напрямую.

Теперь то же самое проделайте с вектором и расскажите, что разницы нет =)

elzone 11.11.2010 11:01

спасибо всем за комменты. это все помогло в итоге разобраться в проблеме.

Psycho Tiger 11.11.2010 13:05

Цитата:

Сообщение от -De- (Сообщение 948987)
Теперь то же самое проделайте с вектором и расскажите, что разницы нет =)

Вектор себя по другому ведёт - чтобы писать в куда-то далеко в него сначала нужно его расширить, тем же сеттером length, при этом getSize`у положить на его длину и количеством элементов в нём. Он ведёт себя как настоящий массив.

-De- 11.11.2010 13:40

И что это меняет? (с)

Psycho Tiger 11.11.2010 13:46

Цитата:

Сообщение от -De- (Сообщение 949029)
И что это меняет? (с)

Для меня - ничего.

Вы спросили - я ответил )

alatar 11.11.2010 14:08

Цитата:

Вектор себя по другому ведёт - чтобы писать в куда-то далеко в него сначала нужно его расширить, тем же сеттером length, при этом getSize`у положить на его длину и количеством элементов в нём. Он ведёт себя как настоящий массив.
Не надо наговаривать на getSize. Он очень ответственный :)
Код AS3:

var vec:Vector.<String> = new Vector.<String>();               
trace(getSize(vec)); //60
 
vec.push("a");
trace(getSize(vec)); //64
 
vec.length = 1000000;               
vec[1000000] = "a";
trace(getSize(vec)); //5000064



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

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