2013-04-09 3 views

ответ

3

Да, есть разница.

мне удалось найти полезную информацию:

От http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj662943(v=vs.105).aspx, под «The Direct3D с XAML шаблоном проектом»

«Этот шаблон рекомендуется, если вы хотите создать игру, которая использует только управляемое приложение как тонкую оболочку вокруг существенно родной игры, чтобы воспользоваться некоторыми функциями, доступными только для управляемых приложений, такими как живые фрагменты. Этот шаблон использует элемент управления DrawingSurfaceBackgroundGrid для отображения графики Direct3D на экране. В отличие от элемента управления DrawingSurface, этот элемент управления должен располагаться в корне дерева XAML и всегда покрывает весь экран. Как и другие templat e, код Direct3D для рендеринга графики реализован в отдельном компоненте Windows Phone Runtime. Частота кадров Direct3D с XAML-приложением немного лучше, чем XAML с приложением Direct3D. «

И от http://tiptoptool.com/tag/sdk/ под„DrawingSurfaceBackgroundGrid“

» DrawingSurfaceBackgroundGrid очень специальный элемент, который всегда должен быть корневым элементом страницы и позволяет разработчикам оказывать непосредственно на задний план из Direct3D с использованием C++. DrawingSurfaceBackgroundGrid, как следует из его названия, наследует от Grid, поэтому вы можете позиционировать дочерние элементы, используя макет сетки. Детальные элементы автоматически формируются платформой поверх визуализированного фона Direct3D. DrawingSurfaceBackgroundGrid позволяет разработчикам визуализировать напрямую, вместо того, чтобы требовать копию (через цепочку подкачки Direct3D), например DrawingSurface, что приводит к более высокой производительности. DrawingSurfaceBackgroundGrid был представлен для поддержки игр или других приложений, для которых требуется графическая производительность «для металла», но также хотят использовать существующие элементы XAML для пользовательского интерфейса и иметь доступ к некоторым функциям, недоступным в родной модели приложения, например, «Живые фрагменты» или «0»

0

Основное отличие состоит в том, что DrawingSurface следует использовать для рисования только части экрана, например. в контроле.

С другой стороны, DrawingSurfaceBackgroundGrid для полноэкранного использования, потому что элемент выступает в качестве сетки, т.е. вы можете добавить элементы XAML внутри его и расположить их так, как будто вы используете макет сетки верхнего уровня.

Что касается производительности, я бы сказал, что для полноэкранного использования последняя форма более совершенна, хотя я не могу утверждать, что это факт.

+0

последние 5-7% быстрее, но и более ограничительный характер, так как есть должны быть полный экран и фона только. – dotMorten

+0

но она служит разные так что это не так уж плохо. –

0

Другим основным отличием является то, DrawingSurfaceBackgroundGrid не поддерживает ориентацию. он всегда использует портрет.

Смежные вопросы