Показать сообщение отдельно
Старый 06.02.2015, 13:12
Kaliostro вне форума Посмотреть профиль Отправить личное сообщение для Kaliostro Найти все сообщения от Kaliostro
  № 1  
Ответить с цитированием
Kaliostro

Регистрация: Feb 2015
Сообщений: 1
По умолчанию Оптимальный способ вращения "объемного" изображения

Всем доброго времени суток.

У меня такая проблема, мне нужно создать класс для вращения (в любой из плоскостей x, y или z) “объемного” изображения. В текущей моей задаче, нужно открывать "створки" “жалюзи”.

Я нашел вот такой пример:
http://wonderfl.net/c/68N4

И переделал его для своих нужд (пример в прикрепленном архиве, класс TriangleShapeTransformer). Получилось хорошо, все вращается красиво и т.д. Но, при больших картинках, fps падает с 60-ти до 40 (и это на достаточно сильной машине). Причем падает даже если не вращать, просто потому что объекты находятся на экране.
Попробовал упростить и повращать просто картинку (одну грань), на базе той же реализации (пример в прикрепленном архиве, класс TriangleImageTransformer). Стало чуть лучше, но, все равно, fps падает до 50-ти.

Мне кажется, я что-то упускаю и все тоже самое можно сделать проще. Возможно создается слишком много элементов на сцене. Плюс я так и не понял как происходить скалирование в том примере и забил его просто как маджик_намбер.

Пример класса, где я создаю все элементы и помещаю на сцену, а также картинки, которые я использую, я также добавил в прикрепленном архиве (класс Foo, картинки boder и front, а также уже увеличенная front2).

Был ли у кого-то опыт решения такой задачи? Как можно реализовать это проще и менее "затратно"?
На данной задаче, падение fps для меня очень критично, потому что дальше, за "жалюзи", должна будет открываться большая анимация...

TriangleTransformers.zip