![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2005
Сообщений: 35
|
Рисую пикселями примерно так
... [SWF(width=800, height=800, backgroundColor=0xFFFFFF, frameRate=30)] ... this._canvas = new BitmapData(800, 800, false, 0xFFFFFFFF); ... this.addEventListener(Event.ENTER_FRAME, this.update); private function update(e:Event):void { ... 10000 x this._canvas.getPixel32( ... 10000 x this._canvas.setPixel (... .... } 10 000 раз считать пиксель и поставить пиксель это для флеша много ? Вот на джаве это работает нормально. Или я как-то не так с пикселями работаю? спасибо п.с. к компом все норм тачка шустрая |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
не поможет. пробовал попиксельно делать фильтры - тормозит жуть.
тоже проход по всему битмапу с заменой пикселей, 200x600 - вешался. (приходилось устанваливать script time limit на большую величину. вопрос решился написанием собственного шейдера. либо можно попробовать использовать стандартные фильтры/шейдера работающие сразу с байтовым массивом а не с отдельным пикселем.
__________________
Отряд Котовскага |
|
|||||
|
Да нет, тот код что вы привели - с 20000 пробегами - не должен тормозить вообще.
На моем не самом современном компьютере такие результаты: var _canvas:BitmapData = new BitmapData(800, 800, true, 0xFF000000); var bitmap:Bitmap = new Bitmap(_canvas); addChild(bitmap); this.addEventListener(Event.ENTER_FRAME, this.update); function update(e:Event):void { var t:Number = getTimer(); for(var i:int = 0; i < 10000; i++) { this._canvas.getPixel32(10, 10); } for(i = 0; i < 10000; i++) { this._canvas.setPixel(20, 20, 0xFFFFFFFF); } trace(getTimer() - t) } Upd.: iflamberg дело говорит - залочивание битмапы на порядок ускоряет работу с ней. Последний раз редактировалось Волгоградец; 24.12.2009 в 15:08. |
|
|||||
|
Регистрация: Aug 2005
Сообщений: 35
|
Волгоградец, да ты прав пиксели не виноваты, это тормозит рандом (( он вызывается примерно 260 000 раз...я понимаю жесткий код...но может есть возможноть его ускорить ?
|
|
|||||
|
Битмапдата с perlinNoise() в качестве рандома, как вариант, что приходит на ум. Хотя рандом должен работать быстро.
__________________
if (love is true) break my.heart; |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
Есть и просто noise, без октав и сглаживаний.
|
|
|||||
|
Регистрация: Aug 2005
Сообщений: 35
|
))) да мне не нужен шум на картинке, мне нужен быстрый рандом, хотя вроде здесь нашел похожее завтра попробую http://blog.controul.com/2009/04/sta...bution-in-as3/
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
опишите, что вы реально делаете, и скорей всего можно реализовать необходимый ф-ционал в 1 проход, без 10 000 итераций циклов, используя наложения, фильтры итп..
__________________
Отряд Котовскага |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|