В настоящее время я работаю над проектом Win8, который использует C # и XAML для внешнего интерфейса приложения и C ++ с DirectX для графически интенсивной части.
Поскольку он в основном сосредоточен на графике и вводе в реальном времени, я решил использовать SwapChain, созданный для CoreWindow.
Хотя мне удалось запустить поток рендеринга, связав его с CompositionTarget, экран все еще черный. Код для рисования работает нормально, он работал с ImageSurfaceSource, я недавно переключился на SwapChain.
Даже если ни одна часть инициализации не возвращает никаких ошибок, может ли кто-нибудь из вас пролить свет на то, почему она ничего не рисует?
Точно такая же проблема, я использую цепочку обмена, весь экран становится черным.
По бэкэнду это с ++ компонент среды выполнения Windows, и фактический код выполнения находится в проекте C # win 8.
Тот же код начинает работать, помещенный в проект c ++.
(Я использовал коды взаимодействия здесь: Interop ) для представления SwapChainBackgroundPanel)
C ++ компонент среды выполнения Windows, берет swapchain и представляет.
Я добавляю этот компонент в пустое хранилище c ++, и рендер работает нормально.
Добавьте тот же проект компонента в пустое приложение хранилища C # // затем создайте swapChainPanel .. и передайте его. Это где я в конечном итоге с пустым экраном.
Я установил CompositionTarget.Rendering += OnRendering; // the render event
во время навигации. Теперь я отмечаю, что на самом деле никогда не ориентируюсь.
Так что рендерер никогда не вызывали … Добавление события в конструктор решило мой случай.
Других решений пока нет …