Pourquoi utiliser des Processeurs pour le lancer de rayons au lieu de Gpu?
Après avoir fait quelques recherches sur rasterisation et le lancer de rayons. J'ai découvert qu'il n'y a pas beaucoup d'informations sur la façon dont les Processeurs de travail pour le ray-tracing disponibles sur internet. Je suis venu à travers, et de l'article à propos de Pixar et comment ils pré-rendus Cars 2 sur le CPU. Cela leur a pris de 11,5 heures par image. Serait un GPU ont pas rendu encore plus vite avec la même qualité d'image?
http://gizmodo.com/5813587/12500-cpu-cores-were-required-to-render-cars-2
https://www.engadget.com/2014/10/18/disney-big-hero-6/
http://www.firstshowing.net/2009/michael-bay-presents-transformers-2-facts-and-figures/
Cheers,
Sam
- peut-être qu'ils ne se soucient pas de la vitesse à ce stade.
- veuillez fournir des liens vers les articles que vous consultez en posant cette question, via une modification de l'OP.
- en.wikipedia.org/wiki/Ray-tracing_hardware et un article sur le raytracing vs tramage vais expliquer pourquoi dans le détail.
- 12500 cœurs de PROCESSEUR? Je pense qu'ils sont en train de parler GPU.
- Le titre est "de 12 500 Cœurs de PROCESSEUR Ont été Nécessaires pour Rendre Cars 2", de sorte que laisse croire le contraire.... Mais c'est pourquoi il me confond
- Nope, ils signifient cœurs du PROCESSEUR (pas tout dans une seule boîte, bien sûr!).
Vous devez vous connecter pour publier un commentaire.
Je suis l'un des logiciels de rendu des architectes à une grande VFX et animation studio avec un propriétaire de rendu (pas de Pixar, bien que j'ai été une fois le logiciel de rendu de l'architecte, il y a l', longtemps, longtemps).
Presque tous rendu de haute qualité pour le cinéma (à tous les grands studios, avec tous les principaux moteurs de rendu) est CPU seul. Il y a un tas de raisons pour lesquelles c'est le cas. En aucun ordre particulier, certains vraiment convaincante à vous donner le goût de l'questions:
Gpu seulement aller vite quand tout est en mémoire. Le plus gros GPU des cartes, ce qui, de 12 go, et il doit tenir tout. Eh bien, nous avons l'habitude de rendre des scènes avec 30GO de la géométrie et de référence de 1 to ou plus de texture. Ne peut pas charger dans la mémoire GPU, il est littéralement à deux ordres de grandeur trop grand. Donc, les Gpu sont tout simplement incapables de faire face à nos plus grandes (voire moyenne) scènes. (Avec CPU convertisseurs, nous pouvons la page des trucs de disque à chaque fois que nous avons besoin. Les gpu ne sont pas bons.)
Ne croyez pas le battage, le lancer de rayons avec les Gpu n'est pas évident de gagner plus de ressources CPU. Les gpu sont grands à très cohérent travail (faire les mêmes choses à beaucoup de données à la fois). Le lancer de rayons est très incohérent (chaque rayon peut aller une autre direction, se croisent les différents objets, à l'ombre des matériaux différents, l'accès textures différentes), et donc ce modèle d'accès dégrade les performances du processeur graphique très sévèrement. C'est seulement très récemment que le GPU de lancer de rayons correspondent le mieux en fonction de PROCESSEUR ray tracing code, et même si elle a dépassé, ce n'est pas beaucoup, pas assez pour jeter tous les vieux code et de repartir avec buggy fragile code pour les Gpu. Et le plus grand, le plus cher de l'scènes sont celles où les Gpu ne sont que légèrement plus rapide. Étant beaucoup plus vite sur les scènes les plus simples n'est pas vraiment important pour nous.
Si vous avez 50 ou 100 ans de production-durci de code dans votre PROCESSEUR de rendu, vous juste de ne pas le jeter et recommencer afin d'obtenir un 2x plus rapide. Génie logiciel de l'effort, de la stabilité, et ainsi de suite, est plus important et un plus grand facteur de coût.
De même, si votre studio est doté d'un placement dans un centre de données de portefeuille de 20 000 cœurs du PROCESSEUR, le tout dans le plus petit, le plus de puissance et de chaleur efficace facteur de forme vous le pouvez, c'est aussi un coût irrécupérable investissement que vous ne vous contentez pas jeter. Les remplacer par de nouvelles machines contenant dessus de la ligne de Gpu augmente de beaucoup le coût de votre ferme de rendu, et ils sont plus gros et produisent plus de chaleur, de sorte qu'il pourrait littéralement pas de place dans votre bâtiment.
La Loi d'Amdahl: Le "rendu" en soi ne constitue qu'une étape dans la création de la scènes, et les Gpu ne sont pas aider avec elle. Disons qu'il faut 1 heure pour pleinement générer et exporter de la scène, pour le moteur de rendu, et de 9 heures à "rendre", et de 9 heures, une heure, c'est la lecture de la texture, de volumes, et d'autres données à partir du disque. Donc, sur un total de 10 heures de la façon dont l'utilisateur fait l'expérience de rendu (bouton-poussoir jusqu'à ce que l'image finale est prête), de 8 heures, est potentiellement accéléré avec des Gpu. Donc, même si le GPU est 10x plus rapide que le PROCESSEUR pour cette partie, vous allez à partir de 10 heures 1+1+0.8 = près de 3 heures. Donc 10x GPU speedup ne traduit à 3x gain réel. Si le GPU est de 1 000 000 x plus rapide que le CPU pour le lancer de rayons, vous avez encore 1+1+minuscule, qui est seulement à 5x plus rapide.
Mais ce qui est différent sur les jeux? Pourquoi sont-Gpu bon pour les jeux, mais pas de film?
Tout d'abord, lorsque vous faites un jeu, rappelez-vous qu'il a pour le rendu en temps réel-ce qui signifie que votre plus importante contrainte est le 60Hz (ou autre), taux d'armature, et vous sacrifier la qualité ou les caractéristiques nécessaires pour y parvenir. En revanche, avec le film, l'incassable contrainte est prise de le directeur et superviseur VFX heureux avec la qualité et l'apparence, il ou elle le veut, et combien de temps ça vous prend pour obtenir c'est (à un diplôme) du secondaire.
Aussi, avec un jeu, vous effectuez le rendu d'image après image après image, vivre en face de chaque utilisateur. Mais avec le film, vous efficacement le rendu une FOIS, et ce qui est livré à des théâtres est un fichier vidéo -- donc, les cinéphiles ne pourra jamais savoir ou de soins si il vous a fallu 10 heures par image, mais ils remarqueront si elle n'a pas l'air bon. Encore une fois, il y a moins d'une peine mis sur les rend beaucoup de temps, aussi longtemps qu'ils ont l'air fabuleux.
Avec un jeu, vous ne savez pas vraiment ce que les cadres que vous allez rendre, puisque le joueur peut se promener partout dans le monde, voir à partir de n'importe où. Vous ne pouvez pas et ne devrait pas essayer de le faire, tout est parfait, vous voulez juste être assez bon tout le temps. Mais pour un film, les prises de vue sont tous fabriqués à la main! Une énorme quantité de temps de l'homme va dans la composition, l'animation, l'éclairage et la composition de chaque prise de vue, et alors vous n'avez qu'à le rendre à la fois. Pense à propos de l'économie, une fois les 10 jours de calendrier (et le salaire) a disparu dans l'éclairage et de composition de la photo juste à droite, l'avantage de rendre en une heure (ou même une minute) par rapport à la nuit, est assez petit, et n'en vaut pas le sacrifice de la qualité ou possible de la complexité de l'image.