Jump to content
Korean Random
Plohish67

Микрофризы, какова их природа?

Recommended Posts

В том-то я дело, что я на видео фризов тоже не замечаю.

у Вспышки фриз происходит в момент, когда танк наезжает на забор, как раз в это время выскакивает сообщение о убитом товарище в его роте, посмотрите плиз внимательнее...

Share this post


Link to post

Short link
Share on other sites

На видео действительно есть фриз, но он очень кратковременный. Если не искать, на нормальной скорости почти не заметен.

Share this post


Link to post

Short link
Share on other sites

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

ftp://78.25.66.1/freezz1.mp4 ОСТОРОЖНО 47 мегабайт трафика

Edited by Plohish67

Share this post


Link to post

Short link
Share on other sites

Да, теперь вижу. Я, конечно, посмотрю что еще можно сделать, но вроде я оптимизировал все что возможно. текстовые поля кэшируются, иконки загружаются только при необходимости, все списки переделаны на объекты и т.д. Реально из динамики добавляются только иконки кланов, остальное если и может давать нагрузку, то минимальную.

В общем, я посмотрю сколько занимает по времени отрисовка в оригинале и моде, можно будет сравнить.

Вообще, когда я тестил, отрисовка ушей была без иконок ~80мс, а с иконками ~120мс - вот эти микрофризы как раз на это похожи.

Вообще, эти уши криво сделаны, их бы перелопатить полностью...

Share this post


Link to post

Short link
Share on other sites

Вообще, эти уши криво сделаны, их бы перелопатить полностью...

мне так изначально казалось, по тому что фризы частенько есть и без Вашего мода...

Share this post


Link to post

Short link
Share on other sites

Проел кое-какие исследования. Уши без мода перерисовываются за 9-10 мс. С модом - за 11-12, то есть на 1/5 дольше (оно и понятно - динамика добавляется). Ускорить этот момент я уже не могу, НО!!! Я вычислил, что уши перерисовываются при убийстве 4 раза! И это действительно проблема, так как 11-12 мс заметить глазом невозможно, а вот 40-50 - это уже похоже на то, что на видео.

В общем, это явно глюк ВГ, посмотрю что можно сделать.

Edited by sirmax

Share this post


Link to post

Short link
Share on other sites

В общем, вот что получается:

При убийстве любого игрока (своего/чужого, все равно) вызывается 4 раза метод setData, который перерисовывает уши:

1 - правые уши, текущее состояние

2 - правые уши, новое состояние

3 - левые уши, текущее состояние

4 - левые уши, новое состояние

1 и 3 - явно лишние, от них удалось избавиться. Вот определить кого убили (своего или чужого) тут нельзя, поэтому одна лишняя перерисовка все равно остается. Даже если бы можно было определить кого убили, я бы не рискнул на это завязываться, так как возможны ситуации, которые я не смогу предусмотреть.

В общем, вот новый PlayersPanel.swf, который должен работать в 2 раза быстрее чем предыдущий, и на 30-40% быстрее чем стандартный клиентский (если я ничего не напутал :)).

Share this post


Link to post

Short link
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...