Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26113
Рейтинг: 2126
#91: 2009-07-11 11:08:30 ЛС | профиль | цитата
Galkov писал(а):
рядом с творениями nesco-то - и рядом не стояло

Ну вот, и на меня наехал, зачем ты так , лучше бы подсказал где я намудрил и как луше поправить надо
карма: 22

0
Ответов: 2125
Рейтинг: 159
#92: 2009-07-11 11:40:59 ЛС | профиль | цитата
Galkov писал(а):
Если функциональные обращения к схеме из формулы - полная непонятка со стеком сопроцессора (его размером)

А ты заранее посчитай все обращения к схеме и сохрани результаты в памяти, а потом уже в своей формуле значения используй.
карма: 1

0
Ответов: 5227
Рейтинг: 587
#93: 2009-07-11 13:26:43 ЛС | профиль | цитата
Galkov, я понимаю конечно что всё познаётся в сравнении, мне и самому стало интересно устроить тестдрайв ипользуя фракталы Мандельброта. Конечно из ваших схем выдирать алгоритм у меня времени нет но аналогичный нашёл в других источниках, причём даже процедуры цвета оставил. Со скоростью у меня всё впорядке, да и алгоритм прослеживается.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
1
файлы: 1mandelbrot_test.zip [10KB] [305]
Голосовали:Tad
Ответов: 16884
Рейтинг: 1239
#94: 2009-07-11 15:07:38 ЛС | профиль | цитата
andrestudio, за пример +

andrestudio, а подряд нажать несколько раз на GO, пробовал ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Администрация
Ответов: 15295
Рейтинг: 1519
#95: 2009-07-11 16:11:07 ЛС | профиль | цитата
andrestudio писал(а):
Конечно из ваших схем выдирать алгоритм у меня времени нет

алгоритм брался из википедии, о чем выше говорилось

andrestudio писал(а):
Со скоростью у меня всё впорядке, да и алгоритм прослеживается.

алгоритм прослеживается? 122 строки, не влезающие на одну страницу против 30 элементов(в варианте от Galkov-a 18), полностью вмещающихся на экране 640х480 - и это прослеживание алгоритма Я видимо чего-то проспал в этой жизни
Скорость - фрактал от FTCG выдает 750kpix/s против 430kpix/s в варианте от pb.
карма: 27
0
Ответов: 5227
Рейтинг: 587
#96: 2009-07-11 16:57:25 ЛС | профиль | цитата
Dilma, откуда у Вас такие скорости , похоже мой пентиум пора выкинуть. . Не знаю как у Вас но FTCG у меня в два раза медленей рисует и без цвета.
Что читать легче оставим на любителя, надо учитытвать что по элементам тоже надо пробежатся, чтобы их свойства увидеть.

Tad, чтобы достичь индеетичности отрисовки, нужно изключить глобальные переменные (перенести их в обработчик события от кнопки)
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Администрация
Ответов: 15295
Рейтинг: 1519
#97: 2009-07-11 17:14:05 ЛС | профиль | цитата
andrestudio писал(а):
откуда у Вас такие скорости , похоже мой пентиум пора выкинуть.

Core 2 Quad Q8300 (3Ггц), RAM DDR2-800 - теоритически скорость могла бы быть в 4 раза больше, если использовать распаралеливание на 4 ядра.

andrestudio писал(а):
Не знаю как у Вас но FTCG у меня в два раза медленей рисует

смотря какая версия использовалась. Если та, в которой отрисовка пикселя была вынесена в стандартные элементы, то не удивительно. Я мерил этим
code_14082.txt

ну и наконец стоит убедиться в идентичности процедуры расчета скорости - в схеме выше формула такая

300*200/%1*1000 / 1024
где 300*200 - размеры отрисовываемого поля, %1 - время отрисовки фрактала в мс, 1024 - перевод пикселей в килопиксели(можно брать 1000 - тогда результат будет несколько выше, но не ниже)

andrestudio писал(а):
Что читать легче оставим на любителя, надо учитытвать что по элементам тоже надо пробежатся, чтобы их свойства увидеть.

в схеме от Galkov-a да надо, без знания формул алгоритм не поймешь, но это всего лишь следствие того, что не были вынесены LH на соответствующие свойства. Поэтому в минус это не корректно записывать.

PS: перенес схему в пакет PDA - результат сходный с FTCG(что очевидно), хотел под FASM собрать тоже самое, но увы элементов вывода графики там нет.
карма: 27
0
файлы: 1code_14082.txt [5KB] [473]
Ответов: 16884
Рейтинг: 1239
#98: 2009-07-11 17:19:28 ЛС | профиль | цитата
andrestudio писал(а):
Не знаю как у Вас но FTCG у меня в два раза медленей рисует и без цвета.
у меня тоже и не в два
FTCG - 1.5 сек.
andrestudio - мгновенно ( <0.2 сек).

andrestudio писал(а):
чтобы достичь индеетичности отрисовки
. Просто понравился эффект приближения

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Администрация
Ответов: 15295
Рейтинг: 1519
#99: 2009-07-11 17:28:11 ЛС | профиль | цитата
ну с приближением будет так (версия пакета PDA)
карма: 27
0
файлы: 1mandelbrot_pda.rar [16.7KB] [252]
Ответов: 16884
Рейтинг: 1239
#100: 2009-07-11 17:42:58 ЛС | профиль | цитата
Dilma писал(а):
ну с приближением будет так (версия пакета PDA)


------------ Дoбавленo в 17.43:

Все. Понял. Вопрос снят.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1a14.png [6.9KB] [467]
Администрация
Ответов: 15295
Рейтинг: 1519
#101: 2009-07-11 17:46:03 ЛС | профиль | цитата
вот так всегда бы...
карма: 27
0
Ответов: 16884
Рейтинг: 1239
#102: 2009-07-11 17:49:10 ЛС | профиль | цитата
Но в примере andrestudio еще и с цветом
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Администрация
Ответов: 15295
Рейтинг: 1519
#103: 2009-07-11 17:49:48 ЛС | профиль | цитата
собственно пример показывает, что скорость отрисовки меняется(и весьма существенно) в зависимости от количества пикселей на экране, которые за N итераций уходят в бесконечность(соответствует красному цвету). Поэтому тестирование нужно проводить при фиксированной величине зума (или иными словами разрешения)
------------ Дoбавленo в 17.52:
Tad писал(а):
Но в примере andrestudio еще и с цветом

Tad, если бы ты посмотрел на код программы, который по словам andrestudio, должен быть понятен каждому, то увидел бы, что рассчет цвета не является сколько-нибудь весомой математической операцией. Грубо говоря достаточно завести массив из 64 элементов и по индексу выбирать нужный цвет.
карма: 27
0
Ответов: 5227
Рейтинг: 587
#104: 2009-07-11 17:57:33 ЛС | профиль | цитата
Версия у меня старая проверить не могу, верю наслово. Так как API функция GetTickCount возращает время в милисекундах то у меня практически тоже самое x*y / time.
------------ Дoбавленo в 18.01:
Dilma писал(а):
Грубо говоря достаточно завести массив из 64 элементов и по индексу выбирать нужный цвет.
Э нет, мы так не договаривались , мы же понимаем что этот код участвует в расчётах, причём 200*300 раз
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Администрация
Ответов: 15295
Рейтинг: 1519
#105: 2009-07-11 18:13:15 ЛС | профиль | цитата
andrestudio писал(а):
мы же понимаем что этот код участвует в расчётах, причём 200*300 раз

andrestudio, вашей карьере начинающего программиста ЯВУ еще только предстоит пройти через знание о том, что извлечение значения элемента массива по 32х разрядному индексу выполняется одной командой процессора. Говорить о том, что на выполнение 60тыс раз одной команды процессора сегодня требуется много времени по меньшей мере не актуально.
------------ Дoбавленo в 18.18:
а вот реализация HSB2RGB в вашем примере действительно представляет из себя монстрообразную конструкцию, которая будет отъедать изрядное количество времени. Предлагаю переписать ее так

#bas
Procedure HSB2RGB(hue.f)
ProcedureReturn RGB(hue*255, 0, 0)
EndProcedure

и заменить это

#bas
If h <> old
b = 1.0 - h * h ; brightness
col = HSB2RGB(h, 0.8, b)
old = h;
EndIf
на это

#bas
If h <> old
col = HSB2RGB(h)
old = h;
EndIf
карма: 27
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)