Aracılığıyla paylaş


İşleme modları

Uzaktan İşleme iki ana işlem modu sunar: TileBasedComposition modu ve DepthBasedComposition modu. Bu modlar, iş yükünün sunucudaki birden çok GPU'ya nasıl dağıtıldığını belirler. Modun bağlantı zamanında belirtilmesi gerekir ve çalışma zamanı sırasında değiştirilemez.

Her iki modun da avantajları vardır, ancak doğal özellik sınırlamaları da vardır, bu nedenle en uygun modu seçmek kullanım örneğine özgüdür.

Modu

İki mod artık daha ayrıntılı olarak ele alınıyor.

'TileBasedComposition' modu

TileBasedComposition modunda, ilgili her GPU ekranda belirli alt yordamları (kutucuklar) işler. Ana GPU, kutucuklardan son görüntüyü istemciye video çerçevesi olarak gönderilmeden önce oluşturur. Buna göre, tüm GPU'ların işleme için aynı kaynak kümesine sahip olması gerekir, bu nedenle yüklenen varlıkların tek bir GPU'nun belleğine sığması gerekir.

MSAA her GPU için tam geometri kümesi üzerinde çalışabildiğinden, bu modda işleme kalitesi DepthBasedComposition modundan biraz daha iyidir. Aşağıdaki ekran görüntüsünde, antialiasing'in her iki kenar için de aynı şekilde düzgün çalıştığı gösterilmektedir:

MSAA in TileBasedComposition

Ayrıca, bu modda her parça saydam bir malzemeye geçirilebilir veya HierarchicalStateOverrideComponent aracılığıyla gözden geçirme moduna geçirilebilir

'DepthBasedComposition' modu

DepthBasedComposition modunda, ilgili tüm GPU'lar tam ekran çözünürlüğünde işlenir, ancak yalnızca bir ağ alt kümesi işlenir. Ana GPU'daki son görüntü bileşimi, parçaların derinlik bilgilerine göre düzgün bir şekilde birleştirilmesini dikkate alır. Doğal olarak, bellek yükü GPU'lar arasında dağıtılır ve böylece tek bir GPU'nun belleğine sığmayacak modellerin işlenmesine olanak tanır.

Her GPU, yerel içeriği kötü amaçlı olarak kullanmak için MSAA kullanır. Ancak, farklı GPU'lardaki kenarlar arasında doğal diğer adlar olabilir. Bu etki, son görüntünün işlenmesiyle azaltılır, ancak MSAA kalitesi yine de TileBasedComposition modundan daha kötüdür.

MSAA yapıtları aşağıdaki görüntüde gösterilmiştir: MSAA in DepthBasedComposition

Antialiasing heykel ve perde arasında düzgün çalışır, çünkü her iki parça da aynı GPU üzerinde işlenir. Öte yandan, perde ve duvar arasındaki kenarda bazı diğer adlar gösterilir çünkü bu iki bölüm ayrı GPU'lardan oluşur.

Bu modun en büyük sınırlaması, geometri parçalarının saydam malzemelere dinamik olarak geçirilememesi veya hiyerarşikStateOverrideComponent için gözden geçirme modunun çalışmamasıdır. Ancak diğer durum geçersiz kılma özellikleri (ana hat, renk tonu, ...) çalışır. Ayrıca dönüştürme zamanında saydam olarak işaretlenmiş malzemeler de bu modda düzgün çalışır.

Performans

Her iki modun performans özellikleri kullanım örneğine göre değişiklik gösterir ve bunu muhakeme etmek veya genel öneriler sağlamak zordur. Yukarıda belirtilen sınırlamalarla (bellek veya saydamlık/gözden geçir) kısıtlanmadıysanız, her iki modu da denemeniz ve çeşitli kamera konumlarını kullanarak performansı izlemeniz önerilir.

İşleme modunu ayarlama

Uzaktan İşleme sunucusunda kullanılan işleme modu, aracılığıyla RendererInitOptionssırasında RenderingSession.ConnectAsync belirtilir.

async void ExampleConnect(RenderingSession session)
{
    RendererInitOptions parameters = new RendererInitOptions();

    // Connect with one rendering mode
    parameters.RenderMode = ServiceRenderMode.TileBasedComposition;
    await session.ConnectAsync(parameters);

    session.Disconnect();

    // Wait until session.IsConnected == false

    // Reconnect with a different rendering mode
    parameters.RenderMode = ServiceRenderMode.DepthBasedComposition;
    await session.ConnectAsync(parameters);
}

API belgeleri

Sonraki adımlar