Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Geek Culture / Does the scale of a model affect the performance of a game?

Author
Message
DJ Almix
19
Years of Service
User Offline
Joined: 25th Feb 2006
Location: Freedom
Posted: 23rd Oct 2009 22:28 Edited at: 23rd Oct 2009 22:28
Always wondered that, if you make a model lets say of a barrel (both the same amount of polygons) and scale one to a huge size and other tiny is the bigger one going to have a bigger affect on the performance?

The Wilderbeast
19
Years of Service
User Offline
Joined: 14th Nov 2005
Location: UK
Posted: 23rd Oct 2009 22:47
It depends how much of the object is visible (ie. in the screen). If your big one went off the screen, and the small one was fully visible then it would have a greater affect on performance than the big one because it has to draw all of the polygons whereas it only has to draw say half of the polygons of the big one.

NeX the Fairly Fast Ferret
20
Years of Service
User Offline
Joined: 10th Apr 2005
Location: The Fifth Plane of Oblivion
Posted: 23rd Oct 2009 23:35
I think that the time taken to draw the larger polygons of the larger object (i.e. more texture lookups, etc.) is considerable.

Athlon64 2.7gHz->OC 3.9gHz, 31C, MSi 9500GT->OC 1gHz core/2gHz memory, 48C, 4Gb DDR2 667, 500Gb Seagate + 80Gb Maxtor + 40Gb Maxtor = 620Gb, XP Home
Air cooled, total cost £160
Toasty Fresh
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: In my office, making poly-eating models.
Posted: 23rd Oct 2009 23:49
If both objects are completely visible on the screen then no, it doesn't.
NeX the Fairly Fast Ferret
20
Years of Service
User Offline
Joined: 10th Apr 2005
Location: The Fifth Plane of Oblivion
Posted: 24th Oct 2009 00:10
I meant if the object was larger on the screen... because a larger object on screen is more pixels taken up is more processing power.

Athlon64 2.7gHz->OC 3.9gHz, 31C, MSi 9500GT->OC 1gHz core/2gHz memory, 48C, 4Gb DDR2 667, 500Gb Seagate + 80Gb Maxtor + 40Gb Maxtor = 620Gb, XP Home
Air cooled, total cost £160
Toasty Fresh
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: In my office, making poly-eating models.
Posted: 24th Oct 2009 00:24
Quote: "because a larger object on screen is more pixels taken up is more processing power."


Huh? Bu even if it wasn't on the screen there still would be the same amount of pixels on the screen...
David R
21
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 24th Oct 2009 00:30
The scale of an object is largely irrelevant unless it becomes extremely large and starts to screw up how culling works (near + far plane etc.)

09-f9-11-02-9d-74-e3-5b-d8-41-56-c5-63-56-88-c0
NeX the Fairly Fast Ferret
20
Years of Service
User Offline
Joined: 10th Apr 2005
Location: The Fifth Plane of Oblivion
Posted: 24th Oct 2009 00:30 Edited at: 24th Oct 2009 00:39
If you're standing 5m away from a die and suddenly it inflates to the size of a washing machine, the the die is taking up a lot more space on the screen, thereby it is taking up more pixels, and therefore it needs more processing time to plot the individual pixels that make up the object and as a result more memory bandwidth due to more pixels being written to the framebuffer. This isn't raytracing, we don't just render each pixel. Graphics cards just draw each triangle in order, regardless of occlusion.

If you don't believe me, try this.



When space is not held, 1000 large cubes are rendered. I get 32FPS on my 9500GT. When space is held, the objects are cleared and 1000 identical but smaller cubes are rendered. I get 90FPS.

Pwnt.

Athlon64 2.7gHz->OC 3.9gHz, 31C, MSi 9500GT->OC 1gHz core/2gHz memory, 48C, 4Gb DDR2 667, 500Gb Seagate + 80Gb Maxtor + 40Gb Maxtor = 620Gb, XP Home
Air cooled, total cost £160
Jeff032
17
Years of Service
User Offline
Joined: 13th Aug 2007
Location:
Posted: 24th Oct 2009 03:55 Edited at: 24th Oct 2009 04:02
Look what magically happens when I position your cubes in a slightly different way, so that the first cube is at 0,0,0 and the last cube is at 0,0,1.1, and the rest are spaced evenly inbetween: they run at the same speed on my computer, ~138 fps.

Note that positioning the cubes this way is actually faster than positioning them all at 1.11, so it is not the fact that they are smaller that makes my example render faster. It is the fact that the depth buffer can be used to avoid redrawing pixels that have already been drawn.



Also, if you have a level in an fps game that is expensive to render, and you draw a low poly weapon in front of the scene, the more of the screen the weapon covers, the faster the game renders. (assuming the weapon is rendered first)

Quote: "Pwnt."

Pwnt.

[EDIT]
Also, with all the cubes positioned at 0,0,0, creating a size 8 cube at 0,0,0 with id 1 will cause a significant increase in fps. (Change the delete object and make object to start at 2.) The cube MUST be created with an id lower than the other ones so that it is drawn before them, since dbp can't do much to sort a bunch of objects all positioned at 0,0,0.

Login to post a reply

Server time is: 2025-06-04 20:24:37
Your offset time is: 2025-06-04 20:24:37