Но, к слову, реальности-то в этом нет. Т. е. здесь именно эффект 3д, а не перспективы (другими словами без изюма, не доделано).
Т. е., по идее, прямоугольники должны были бы превращаться в трапеции, что ли, а не как будто они просто, как флажки на ветру, по часовой стрелке крутятся. Экран-то, все-таки, плоский.
Пользовался подобной программой несколько лет назад. Тогда еще не было мультизаданости и работы в фоне, поэтому для таких программ необходимо был все время включенный дисплей с отключенной автоблокировкой (понятно, почему нужна была зарядка).
С тех пор все изменилось, однако опровергнуть вашу информацию не могу (действительно ли, по-прежнему, выжрет за ночь все 100 % подобное работающее в фоне приложение). Экран хоть теперь и не нужно отключать, но, возможно, просто нет такого агента, который был передавал приложению инфу о положении устройства в в фоне (аналогично, например, имеющемуся gps-агенту). А если его нет, то и неудивительно, что батарейка будет очень быстро садиться.
Ну вот уже есть, как минимум 3 сладейра в системе: (в приложении music; для айпада точно) + два слева от списка запущенных задач (громкость текущего аудиоприложения, необязательно music; и яркость в айпаде) :-).
Опять же не претендую на правоту, но возможно у вас было неправильно организованное ui-дерево, приводившее к перерисовке всего интерфейса, а не некоторых частей.
Приведу похожий пример с сильверлайтом: достаточно корневому бордеру добавить shadow-эффект, как мигание курсора внутри текстбокса глубоко внутри этого бордера будет приводить к тому, что будут перерисовывать абсолютно все контролы внутри этого бордера (проц при этом может уходить и в 50-процентную загрузку).
Стоит же эту тень применить к пустому бордеру и просто поместить его на заднем плане первоначального бордера, как всё будет ок (мигание курсора в текстбоксе будет приводить только к перерисовке текстбокса) и проц вообще не будет жраться.
Рекомендую опцию EnableRedrawRegions, чтобы наглядно видеть, что где перерисовывается и выискивать подобные узкие места. А там уже битмапкэш и прочие фичи специально для оптимизации анимации.
Пацаны подсказывают, что это точно так же, как вы спортивные штаны в носки заправляете и туфли носите — внимание к деталям называется (нечасто в наше время встретишь).
Вы неправильно на это смотрите :-) Это же гениальная идея для нового приложения — фонарик, который светит всегда в одно и то же место, несмотря на то, как трясутся руки.
Хотя пересмотрел видео: похоже не на поворот, а просто на несколько картинок с, одна над другой. В зависимости от угла наклона устройства, увеличивается или уменьшается прозрачность. Хотя, конечно, можно было бы и вручную отрисовывать ширину этих бликов (если иконка рисуется в реальном времени). Так или иначе, любой из этих вариантов копеечен для встроенного аппаратного ускорения.
Ну в сорсы эппловские мы не глянем, но подозреваю, что очень легко: значения датчиков положения считываются постоянно. В завимости от изменения этих значения вычисляется угол поворота статичной картинки — происходит анимация.
Т. е., по идее, прямоугольники должны были бы превращаться в трапеции, что ли, а не как будто они просто, как флажки на ветру, по часовой стрелке крутятся. Экран-то, все-таки, плоский.
Сожалеем об этом».
С тех пор все изменилось, однако опровергнуть вашу информацию не могу (действительно ли, по-прежнему, выжрет за ночь все 100 % подобное работающее в фоне приложение). Экран хоть теперь и не нужно отключать, но, возможно, просто нет такого агента, который был передавал приложению инфу о положении устройства в в фоне (аналогично, например, имеющемуся gps-агенту). А если его нет, то и неудивительно, что батарейка будет очень быстро садиться.
Приведу похожий пример с сильверлайтом: достаточно корневому бордеру добавить shadow-эффект, как мигание курсора внутри текстбокса глубоко внутри этого бордера будет приводить к тому, что будут перерисовывать абсолютно все контролы внутри этого бордера (проц при этом может уходить и в 50-процентную загрузку).
Стоит же эту тень применить к пустому бордеру и просто поместить его на заднем плане первоначального бордера, как всё будет ок (мигание курсора в текстбоксе будет приводить только к перерисовке текстбокса) и проц вообще не будет жраться.
Рекомендую опцию EnableRedrawRegions, чтобы наглядно видеть, что где перерисовывается и выискивать подобные узкие места. А там уже битмапкэш и прочие фичи специально для оптимизации анимации.