Megosztás a következőn keresztül:


Kiszolgálóméretek

Az Azure Remote Rendering két kiszolgálókonfigurációban érhető el: Standard és Premium.

Primitív korlátok

A primitív egy háromszög (háromszög alakú hálókban) vagy egy pont (pontfelhő-hálókban). A háromszög alakú hálók pontfelhőkkel együtt hozhatók létre, ebben az esetben a munkamenet összes pontjának és háromszögének összegét a korláthoz kell számítani.

Standard méret

A távoli renderelés méretkiszolgálóval Standard legfeljebb 20 millió primitív jelenettel rendelkezik. Ha a "Standard" kiszolgálóméretű renderelő eléri ezt a korlátozást, a renderelést egy ellenőrzőtábla-háttérre váltja:

Screenshot shows a grid of black and white squares with a Tools menu.

Prémium méret

A mérettel rendelkező Premium távoli renderelés nem kényszeríti ki a maximális korlátot, de a teljesítmény csökkenhet, ha a tartalom meghaladja a szolgáltatás renderelési képességeit. Továbbá a háromszög alakú hálók esetében (és a pontfelhőktől eltérően) a rendelkezésre álló grafikus memória mennyisége kemény korlát. A grafikus memória mennyiségét nem lehet adott számú háromszögre leképezni, mert számos tényező függ a forráshálótól és a beállításoktól:

Pontfelhők esetében nincs valós korlát, mivel a pontfelhő-objektumok az adatstreamelési megközelítést használják. Az adatstreamelés során a renderelő automatikusan kezeli a grafikus kártyán lévő memóriakeretet a tényleges látható geometria alapján.

A kiszolgáló méretének megadása

A kiszolgálókonfiguráció kívánt típusát a renderelési munkamenet inicializálási idején kell megadni. Futó munkameneten belül nem módosítható. Az alábbi példakódok azt a helyet mutatják be, ahol a kiszolgálóméretet meg kell adni:

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
        }
    });
}

A PowerShell-példaszkriptekhez meg kell adni a kívánt kiszolgálóméretet a arrconfig.json fájlban:

{
  "accountSettings": {
    ...
  },
  "renderingSessionSettings": {
    "vmSize": "<standard or premium>",
    ...
  },

Hogyan értékeli ki a renderelő a primitívek számát?

A korlátozási teszthez figyelembe vett primitívek száma a renderelőnek ténylegesen átadott primitívek (háromszögek és pontok) száma. Ez a geometria általában az összes példányosított háló összege, de vannak kivételek is. A következő geometria nem szerepel a szövegben:

  • Olyan betöltött modellpéldányok, amelyek teljesen kívül vannak a nézet frustum nézetén.
  • A hierarchikus állapot felülbírálási összetevővel láthatatlanná vált modellek vagy modellrészek.

Ennek megfelelően meg lehet írni egy olyan alkalmazást, amely több modellt tölt be úgy, hogy standard a primitív darabszám megközelíti az egyes modellek korlátját. Ha az alkalmazás egyszerre csak egyetlen modellt jelenít meg, a ellenőrzőtábla nem aktiválódik.

A primitívek számának meghatározása

Egy modell vagy jelenet primitívjeinek számát kétféleképpen határozhatja meg, amelyek hozzájárulnak a standard konfiguráció méretének költségvetési korlátjába:

  • A modellkonvertálási oldalon kérje le a konvertálási kimeneti json-fájlt, és ellenőrizze a bejegyzést az numFacesinputStatistics szakaszban. Ez a szám háromszög alakú hálókban lévő háromszögek számát, illetve pontfelhőkben lévő pontok számát jelöli.
  • Ha az alkalmazás dinamikus tartalommal foglalkozik, a renderelt primitívek száma futásidőben dinamikusan lekérdezhető. Használjon teljesítményértékelési lekérdezést, és ellenőrizze a két tag PolygonsRendered és PointsRendered PerformanceAssessment a szerkezet értékeinek összegét. A PolygonsRendered / PointsRendered mező akkor van beállítva, bad amikor a renderelő eléri a primitív korlátozást. A checkerboard háttér mindig elhalványul némi késéssel, hogy a felhasználói művelet végrehajtható legyen az aszinkron lekérdezés után. A felhasználói művelet például elrejtheti vagy törölheti a modellpéldányokat.

Árképzés

Az egyes konfigurációtípusok díjszabásának részletes lebontásához tekintse meg a Távoli renderelés díjszabási oldalát.

További lépések