XGRIDSDocumentation
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Lixel CyberColor

    • LCC Studio

      • Prise en main
      • Version et mises à jour
      • Téléchargement et installation
      • Aperçu de l’interface et navigation
      • Avant la reconstruction
      • Reconstruction du modèle
      • Reconstruction d’un modèle unique
      • Fusion cartographique
      • Fusion aérienne-terrestre
      • Reconstruction aérienne
      • Mes modèles
      • Autres fonctionnalités
      • Paramètres et compte
      • Convertisseur
      • Reconstruction vidéo
      • Questions fréquentes
    • LCC Scene Editor

      • Version et mises à jour
      • Compte et connexion
      • Présentation du produit et accueil
      • Interface de l’éditeur
      • Modes de navigation de scène
      • Fichier
      • Paramètres
      • Opérations d’édition
      • Fenêtre
      • Barre d’outils globale
      • Ressources et propriétés
      • Barre d’outils gauche
      • Points de vue
      • Portail
      • Skybox
      • Annotations
      • Mesure
      • Parcours
      • Rapport de scène
      • 3D Layout
      • Mini-carte
      • Mode Prévisualisation, Viewer
      • Aide
      • FAQ
      • Point d’apparition
    • LCC Model Editor

      • Version et mises à jour
      • Guide de l’utilisateur
      • Aperçu et interface
      • Opérations sur les fichiers
      • Sélecteurs
      • Modification des modèles
      • Mesure
      • Réglage des couleurs
      • Gestion des ressources
      • Paramètres et aide
      • Questions fréquentes
  • Plugin & SDK

    • Unreal

      • Introduction
      • Démarrage rapide - Windows
      • Démarrage rapide - Linux
      • Démarrage rapide - Quest3
      • Éditions et licences
      • Rendu
      • Rastérisation Tiled (expérimental)
      • Réglages visuels
      • Normales et éclairage
      • Édition de scène
      • Paramètres de performance
      • Guide d'optimisation des performances
      • Intégration avec les plugins tiers et moteur
      • Maillage proxy
      • Animation de chargement
      • Collision
      • Prise en charge du système de navigation
      • Prise en charge de l'eau à couche unique
      • Localisation
      • Questions fréquentes
      • Dépannage
      • Journaux et diagnostics
      • Nous contacter
      • Bonnes pratiques

        • Rééclairer un 3DGS avec un maillage LixelStudio
      • Référence API

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • Actors SOG / SPZ / PLY
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enums
        • Structs
      • Journal des modifications

        • v3.4.0
        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1

Rastérisation Tiled : l'autre chemin de rastérisation de LCC2

La pipeline LCC2 propose deux méthodes de rastérisation, choisies via la propriété Rasterizer de l'Actor : la valeur par défaut Pipeline utilise la pipeline de rendu du moteur, tandis que Tiled utilise un chemin de calcul par tuiles implémenté par le plugin.

Tiled est actuellement expérimental et relève de l'édition Pro. Il ne prend effet qu'après l'enregistrement d'une App Key, voir Éditions et licences.

Il augmente sensiblement la fréquence d'images dans la plupart des scènes denses, mais le gain dépend du contenu de l'image et de l'emplacement du goulot d'étranglement. Dans certaines scènes le gain est faible, et dans d'autres il n'y a aucun changement. Après l'avoir activé, confirmez le résultat par la mesure, comme décrit dans Déterminer si cela apporte un gain. Ne supposez pas qu'il est toujours plus rapide.

Note : « tuile » désigne ici des tuiles de pixels écran, ce qui est différent du « rendu par blocs » décrit dans Rendu, qui charge les nœuds selon la visibilité caméra. Le premier décide comment les données déjà en mémoire vidéo sont dessinées, le second comment les données entrent en mémoire vidéo. Ils sont indépendants et peuvent être actifs en même temps.

Différences entre les deux méthodes de rastérisation

Pipeline (par défaut)Tiled
RastérisationConfiée à la pipeline de rendu du moteur ; chaque splat est étendu en quad et le moteur remplit les pixelsDispatch de calcul personnalisé par le plugin ; les splats visibles sont d'abord répartis dans des tuiles écran, puis ombrés et composés tuile par tuile
TriUn tri global sur tous les splats visiblesTri segmenté par tuile écran ; chaque segment ne trie que les splats qui tombent dans cette tuile
MaturitéLe chemin par défaut de longue dateExpérimental
LicenceDisponible en édition gratuiteÉdition Pro

Le gain provient de deux effets : la portée du tri se réduit du global à une seule tuile écran, et les pixels ne sont traités que dans les tuiles qui les couvrent réellement, ce qui réduit le remplissage inutile dans les zones de recouvrement.

Le gain est donc lié au contenu de l'image : il est net quand la densité de splats est élevée et le recouvrement écran important, et il n'y a aucun changement observable quand l'image est éparse ou quand le goulot d'étranglement de la fréquence d'images ne se situe de toute façon pas dans le tri et le remplissage de pixels.

Le résultat visuel est identique dans les deux cas. Changer Rasterizer ne nécessite aucune autre modification de paramètre et n'affecte ni le chargement des données, ni le LOD, ni les volumes de découpe, ni l'éclairage, ni les réglages de couleur.

Comment l'activer

Dans la catégorie XGrids du panneau Details de l'Actor, réglez Rasterizer sur Tiled. La propriété se trouve juste après Render Mode et n'apparaît que lorsque Render Mode vaut 3DGS.

Appelez le setter depuis Blueprint ou C++ :

LCC2Component->SetRasterizer(ELCC2Rasterizer::Tiled);

Il existe deux getters, avec des rôles différents :

MéthodeValeur retournée
GetRasterizer()Le choix enregistré dans le panneau
GetEffectiveRasterizer()La rastérisation réellement active, une fois le contrôle de licence appliqué

Utilisez GetEffectiveRasterizer() pour confirmer que le chemin de rendu passe bien par Tiled.

Déterminer si cela apporte un gain

Comme le gain n'est pas garanti, mesurez avant et après le changement. La méthode correspond au Guide de performance :

  1. Fixez les conditions de test : même vue ou même trajectoire de caméra, même résolution et même Screen Percentage, tous les autres paramètres inchangés.
  2. Faites d'abord une passe de préchauffage pour exclure des mesures la compilation initiale des shaders et la première lecture disque.
  3. Relevez le temps d'image GPU sous Pipeline avec stat unit comme référence.
  4. Ne modifiez que Rasterizer et mesurez de nouveau la même vue.
  5. Répétez sur plusieurs vues représentatives, en particulier les images où les splats sont les plus denses et le recouvrement le plus important.

Si le temps d'image GPU ne baisse pas, le goulot d'étranglement actuel se situe hors du périmètre de ce chemin. Conservez Pipeline et continuez à localiser le véritable goulot d'étranglement avec le guide de performance.

Périmètre d'application

ÉlémentRemarques
PipelinePipeline LCC2 uniquement. ALCCActor (.lcc) ne possède pas cette propriété
Formats.lcc2 / .sog / .spz / .ply fonctionnent tous
Mode de renduMode 3DGS uniquement. Le mode nuage de points ignore la propriété et utilise toujours Pipeline
Moteur et RHIMême périmètre de prise en charge que le plugin lui-même ; D3D12 et Vulkan fonctionnent tous les deux
Vues multiplesLe rendu stéréo VR, nDisplay, l'écran partagé et SceneCapture sont tous pris en charge

Comportement sans licence

Régler Rasterizer sur Tiled sans App Key enregistrée ne provoque ni erreur ni échec de chargement. Le chemin de rendu revient automatiquement à Pipeline. Le choix enregistré dans le panneau n'est jamais écrasé ; il prend donc effet dès l'enregistrement de la licence, sans avoir à le redéfinir.

Pour savoir si Tiled est réellement utilisé, lisez la valeur retournée par GetEffectiveRasterizer() : en cas de repli elle retourne Pipeline, tandis que GetRasterizer() retourne toujours Tiled.

Note : vérifiez que la licence est valide avant de packager pour la diffusion, sinon la sortie packagée suit le comportement de l'édition gratuite et utilise Pipeline.

Quand conserver Pipeline

  • Le mode de rendu nuage de points est utilisé. La propriété n'a aucun effet dans ce cas, il n'y a donc rien à régler.
  • Des données .lcc sont chargées. La pipeline LCC ne possède pas ce chemin.
  • Projets en édition gratuite. Régler Tiled provoque de toute façon un repli, la valeur par défaut est donc plus claire.
  • La mesure ne montre aucune amélioration du temps d'image.
  • Le projet est entré en validation de livraison, où il vaut mieux éviter un chemin expérimental.

Tiled réduit le coût de l'étape de rendu ; il ne réduit pas le travail de chargement et de traversal. Quand le goulot d'étranglement se situe du côté du chargement des données, traitez d'abord le chargement et le LOD avec le Guide de performance.

Précédent
Rendu
Suivant
Réglages visuels