Velikosti serverů
Azure Remote Rendering je k dispozici ve dvou konfiguracích serveru: Standard
a Premium
.
Primitivní limity
Primitivní je buď jeden trojúhelník (v trojúhelníkových sítích), nebo jeden bod (v bodových cloudových sítích). Triangular meshes can be instantiated with point clouds, in which case the sum of all points and triangles in the session are counted to limit.
Standardní velikost
Vzdálené vykreslování se serverem Standard
velikosti má maximální velikost scény 20 milionů primitiv. Když vykreslování na standardním serveru dosáhne tohoto omezení, přepne vykreslování na pozadí kontrolního panelu:
Velikost Premium
Vzdálené vykreslování s Premium
velikostí nevynucuje pevné maximum, ale výkon může být snížený, pokud váš obsah překročí možnosti vykreslování služby. Kromě toho pro trojúhelníkové sítě (a na rozdíl od mračna bodů) je dostupné množství grafické paměti pevný limit. Není možné mapovat množství grafické paměti na určitý počet trojúhelníků, protože existuje mnoho přispívajících faktorů, které závisí na zdrojové síti a nastavení:
- počet a rozlišení textur,
- množství jedinečné geometrie versus vytvoření instance podsítě uvnitř sítě (viz také vytváření objektů instance),
- používané datové proudy vrcholů ,
- režim vykreslování složení použitý s velikostí
Premium
.
Pro bodové cloudy neexistuje žádný skutečný limit, protože prostředky cloudových bodů používají přístup ke streamování dat. Při streamování dat renderer automaticky spravuje rozpočet paměti na grafické kartě na základě skutečné viditelné geometrie.
Zadejte velikost serveru.
Požadovaný typ konfigurace serveru se musí zadat při inicializaci relace vykreslování. Nejde ho změnit v rámci spuštěné relace. Následující příklady kódu ukazují místo, kde musí být zadána velikost serveru:
async void CreateRenderingSession(RemoteRenderingClient client)
{
RenderingSessionCreationOptions sessionCreationOptions = default;
sessionCreationOptions.Size = RenderingSessionVmSize.Standard; // or RenderingSessionVmSize.Premium
CreateRenderingSessionResult result = await client.CreateNewRenderingSessionAsync(sessionCreationOptions);
if (result.ErrorCode == Result.Success)
{
RenderingSession session = result.Session;
// do something with the session
}
}
void CreateRenderingSession(ApiHandle<RemoteRenderingClient> client)
{
RenderingSessionCreationOptions sessionCreationOptions;
sessionCreationOptions.Size = RenderingSessionVmSize::Standard; // or RenderingSessionVmSize::Premium
client->CreateNewRenderingSessionAsync(sessionCreationOptions, [](Status status, ApiHandle<CreateRenderingSessionResult> result) {
if (status == Status::OK && result->GetErrorCode() == Result::Success)
{
ApiHandle<RenderingSession> session = result->GetSession();
// do something with the session
}
});
}
V příkladu skriptů PowerShellu musí být v souboru zadána arrconfig.json
požadovaná velikost serveru:
{
"accountSettings": {
...
},
"renderingSessionSettings": {
"vmSize": "<standard or premium>",
...
},
Jak renderer vyhodnotí počet primitiv
Počet primitiv, které jsou považovány za test omezení, jsou počet primitiv (trojúhelníky a body), které jsou skutečně předány rendereru. Tato geometrie je obvykle součtem všech instancí součinů, ale existují i výjimky. Následující geometrie není zahrnuta:
- Načtené instance modelu, které jsou plně mimo zobrazení frustum.
- Modely nebo části modelu, které jsou přepnuty na neviditelné, pomocí komponenty přepsání hierarchického stavu
Proto je možné napsat aplikaci, která cílí na standard
velikost, která načítá více modelů s primitivním počtem blízko limitu pro každý model. Pokud aplikace zobrazuje jenom jeden model najednou, checkerboard se neaktivuje.
Určení počtu primitiv
Existují dva způsoby, jak určit počet primitiv modelu nebo scény, které přispívají k limitu standard
rozpočtu velikosti konfigurace:
- Na straně převodu modelu načtěte výstupní soubor JSON převodu a zkontrolujte
numFaces
položku v části inputStatistics. Toto číslo označuje počet trojúhelníků v trojúhelníkových sítích a počtu bodů v bodových cloudech. - Pokud vaše aplikace pracuje s dynamickým obsahem, může se počet vykreslovaných primitiv dynamicky dotazovat během běhu. Použijte dotaz posouzení výkonu a zkontrolujte součet hodnot ve dvou členech
PolygonsRendered
aPointsRendered
ve struktuřePerformanceAssessment
. PolePolygonsRendered
/PointsRendered
je nastaveno, kdyžbad
renderer dosáhne primitivního omezení. Pozadí kontrolního panelu se vždy ztratí s určitým zpožděním, aby se zajistilo, že po tomto asynchronním dotazu může být provedena akce uživatele. Akce uživatele může například skrýt nebo odstranit instance modelu.
Ocenění
Podrobný rozpis cen jednotlivých typů konfigurace najdete na stránce s cenami vzdáleného vykreslování.