Если вы разрабатываете для Xbox 360, вы должны быть осторожны с целями рендеринга. Xbox 360 имеет специальную память (10 МБ) для хранения целей рендеринга, включая ту, которая использовалась для рендеринга на экране.
Пока вы не превышаете 10 МБ, переключение с одной цели рендеринга на другую не оказывает влияния, даже с PreserveContents, поскольку все цели рендеринга хранятся в этой специальной памяти.
Однако, если у вас есть более 10 МБ целей рендеринга с PreserveContents, этот атрибут должен эмулироваться путем постоянного переключения цели рендеринга обратно из обычной памяти.
Таким образом, количество целей рендеринга не так важно, как их общий размер. Вы можете узнать размер цели рендеринга по этой формуле:
size (bits) = width x height x color data size (bits)
Размер цветных данных на Xbox 360 составляет 32 бита, поэтому, например, если пользователь вашей библиотеки разрабатывает свою игру в HD без единой цели визуализации, кроме основной, он будет использовать:
3,515625MB = 29491200 bits = 1280 x 760 x 32 bits
Кроме того, вам следует избегать динамического создания целей рендеринга. Это стоило слишком дорого. Вы должны создать пул статических целей рендеринга, размещенных в начале игры, и ваши GUI-компоненты запрашивают их.