Страница: 1 |
Страница: 1 |
Вопрос: WPFPS
Добавлено: 11.07.10 21:20
Автор вопроса: VβÐUηìt | Web-сайт:
Народ, есть ли нормальный способ управлять FPS в WPF? Частоту кадров по-моему можно настраивать у TimeLine, а мне нужно, чтобы она настраивалась у всей сцены сразу. То есть, поставить, чтобы он стремился не 60 кадрам в секунду, как он обычно любит, а к, скажем, 35. Стандартными средствами это вроде бы не сделать, тогда как? Хукнуть перерисовку и натыкать слипом? Или как?
Заранее благодарен.
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #1
Добавлено: 11.07.10 22:27
Попробуй
Можно еще попробовать создать для класса Timeline стиль с указанием значения свойства Timeline.DesiredFrameRate
Номер ответа: 2
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #2
Добавлено: 12.07.10 00:17
Да, я эту васю уже пробовал. Но она - для таймлайна, ибо событие CompositionTarget.Rendering все равно вызывается кучу раз и произвольно. Мне необоходимо как-то контролировать процесс рендеринга кадров, чтобы выводить равномерно n кадров в секунду (если конечно производительности хватает), при этом анимаций может быть несколько и они могут быть созданы не встроенными средствами, а, скажем кодом. Или тем же FarseerPhysics.
Номер ответа: 3
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #3
Добавлено: 12.07.10 08:22
Какая разница чем они созданы, они все равно должны наследоваться от Timeline. Если они наследуются от чего-то другого, значит стандартные механизмы для них будут неприменимы.
Номер ответа: 4
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #4
Добавлено: 12.07.10 10:19
В этом и суть. Они созданы с помощью кода в CompositionTarget.Rendering. Не уверен, что этот код как-то наследуется от TimeLine. Нужно как то заставить WPF перерисовывать все по команде, а не по собственному усмотрению. Стандартных средств здесь нет, вопрос, как подлезть? Неужели никто не сталкивался с этой проблемой?
Номер ответа: 5
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #5
Добавлено: 18.07.10 15:27
Нашел как сделать. Но не расскажу
Номер ответа: 6
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #6
Добавлено: 18.07.10 23:24
Интересно было бы узнать как решил проблему. Хотя и не нужно пока.
А ты уверен что в следующий раз на твой вопрос не ответят "Я знаю как сделать. Но не скажу"?
Номер ответа: 7
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #7
Добавлено: 19.07.10 18:31
Будет стимул сразу разбираться самому Могу сказать, что проблема частоты кадров никак не связана с анимациями, и их обеих пришлось решать отдельно. Лютое, бешеное и очень-очень сложное извращение, которое позволило получить 100% управление над процессом, но из-за своею лютости и сложности стало технологическим секретом. Так-то.