Форум 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=127573)

ldimat 17.07.2009 15:36

поповоду mxmlc
попробуй такой код:

main.mxml:
Код:

<?xml version="1.0" encoding="utf-8"?>
<local:TMain xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:local="*">

</local:TMain>

TMain.as
Код:

package {
        import flash.display.Sprite;

        public class TMain extends Sprite {
        }
}

это - пустейшая до пустоты флешка, mxmlc ее хавает, размер - 616 байт.
а теперь измени так:

Код:

package {
        import flash.display.Sprite;
        import mx.core.Application;

        public class TMain extends Application {
        }
}

у меня флешка сразу стала весть 190 Кбайт. тоесть фреймворк флекса хавает _ОЧЕНЬ_ много памяти

iNils 17.07.2009 15:37

Я понимаю, когда народ недоволен размерами флексовых swf, когда речь идет о сотнях килобайт. Но экономить байты?

ldimat 17.07.2009 15:58

Цитата:

Сообщение от iNils (Сообщение 836148)
Я понимаю, когда народ недоволен размерами флексовых swf, когда речь идет о сотнях килобайт. Но экономить байты?

скажи это тем кто сидит на мобильном "интернете" с тарификацией 5$/MB
а вообще хорошо что людям интересны такие мелкие вещи, во времена гигабайт и гигагерц почему-то начинают забывать об оптимизациях :(

iNils 17.07.2009 16:05

Цитата:

скажи это тем кто сидит на мобильном "интернете" с тарификацией 5$/MB
Скажу:
- Ребята, поставьте себе фильтр и блокируйте любой флеш контент, картинки и видео. Потому, что за 5$ за мегабайт, вам это не нужно.
Еще есть предложения?

ldimat 17.07.2009 16:12

Цитата:

Сообщение от iNils (Сообщение 836156)
Еще есть предложения?

блин оффтоп такой пошел >_<, ну да ладно :)
я бы им сказал "агнецы божьи, бросьте земные услады и проникнитесь возвышенным - 3g, отдайте земные блага в виде ненужных бумажек за нормальный телефон и переходите к возвышенным провайдерам. во имя альта, контрела и святого делита: ресет..."

VVall 17.07.2009 23:54

Я фреймфорк Flex не использую, только компилятор из Flex SDK для компиляции относительно небольших проектов на чистом AS3. mxml-файла у меня нет, и код из первого поста компилируется в 567 байт или около того - чудной компилятор при каждой компиляции может менять размер выходного файла на несколько байт.

Безусловно, никакого практического смысла в оптимизации на байты нет, в этом никто не сомневается. Я сразу сказал - интерес спортивный. Подробнее: увидел, что люди делают интро (см. демосцена) на Flash размером 1K, и захотел понять, как у них это получается, при том, что пустой проект больше полукилобайта.

Добавлено через 9 часов 8 минут
Продолжая тему, обнаружил две вещи:

На размер влияет порядок объявления локальных переменных в функции. Просто переставил местами строчки в одном проекте, и размер изменился на несколько байт (переставлял туда-обратно, чтобы убедиться).

Похоже, что компилятор оптимизацией не сильно напрягается: выражение типа x=1+2+3+4+5; занимает больше места, чем x=15;. Скобки не помогают, только увеличивают размер. Наверняка это и на скорость влияет.

etc 18.07.2009 09:10

Я бы всё же почитал спеку по abc, прежде чем делать какие-то выводы…

ldimat 18.07.2009 17:32

Цитата:

Сообщение от VVall (Сообщение 836250)
Я фреймфорк Flex не использую, только компилятор из Flex SDK для компиляции относительно небольших проектов на чистом AS3. mxml-файла у меня нет, и код из первого поста компилируется в 567 байт или около того - чудной компилятор при каждой компиляции может менять размер выходного файла на несколько байт.

как ты баз mxml компилишь? дай пример .as

Яски 19.07.2009 02:02

ldimat, это чтоли?
Код AS3:

package {
 
  import flash.display.*;
 
  public class Main extends Sprite {
  }
}


VVall 19.07.2009 02:58

Минимальный AS - как Яски написал, а дальше вместо mxmlc file.mxml просто mxmlc file.as


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

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