Конференция "Игры" » Быстрый канвас [Delphi, Windows, ХР]
 
  • @!!ex © (13.10.09 15:19) [240]
    Делаешь пустой цикл на миллион итераций. Замеряешь время работы.
    После чего делаешь не пустой цикл на миллион итераций. Замеряешь время работы. Отнимаешь первый замер. Получаешь время работы алгоритма.
  • antonn © (13.10.09 22:17) [241]

    > A вы автор новогодней "кликомании"?

    угу, и в ней его код =)
  • MonoLife © (14.10.09 03:20) [242]

    > antonn ©   (13.10.09 22:17) [241]

    Очень симпатичная игрушка. Единственный минус, при увеличении поля более, чем 10х15 (по умолчанию) тормоза (на конфиге Sempron 1.6, 768mb ОЗУ, в.а. Radeon 9600).
  • antonn © (15.10.09 00:31) [243]
    вроде бы тормозит из-за вывода битмапа в UpdatelayredWindow(), точно сейчас не помню. Еще отключение "иконок" должно придать ускорения (даже не знаю, зачем я их туда запихал...)
  • CSS (16.10.09 10:33) [244]
    Это-то я догадался, но у меня слишком мелкий код и оба замера одинаковы...

    Так как там нельзя замерять-то (в посте 235)?

    И я ещё вот что подумал... А рисовать линии на битмапе как будет быстрее?
    Будет ли быстрее через "ScanLine" чем через стандартный "Image1.Canvas.LineTo()" ?
  • antonn © (17.10.09 00:53) [245]

    > Будет ли быстрее через "ScanLine" чем через стандартный
    > "Image1.Canvas.LineTo()" ?

    раз в 10 наверное...
  • Sapersky (17.10.09 16:08) [246]
    Я как-то сравнивал фастлибовские функции рисования линий с GDI-шными - примерно одинаково получилось. Откуда "раз в 10" - оно же не через Canvas.Pixels работает.
    Может быть, рисование специфических линий (толстых, пунктиром) в GDI помедленнее. Тоже как-то сравнивал - результаты плохо помню, вроде бы вручную быстрее, хотя и не в 10 раз.
  • CSS (17.10.09 20:43) [247]
    Посоветовали попробовать с "Обобщённым алгоритмом Брезенхэма", но чтот не найду именно обобщённого...

    Вы через него рисовали?
  • antonn © (17.10.09 22:25) [248]
    тьфу, прочел рисование по линиям, типа подряд пипкселы перебирать :)
  • Sapersky (18.10.09 16:58) [249]
    Посоветовали попробовать с "Обобщённым алгоритмом Брезенхэма", но чтот не найду именно обобщённого...
    Вы через него рисовали?


    Сам я реализаций Брезенхема в обозримом прошлом не писал, использовал фастлиб, какая там реализация - особо не вникал. С толстыми линиями - кажется, там только горизонтальные/вертикальные линии были (и поэтому сравнение с GDI не вполне честное :)).
    Можно посмотреть исходники других библиотек - в Graphics32 наверняка есть рисование линий, в Antigrain (AggPas).
    Но это имеет смысл только если нужны какие-то особые спецэффекты вроде полупрозрачности/антиалиасинга, а так GDI вполне справляется.
  • DVM © (20.10.09 20:54) [250]

    > Но это имеет смысл только если нужны какие-то особые спецэффекты
    > вроде полупрозрачности/антиалиасинга, а так GDI вполне справляется.
    >

    Кстати, по поводу антиалиазинга. Программы типа Adobe Illustrator особо не заморачиваются с антиалиазингом отдельных линий, а сглаживают всю сцену уже после рисования всего.
  • dsoft © (04.01.10 23:38) [251]

    > Sapersky
    > В FastLIB есть пример рисования плазмы:


    Вопрос на засыпку. ScreenSaver Points Ваша программа? Если да, то как с Вами связаться?
  • dsoft © (05.01.10 02:05) [252]

    > DomiNickDark   (17.03.09 11:53) [101]
    > Проблема проста - предпросмотр СкринСейвера не работает.



    В XP стандартные примеры предпросмотра не работают. Я использовал такой вариант:

     ParentWnd := StrToInt(ParamStr(2));
     while not IsWindowVisible(ParentWnd) do
       ProcessMessages;

     GetWindowRect(ParentWnd, PreViewRect);

    то есть ждём пока XP не отдаст нам нужный контекст и только тогда отрисовываем. Проблемы исчезли.

  • antonn © (05.01.10 02:44) [253]
    в drkb есть пример который работает
  • Sapersky (06.01.10 03:42) [254]
    ScreenSaver Points Ваша программа? Если да, то как с Вами связаться?

    Морфинг геом. фигур с аппаратным рендером - да.
    sapersky[собака]mail.ru
    Хотя вопросы по реализации лучше задавать на форуме.
  • гарри (01.11.15 21:17) [255]
    Удалено модератором
    Примечание: Задай свой вопрос в отдельной ветке
 
Конференция "Игры" » Быстрый канвас [Delphi, Windows, ХР]
Есть новые Нет новых   [134427   +38][b:0.001][p:0.001]