Могу ли я запустить несколько параллельных ID3DXRenderToSurface? - PullRequest
0 голосов
/ 24 ноября 2011

Можно ли создать несколько экземпляров ID3DXRenderToSurface и иметь их рендеринг параллельно в потоках?Это кажется маловероятным, но, поскольку некоторые аспекты DirectX все еще несколько ошеломляют меня, я решил спросить.

Ничего страшного, если это невозможно сделать.Просто приложение, над которым я работаю (к сожалению), разбивает рендеринг своего объекта на группы, которые рендерится на поверхности, а затем готовые поверхности рендерится в обратный буфер.Я просто подумал, что было бы неплохо, если бы все группы отображались параллельно, а не последовательно, если это возможно.

1 Ответ

0 голосов
/ 05 января 2012

Этот интерфейс позволяет вам выполнять рендеринг на обозначенную поверхность вместо заднего буфера.Для того, чтобы что-то отобразить, вам все равно нужно установить состояние устройства D3D и вызвать его методы.Интерфейс устройства в не поточно-ориентирован в D3D9.Итак, ответ: «Нет, вы не можете рендериться в нескольких потоках, идущих таким образом».Вы, вероятно, можете создать несколько устройств, рисовать участки и затем комбинировать полученные изображения на одном устройстве, но я сомневаюсь, что это даст много преимуществ (если вообще будет работать).используя DX11.

...