2
\$\begingroup\$

Consider two 3D objects with n points and n triangles. One of the objects has a smooth surface such as a ball or a box, and the other object is like a fuzzy onion-layered object with large intersecting faces. Is there any difference between the rendering (complexity and time) of these two objects?

I know that regardless of the input, the rendering process has a fixed complexity, but I am wondering whether it is possible to evaluate the impact of objects' (vertex and connectivity) statistics on the rendering (complexity and time).

\$\endgroup\$
2
\$\begingroup\$

Yes, there are many performance implications to consider even when two objects share the same amount of geometry.

  1. Fragments that fail a Z-buffer test will not invoke fragment shaders.
  2. The amount of screen-space that the objects occupy will impact performance, as fill-rate is a big deal especially on mobile devices.
  3. If you have large triangles that are close to parallel with the camera view direction then filtering textures on them will not be very cache-friendly.

I'm sure there are many more, but the moral of the story is that you need to measure how much impact a specific rendering algorithm has rather than trying to analytically find a solution. The non-determinism of GPUs is going to throw any calculations you make out the window anyway.

\$\endgroup\$
  • \$\begingroup\$ thank you for your response. I am looking for complete and precise answers. \$\endgroup\$ – Jolfaei Aug 27 '14 at 14:39
  • \$\begingroup\$ Do you know any good resources about the performance implications (of the vertex and connectivity information)? \$\endgroup\$ – Jolfaei Aug 27 '14 at 14:43
  • 2
    \$\begingroup\$ What do you mean by "complete and precise"? The performance of a graphics application is closely tied to the hardware architecture and features along with driver support. There are no "precise" performance implications. \$\endgroup\$ – Mokosha Aug 27 '14 at 15:37
  • \$\begingroup\$ That is true. video cards have a different architecture for vertex and fragment processing. Assuming that the only available information are the vertex and connectivity information(please do not consider texture, lights,...), what is their impact on the rendering process? I am looking for factors that are commonly shared among different hardware architectures. and I am looking for a clear explanation for that. I appreciate if you update your answer accordingly. \$\endgroup\$ – Jolfaei Aug 27 '14 at 23:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.