После долгих экспериментов с кэшированием растровых изображений мы отключили его в нашем приложении.Это хорошо работает, когда вы хотите использовать графический процессор для выполнения преобразований на части вашего пользовательского интерфейса, которая не изменяется - например, если у вас есть изображение, которое вы хотите анимировать, сжать, повернуть и т. Д. Но растровое изображениеускорение кэширования / графического процессора (в его текущей реализации) значительно замедляет процесс, если вы продолжаете обновлять визуальное дерево внутри той части вашего пользовательского интерфейса, которую вы хотите кэшировать / манипулировать.Если вы просто перемещаетесь по статическому растровому изображению, имеет смысл кэшировать его и использовать графический процессор для его ускорения.Но довольно часто вы можете настраивать фрагменты где-то вниз по визуальному дереву из фрагмента вашего пользовательского интерфейса, который вы отметили для кэширования, и если это происходит, вам нужно обновлять кэш GPU каждый кадр, и это медленно, медленно, медленно.
Другими словами, имеет ли смысл включать его или нет, полностью зависит от , где вы его включаете, и от того, что делает ваше приложение.По этой причине я настоятельно рекомендую, если вы используете кэширование растровых изображений или испытываете проблемы с производительностью в своем пользовательском интерфейсе Silverlight, необходимо (временно) включить визуализация кэша и области перерисовки .Делает ваше приложение чертовски забавным, когда они включены, но они неоценимы, когда дело доходит до того, чтобы увидеть, что делает ваш пользовательский интерфейс, который жует весь ваш процессор.