7.01.2015 / 21:04 | |
RblSb Пользователь Сейчас: Offline
Регистрация: 25.07.2011
| Из-за низкого фпс происходит плохое реагирование на сенсор, как вынести его в отдельный поток? И еще, чтобы во втором потоке можно было рисовать (Canvas, я так понимаю, при рисовании в отдельном потоке графика может вылетать в любом слое, но на это пофиг, нужно для отладки) Изменено RblSb (7.01 / 21:08) (всего 1 раз) |
8.01.2015 / 00:27 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| RblSb, не обработку сенсора надо в отдельный поток выносить, а то, что так фпс сжирает.
__________________
let live |
8.01.2015 / 01:20 | |
RblSb Пользователь Сейчас: Offline
Регистрация: 25.07.2011
| aNNiMON, Мне нужно чтобы в самой игре оставалось 15 фпс, на этом держится вся анимация в игре (исходники декомпилированные, AE2 собственно)
|
8.01.2015 / 01:27 | |
eNvisible Пользователь Сейчас: Offline
Имя: **** Откуда: В России. Регистрация: 19.07.2014
| RblSb, А как у тебя анимация к фпс привязана? Если я правильно понял, тебе задержка кадров нужна. На мобилабе в примерах для дроида есть создание аним. спрайта и там есть такая тема с задержкой кадра независимо от фпс...
Изменено eNvisible (8.01 / 01:28) (всего 1 раз) |
8.01.2015 / 01:28 | |
Magatino Администратор Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| Цитата RblSb: aNNiMON, Мне нужно чтобы в самой игре оставалось 15 фпс, на этом держится вся анимация в игре (исходники декомпилированные, AE2 собственно)Ну выграешь один кадр от сенсора (это максимум, если повезёт), и что тебе это даст? |
8.01.2015 / 01:33 | |
Magatino Администратор Сейчас: Offline
Имя: Alexandr Откуда: Где Ленин родился. Simbirsk City Регистрация: 28.01.2011
| Цитата eNvisible: RblSb, На мобилабе в примерах для дроида есть создание аним. спрайта и там есть такая тема с задержкой кадраА если анимация будет быстрее fps или медленее, что делают? |
8.01.2015 / 01:37 | |
eNvisible Пользователь Сейчас: Offline
Имя: **** Откуда: В России. Регистрация: 19.07.2014
| Magatino, Я имею ввиду что смена кадра не привязана к фпс, а ко времени. А так конечно, если фпс будет 2 кадра, то и стессено никакой анимации не будет. А так если тормозить поток с управлением...
|
8.01.2015 / 03:15 | |
RblSb Пользователь Сейчас: Offline
Регистрация: 25.07.2011
| Magatino, 15 - это возможный максимум, а не минимум. Если делать больше - анимация будет рябить. А переписывать анимацию - не вариант.
|
8.01.2015 / 07:23 | |
St@SyaN Пользователь Сейчас: Offline
Откуда: Уфа Регистрация: 03.07.2012
| http://annimon.com/forum/?act=post&id=392347Есть люди, которые много работали со звуками на телефонах? Как там происходит временное их хранение? Просто есть необходимость воспроизводить их с минимальной задержкой, а загрузка звуков дело не быстрое.Сдается мне, что там никто не ответит, а сабж вопроса не привязан к конкретному ЯП. |
8.01.2015 / 10:42 | |
Naik Пользователь Сейчас: Offline
Имя: %name% Регистрация: 14.03.2010
| Цитата Magatino: А если анимация будет быстрее fps или медленее, что делают? пропускают кадры. Я делал массив картинок с анимацией, и запоминал время запуска. Затем в методе отрисовки выбирал нужный индекс кадра: прошедшее время с момента запуска анимации делится на нужную задержку между кадрами и берется остаток от деления на количество кадров. long startTime;
Image[] frames;
final int FRAME_DELAY = 300;
final int len = frames.length;
void draw(Graphics g) {
if (startTime == 0) {
startTime = System.currentTimeMillis();
}
int n = (int)((System.currentTimeMillis() - startTime) / FRAME_DELAY) % len;
g.draw(frames[n], x, y, 20);
}
Можно еще выбирать кадр в завистмости от пройденного расстояния, а не время Изменено Naik (8.01 / 10:57) (всего 3 раза) |