Показать сообщение отдельно
Старый 10.06.2007, 20:34   #6
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Re: Реализовал много травы

Это оправдано при маленьких размерах травяных квадратов и соотв. больших размерах травяной области. Тогда проверяются только квадраты на границе травы.
А, всё, понял. Точно, всё так, я просто не чётко разобрался в коде. Ну что-ж, тогда - еще один отдельный респект за идею!
...
Но реализация идеи имеет два недостатка:
0. В таком виде она фактически не может дать прирост скорости. Так метод, основанный на моем "решении", приведенном выше, работает в два-три раза быстрее, причём значительное увеличение площади отображаемого участка не слишком меняет картину. Многочисленные операции с типами и математический замер дистанции до точки сильно снижают производительность твоего кода. В то же время мой вложенный цикл и простые операции с двухмерным массивом хоть и осуществляются за бОльшее количество проходов, но выполняется намного быстрее. Увеличь GrassRadius, замерь миллисекунды- и увидишь. Чтоб твой метод по настоящему "полетел"- ему необходима дополнительная оптимизация.
1. В таком виде твой код имеет баг: заметную утечку памяти. Заметь, сколько создаётся активных точке- и сколько удаляется.

А какими ты тегами код обрамляешь?
[blіtz][/blіtz]
Сейчас попробую заменить на штатные [сode][/сode]
_________
Добавлено:
Да, теперь нормально.



Кстати, Ожегов рулит, его тоже иногда стоит юзать
Ага. А еще Даль и Гринченко. Кстати, то была шутка- высказывание в стиле раннего Имерсоналиса. Признаю, острота довольно нелепая и неуместная.
Впрочем, если серьезно- то фраза перегружена, но вполне правильна. Даже "этимология" упоминается вполне к месту. Я готов послушать доказательство обратного, но в другой теме. :p

(Offline)
 
Ответить с цитированием