Сообщение от
ivagor
Небольшое дополнение. Раз уж в названии темы есть слово "демо", то это поднимает планку ожиданий по оптимизации предлагаемых вариантов. А в выложенном исходнике многое можно оптимизировать. Хотя это все лежит на поверхности, но я перечислю:
1. Заменить setpixel на вариант с маской по таблице (8 байт). Это дает ускорение на 2 секунды (20%). А если как в basic 2.5 выделить под таблицу 256 байт, то будет еще быстрее.
2. Можно оптимизировать счетчик основного цикла, сейчас он "школьный".
3. Можно внести ГСЧ и рисование точки в тело цикла, чтобы убрать накладные расходы на вызов процедур.
4. Очистка экрана медленная. Причем можно очищать только одну плоскость, а не 4.
Высылай обновленный исходник, я все выложу. По-моему не обязательно все делать сверхоптимально, читабельность кода в нашем случае предпочтительна. Но если больше, чем 20%, то конечно. Пиши комментарии.
Сообщение от
ivagor
Вопрос к svofski - как вставлять бинарники в прекрасный асм?
Утилитой base64 кодируешь бинарник в base64 и полученную строку засовываешь в директиву db64. Учитывая, что максимальный размер бинарника по нынешним меркам комически мал, это вполне практично. На виндус можно найти такую же программу из разных портов GNU утилит. Но вот, говорят, еще есть под виндус некий такой стандартный certutil:
Код:
certutil -encode inputFileName encodedOutputFileName