Boutique Cinema 4D
Affichage des résultats 1 à 11 sur 11

Discussion: Viewport trés lent...

  1. #1
    Dépendant
    Date d'inscription
    décembre 2005
    Messages
    302

    Viewport trés lent...

    Salut Tout le monde,

    Je travail actuellement sur une animation un peu complexe et mon viewport devient extrêmement lent...
    Si je lance mon animation je me trouve à 5 images secondes, je suis normalement à 25...
    Du coup je me demandais si vous connaissiez quelques astuces pour accélérer l'animation dans le viewport ?

    • Qu'est ce que je peux optimiser ?
    • Ma scène contient t'elle trop de points, de polygones ?

    Merci d'avance pour vos réponses ;-)
    Miniatures attachées Miniatures attachées Capture d’écran 2020-05-22 à 13.11.49.png  

  2. #2
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 573
    Probablement trop d'objets. surtout si ils sont animés.
    500000 ou 1 million de polys normalement c'est pas un probleme. Sauf si tu a 100 000 objet de 10 polys.
    J'avais eu le cas d'un scene importé d'archicad ou une cage d'escalier grillagée etait composée de 50000 objet. on pouvait a peine deplacer la vue. Une fois cette cage d'escalier connectée en un seul objet plus de soucis
    C4d est pas très bon la dessus.
    solution -> connect+delete
    .
    Une autre possiblité c'est trop d'objet générés.
    Si tes 5000 objets sont tous des extrude; lathe, loft et compagnie, ca peu plomber.
    Faire gaffe aussi au subdivs. Tu peux descendre le reglage pour le viewport.
    Un plan bien maillé avec un displace deformer et un subdiv par exemple peu vite plomber ta scene.
    La solution tu "écrase" tout ce que tu peux avec current state to object.
    Ton fichier va devenir plus lourd sur le disque, mais sera bien plus fluide.

    Et si il y a des objet dupliqué en masse préférer les instances avec render instance coché
    pareil avec les cloner pas oublier de cocher render instance.

    Evidement tout ca est une histoire de quantité.
    10 subdiv ca va, 1000 subdiv bonjour les dégats !
    Dernière modification par Floc ; 22/05/2020 à 17h30.

  3. #3
    Dépendant
    Date d'inscription
    décembre 2005
    Messages
    302

    Thumbs up

    Salut Floc,

    J'ai quelques millier de rochers, j'ai suivie ton conseil en les regroupant en un seul objet et je gagne un peu en performance (13 i/s) !
    Rien de dingue mais c'est quand même un peu mieux !
    Ma scène ne contient aucune subdiv, mais il y des moteurs, de la physique etc... C'est sans doute ce qui plombe le viewport...
    Je suis en train de faire des export en alembic pour essayer d'alléger le tout.

    Par contre j'ai pas bien compris quand tu dit : "La solution tu "écrase" tout ce que tu peux avec current state to object."
    Qu'est ce que tu entends pas écraser ?

    Dans cette scène j'ai placé les rochers sans cloneur, il n'y a donc aucune instances...
    Tu penses qu'il vaudrait mieux que je reprennent ça avec des cloneurs et des instances ?

    Est-ce que tu sais s'il il existe une solution pour créer des instances d'objet et avoir la possibilité de faire des rotations et changer leurs taille sans passer par un cloneur ?

    Merci encore Floc !
    J'ai déjà terminé la première scène je passe à la deuxième ;-)

  4. #4
    Gourou Avatar de bru
    Date d'inscription
    août 2009
    C4D version
    R21 Perpétuelle
    OS
    Windows 10
    Messages
    3 920
    Je pense que Floc veut dire de transformer tous les objets "calculés" via une animation ou une simulation en objets polygonaux figés avec la commande "convertir en objet", appliquée sur l'objet dans l'état d'animation "final" de l'objet. Cela évitera des tas de calculs à chaque trame.

    D'autre part, qu'entends-tu par "sans cloneur" ? A priori, les instances peuvent être créées directement, via l'objet instance... Donc les instances ne sont pas un mécanisme spécialement associé aux objets cloneurs. Tu peux les dupliquer "à la main" ou les manipuler avec des commandes de répartition.

    Tu peux aussi créer des objets instances via d'autres mécanismes comme les particules ou les commandes de répartition.

    Note bien la case "rendre instance" ou "instance de rendu" qui se trouve dans les propriétés des instances ou dans les commandes qui en créent. Cette option fait en sorte que le système ne conserve qu'une copie de l'objet en mémoire et la réutilise. Outre le fait que cela permet d'économiser la mémoire sur les grandes scènes, cela permet d'optimiser l'accès à celle-ci.

    Note aussi une alternative aux cloneurs qui permet d'autres types d'arrangements est le plugin (payant) SurfaceSpread 2 de Lauberk. Il offre assez bien de possibilités et de contrôle pour distribuer des objets sur des surfaces et depuis peu sur des splines. Il y a une version de démo.
    Dernière modification par bru ; 22/05/2020 à 19h30.


  5. #5
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 573
    Citation Envoyé par darsanha Voir le message
    Salut Floc,
    mais il y des moteurs, de la physique etc... C'est sans doute ce qui plombe le viewport...
    Je suis en train de faire des export en alembic pour essayer d'alléger le tout.
    Effectivement c'est probablement la cause. Je t'aurai dit d'essayer de mettre en cache, mais un alembic fait aussi le job.

    Citation Envoyé par darsanha Voir le message
    Par contre j'ai pas bien compris quand tu dit : "La solution tu "écrase" tout ce que tu peux avec current state to object."
    Qu'est ce que tu entends pas écraser ?
    Transformer les objet générés genre lofts, extrude etc... ou qui ont un modifier, bend, FFD, displace etc.., en objet editable.
    L'avantage de "Current State to object" par rapport a "make editable" c'est qu'il converti tout y compris les modifiers et même les perso skinné.

    Citation Envoyé par darsanha Voir le message
    Dans cette scène j'ai placé les rochers sans cloneur, il n'y a donc aucune instances...
    Tu penses qu'il vaudrait mieux que je reprennent ça avec des cloneurs et des instances ?
    Ca depend du nombre et de leur maillage. Si il y en un vingtaine a 10000 polys ca vaut pas le coup de t'embeter.
    Au dessus de 100 ca commence a devenir interressant. Et si il font disons plus de 100000 polys c'est tout de suite rentable.

    Si tu les a deja placé tes objets et que tu veux les remplacer par des instances j'avais ecrit un petit script pour faire ca

    Attention c'est bricolo.
    Tu selectionne tes objets, tu applique le script. Il va creer les instances hors de la hierarchie si il y en a une. Ensuite tu selectionne toutes les instances et dans le champs "reference object" tu place un des objets source, n'importe lequel (puisque ce sont censé etre tous les même), et le tour est joué.
    Vaux mieux faire une sauvegarde avant, car pas d'annulation.
    Fichiers attachés Fichiers attachés

  6. #6
    Dépendant
    Date d'inscription
    décembre 2005
    Messages
    302
    Salut Bru, salut Floc,

    Merci pour vos réponses, je prends note de vos remarques !
    Concernant les différents objets de ma scène, tout est déjà convertit, j'e n'ai aucun déformateurs ni subviv etc...
    Je connais " SurfaceSpread " mais je n'utilises effectivement pas... En générale j'utiliserai des cloneurs pour répartir mes objets, ça me suffit en générale.
    Mais merci quand même pour l'info.

    J'ai finalement redessiner mes petits rochers en utilisant "NitroDraw", super plugin pour ce genre de chose, j'ai simplement ajouter l'option "Instance" qui m'a permis d'avoir des instances de mon rochers source.

    J'ai également transformé les différentes parties qui utilisées la physique et les moteurs en alembic mais malgré tout je reste sur un taux d'image vraiment pas terrible...

    Bon je vais me débrouiller comme ça, je suis quand même surpris par la lenteur du viewport malgré mes différentes optimisations...

    FLOC :

    J'ai essayé ton script Python mais je n'ai pas réussi à le faire fonctionner... mais moins d'une erreur de ma part :

    • Je sélectionne mes 1000 rochers qui se trouvent dans un NUL,
    • J'applique le script et il ne me sort qu'une seule instance...

    Encore merci ;-)
    Miniatures attachées Miniatures attachées cap1.jpg   Capture d’écran 2020-05-23 à 16.28.04.png  

  7. #7
    Gourou Avatar de bru
    Date d'inscription
    août 2009
    C4D version
    R21 Perpétuelle
    OS
    Windows 10
    Messages
    3 920
    Il est difficile de juger de ce que doit être la vitesse de rendu comme cela, et dire si la situation est normale ou non.

    Cela dépend aussi beaucoup de ton matériel.

    Quelques éléments qui peuvent être en jeu:

    - Si tu travailles avec une version antérieure à la R21, l'option "OpenGL matériel" est-elle bien cochée dans les préférences générales (onglet "OpenGL") ? J'ai constaté avec la R19 que cette option se retrouvait souvent décochée, je ne sais pourquoi. Je le constatais parce que le viewport était par moments très inefficace. Cette option n'existe plus en R21.

    - Tu peux aussi réduire la qualité de l'affichage pour le rendre plus rapide. Par exemple en réduisant voire annulant l'antialiasing. Il y a des options dans l'onglet "OpenGL" des préférences générales (y compris en R21).

    - S'il s'agit uniquement de vérifier l'animation, tu peux réduire la qualité d'affichage en choisissant "ombrage constant" ou "ombrage rapide" dans option du viewport, et supprimer toutes les options non essentielles dans le menu "option", en particulier "OpenGL HQ". Tu peux aussi choisir des vues "fil de fer" ou "boite" pour les éléments qui ne sont pas impliqués dans ce qu'il faut vérifier. Cela peut se faire élément par élément à l'aide du tag "propriétés d'affichage".
    Dernière modification par bru ; 23/05/2020 à 18h16. Motif: Changement d'ordre des choses à regarder.


  8. #8
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 573
    Citation Envoyé par darsanha Voir le message
    • Je sélectionne mes 1000 rochers qui se trouvent dans un NUL,
    • J'applique le script et il ne me sort qu'une seule instance...
    A mon avis tu a laissé le null selectionné avec les objets, c'est ce qui se produit dans ce cas, car le script ne gère pas la hierarchie

  9. #9
    Dépendant
    Date d'inscription
    décembre 2005
    Messages
    302
    Salut Bru, Floc

    Bru :
    Pour l'OpenGL tout est au minimum, j'ai même essayé en supprimer l'OpenGL pour tester... Ça ne change rien.
    Le reste des réglages c'est pareil.

    Floc :
    J'ai essayé ton script plusieurs fois chez moi mais ça ne semble pas fonctionner...
    Si je sélectionne tous mes objets et que j'active le script, il me créé seulement une instance.

    Bref, ne vous embêtez pas, je vais me démerder...

    Merci encore :-)
    Miniatures attachées Miniatures attachées cap22.jpg  

  10. #10
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 573
    Le message "object has no attribute "INSTANCEOBJECT_RENDERINSTANCE" me dit que ca doit etre une histoire de version. Apparement tu est en R20 ou 21.
    Il faut juste glisser la case a cocher "render instance" d'un objet instance dans le bas de la console pour voir si l'identifiant a changé. si oui tu le remplace.

  11. #11
    Dépendant
    Date d'inscription
    décembre 2005
    Messages
    302
    Salut Floc,

    Ok je regarderai le script à tête reposée pour l’adapter merci !


    Envoyé de mon iPhone en utilisant Tapatalk

Discussions similaires

  1. Réponses: 21
    Dernier message: 05/01/2011, 00h45
  2. rendu très lent svp aide
    Par saku dans le forum Nouveaux membres
    Réponses: 2
    Dernier message: 29/03/2010, 21h36
  3. Quicktime très très lent sur windows !!!
    Par Slimmy dans le forum Le saloon
    Réponses: 9
    Dernier message: 03/08/2008, 00h38
  4. optimisation de scène -Affichage très lent-
    Par clement dans le forum Général Cinema 4D
    Réponses: 8
    Dernier message: 17/06/2008, 16h11
  5. Rendu très lent.
    Par Matts3D dans le forum Rendu
    Réponses: 10
    Dernier message: 04/07/2005, 12h12

Les tags pour cette discussion

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  
Mediaworks - Logiciels 3D | Design Internet - Creation site internet