Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.01.2011, 23:05
lunariusis вне форума Посмотреть профиль Отправить личное сообщение для lunariusis Найти все сообщения от lunariusis
  № 11  
Ответить с цитированием
lunariusis
 
Аватар для lunariusis

Регистрация: Feb 2006
Сообщений: 12
Прочитайте про версию 10.1 там четко написано что это новая фича у плейера, так борятся с нагрузкой на проц в Adobe. И еще если есть фоновый звук тогда флешка не стопится, не проверял на счет звука, но без звука стопится 100%


Последний раз редактировалось lunariusis; 22.01.2011 в 23:07.
Старый 22.01.2011, 23:32
Angelinka вне форума Посмотреть профиль Отправить личное сообщение для Angelinka Найти все сообщения от Angelinka
  № 12  
Ответить с цитированием
Angelinka

Регистрация: May 2009
Сообщений: 45
Цитата:
Сообщение от lunariusis Посмотреть сообщение
Прочитайте про версию 10.1 там четко написано что это новая фича у плейера, так борятся с нагрузкой на проц в Adobe. И еще если есть фоновый звук тогда флешка не стопится, не проверял на счет звука, но без звука стопится 100%
Придурки эти адобовцы! Раз уж сделали такую фигню то сделали бы и возможности ее обойти! Нужно учитывать все нюансы при внедрении таких решений. Со звуком как-то странно, приложение не останавливается полностью, а замедляется немного.. К сожалению, полностью это проблему не решит. Скорее всего придется все переписывать под интервалы Хотя, в этом же описании написано что интервалы тоже замедляются

Старый 23.01.2011, 03:28
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 13  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
Вообще исходя из задачи ("И у одного и у второго пользователя должно быть на экране то же самое.") вроде бы следует что всей обработкой данных должен заниматься сервер, а у клиентов должно идти только отображение, которое не зависит от скорости выполнения флеша или частоты кадров. Может быть вы перемудрили чего, и не все так страшно.

Старый 23.01.2011, 21:46
Angelinka вне форума Посмотреть профиль Отправить личное сообщение для Angelinka Найти все сообщения от Angelinka
  № 14  
Ответить с цитированием
Angelinka

Регистрация: May 2009
Сообщений: 45
Цитата:
Сообщение от rainbowrussia Посмотреть сообщение
Вообще исходя из задачи ("И у одного и у второго пользователя должно быть на экране то же самое.") вроде бы следует что всей обработкой данных должен заниматься сервер, а у клиентов должно идти только отображение, которое не зависит от скорости выполнения флеша или частоты кадров. Может быть вы перемудрили чего, и не все так страшно.
Это система боя для онлайн игры. Баталии происходят во флеше. Нужно чтобы и одного и у второго пользователя отображался один исход баталий. Даже если у кого-то процессор работает медленнее - на исход боя это не должно влиять, так как бой окончиться просто чуть позже, чем у второго игрока, но главное чтобы результат был один = кто-то выиграл, второй проиграл. А с этой проблемой получается что исход нарушается

Старый 23.01.2011, 22:03
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 15  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
Так это делается иначе - игроки производят некоторые действия, действия отправляются на сервер, сервер делает обсчет игровой ситуации и выдает всем игрокам текущую ситуацию, которая визуализируется. Примерно так. В противном случае вы никогда не добъетесь 100% идентичных результатов. Хотя бы из-за того, что например функция Math.random (если элемент случайности присутствует) на разных компьютерах дает разные результаты. То есть вы изначально пошли по неверному пути, не изучив основы онлайн игр, имхо.

Старый 24.01.2011, 11:48
lunariusis вне форума Посмотреть профиль Отправить личное сообщение для lunariusis Найти все сообщения от lunariusis
  № 16  
Ответить с цитированием
lunariusis
 
Аватар для lunariusis

Регистрация: Feb 2006
Сообщений: 12
Цитата:
Сообщение от rainbowrussia Посмотреть сообщение
Так это делается иначе - игроки производят некоторые действия, действия отправляются на сервер, сервер делает обсчет игровой ситуации и выдает всем игрокам текущую ситуацию, которая визуализируется. Примерно так. В противном случае вы никогда не добъетесь 100% идентичных результатов. Хотя бы из-за того, что например функция Math.random (если элемент случайности присутствует) на разных компьютерах дает разные результаты. То есть вы изначально пошли по неверному пути, не изучив основы онлайн игр, имхо.
Дополню вас. Если это "реал тайм" то тогда каждый ход обсчитывает/проверяет сервер (для пошаговой, раундовой игры), и сразу же передает клиентам, и тем что не в своем раунде и тем что в своем раунде, плюс обсчитывает ботов. По этому скорее всего фигурки на поле просто перелетят на свои актуальные позиции после перехода на скрытую вкладку, если конечно сделасть синхронизацию хотя-бы на начало каждого полураунда.

Старый 24.01.2011, 14:42
Angelinka вне форума Посмотреть профиль Отправить личное сообщение для Angelinka Найти все сообщения от Angelinka
  № 17  
Ответить с цитированием
Angelinka

Регистрация: May 2009
Сообщений: 45
Цитата:
Сообщение от rainbowrussia Посмотреть сообщение
Так это делается иначе - игроки производят некоторые действия, действия отправляются на сервер, сервер делает обсчет игровой ситуации и выдает всем игрокам текущую ситуацию, которая визуализируется. Примерно так. В противном случае вы никогда не добъетесь 100% идентичных результатов. Хотя бы из-за того, что например функция Math.random (если элемент случайности присутствует) на разных компьютерах дает разные результаты. То есть вы изначально пошли по неверному пути, не изучив основы онлайн игр, имхо.
Я так и сделала... Вот эта ситуация, которая визуализируеться - она визуализируеться по-разному если один из пользователей переключится на другую вкладку... В этом-то и проблема. У одного визуализировалось буд-то он выиграл а на самом деле проиграл. Выходит два победителя - а так быть не может в нашем случае

Старый 24.01.2011, 16:20
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 18  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
Цитата:
Сообщение от Angelinka Посмотреть сообщение
Я так и сделала... Вот эта ситуация, которая визуализируеться - она визуализируеться по-разному если один из пользователей переключится на другую вкладку... В этом-то и проблема. У одного визуализировалось буд-то он выиграл а на самом деле проиграл. Выходит два победителя - а так быть не может в нашем случае
Такого быть не может. Если ролик получил данные "я проиграл", и при этом рисует на экране выигрыш - это никак не связано с проблемой остановки ролика. Тем более что они не останавливаются, а лишь замедляются. Склоняюсь к наличию ошибок в алгоритмах.

Старый 25.01.2011, 15:21
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 19  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Коммент.
1. При входе в игру написать, что использовать вкладки нельзя, и откройте флэшку в отдельном окне.
2. Грузить флэшку в попап. При этом они должны быть разблокированы.
Код AS1/AS2:
on (press) 
{
getURL("javascript:NewWindow=window.open('/media/navbar/astradio.html','newWin','width=500,height=90,left=0,top=0,toolbar=No,location=No,scrollbars=No,status=No,resizable=No,fullscreen=No');  NewWindow.focus();     screen_height = window.screen.availHeight; screen_width = window.screen.availWidth; left_point = parseInt(screen_width/2)-(500/2); top_point = parseInt(screen_height/2)-(90/2); setTimeout('NewWindow.moveTo(left_point,top_point)',100); void(0);");
}
Флэшка в отдельном окно - не тормозится.
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 27.01.2011, 16:09
Angelinka вне форума Посмотреть профиль Отправить личное сообщение для Angelinka Найти все сообщения от Angelinka
  № 20  
Ответить с цитированием
Angelinka

Регистрация: May 2009
Сообщений: 45
Цитата:
Сообщение от dark256 Посмотреть сообщение
Коммент.
1. При входе в игру написать, что использовать вкладки нельзя, и откройте флэшку в отдельном окне.
2. Грузить флэшку в попап. При этом они должны быть разблокированы.
Код AS1/AS2:
on (press) 
{
getURL("javascript:NewWindow=window.open('/media/navbar/astradio.html','newWin','width=500,height=90,left=0,top=0,toolbar=No,location=No,scrollbars=No,status=No,resizable=No,fullscreen=No');  NewWindow.focus();     screen_height = window.screen.availHeight; screen_width = window.screen.availWidth; left_point = parseInt(screen_width/2)-(500/2); top_point = parseInt(screen_height/2)-(90/2); setTimeout('NewWindow.moveTo(left_point,top_point)',100); void(0);");
}
Флэшка в отдельном окно - не тормозится.
Спасибо за подскажку, но это ведь не совсем решает проблему, мои заказчики на такое не согласяться. Тем более, что окно всегда можно просто свернуть и тогда та же беда..

Добавлено через 5 минут
В общем, ребята, капец полный. Готовлю веревку и мыло, до слез обидно.. Переписывала флешку под интервалы долго и нудно, как мне все посоветовали и флешка все равно стопится. Но я нашла зато наконец официальное заявление от adobe что да как:

SWF is Invisible:
* SWF frame rate is clocked down to 2 frames/sec. No rendering occurs unless the SWF becomes visible again.
* timers (AS2 Interval and AS3 Timers) are clocked down to 2 a second.
* local connections are clocked down to 2 a second.

Получается что все интервалы сбрасываются до 2 выполнений в секунду, а уменя фреймрейт 30 кадров в секунду, 2 явно не хватает. Так же там написано, что если на заднем плане есть звук - то фреймрейт стает 8 кадров в секунду вместо 2. Но 8 кадров для анимации - это даже не смешно..

Вот так вот все печально заканчивается. Я в истерике, жить не хочеться..

Добавлено через 19 минут
Я нашла похожую ситуацию в другой игре, но там разработчики как-то решили эту проблему. Флешка вроде не тормозиться, но нагрузка на ЦП все равно падает если флешка не активна.. Вот ссылка на игру:
http://nonoba.com/wmarsh/starland-multiplayer-td
Если они как-то это сделали... Значит, возможно есть шанс..

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:21.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:21.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.