![]() |
Какой hittest быстрее?
Уважаемые флэшеры!
Вот пытаюсь сделать меньшую нагрузку на проц в своей игрухе, очередь дошла до hittestа до этого он был просто Код:
mc1.hitTest(mc2),Код:
mc1.hitTest(mc2.x,mc2.y,false)Вроде во втором случае стало побыстрее, но я не уверен, если кто знает, что лучше для меньшей нагрузки или где про это можно почитать пишите. Спасибо. |
забиваешь хитТест в цикл(i=0;i <= 500), с помощью getTimer() определяешь время работы данного учатска кода(цикла). Меняешь параметры hitTest() и делаешь выводы.
|
Можно ещё попользовать хиттест битмапдаты, он более гибок.
|
Ну вот потестил,
пришел доложиться о результатах значит у меня получилось, что на 100000 хиттесов у функции вида Код:
mc1.hitTest(mc2) //ушло около 1300 мстогда нам приходится еще localToGlobal юзать, который сам посибе жрет около 1600 мс а вместе: Код:
coord.x=mc2._x:bye: о битмапном хите я даже и не думал, он тяжелее по определению ( или мне так кажется?) |
Цитата:
|
Цитата:
В игре где взаимодействуют множество клипов с кучей вложенных эти вычисления обойдутся в несколько раз дороже. |
пользуй хиттест от bitmapData. он быстрее
|
откровенно говоря, я лично результатами автора сильно удивлен! по идее, hitTest(,,true) должна выполняться на ПОРЯДОК дольше hitTest(,,false) - если я правильно понимаю, в последнем варианте сравнение идет просто по координатам (несколько арифметических функций), а в первом - проверяется наложение ВСЕХ элементов клипа.
или это происходит по-другому? может быть флеш кэширует векторные ролики в битмапах - и проверяет только наличие точки в маске? тогда по-идее скорость c bitmapData должна быть сравнима... |
Firelord, прочитайте в хелпе, за что отвечает третий параметр и когда он необходим.
|
Цитата:
по этой причине он не подходит |
ясно... тогда тот хиттест, в котором указанны координаты - быстрее... на пару операций как минимум (:
|
пользуй систему тайлов и многомерных масивов и будет тебе счастье...
З.Ы. хитТест годиться только для примеров из хэлпа макромедии. ИМХО |
Цитата:
что есть "система тайлов и многомерных массивов"? |
Есть такой человек Nox Noctis...
Хароший такой человек... явно не редиска Перевёл он очень полезную статью об этом и выложил он её вот сюда |
Цитата:
Ой ни, я сию и подобные статейки еще на заре своего флэшерства изучал, такие системы абсолютно неуместны и гораздо более трудозатратны в моем случае... и уж точно не быстрее хит теста... |
Такая система не может быть медленее хитТеста :))) хоть ты умри...
Если тебе надо проверить на столкновение или пересечение 3! объекта и ты уверен что их будет три, максимум 20, тогда конечно можно обойтись .... но если их будет 200 и тебе будет нужен порядочный фпс а не жалких 10-20 то хитТестик тупо загнется А сложного ничего в ней нету и она очень проста в реализации |
| Часовой пояс GMT +4, время: 16:58. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.