Roland Posted June 25, 2012 Share Posted June 25, 2012 Example: Building a room with 4 plain walls (no doors, no windows), say each wall needs 100 polys. What is better? 1) Make one wall model and copy that to 3 new entity's. This will give 100 polys and 4 entities 2) Make one model with all 4 walls. This will give 400 polys and 1 entity Quote Roland Strålberg Website: https://rstralberg.com Link to comment Share on other sites More sharing options...
Canardia Posted June 25, 2012 Share Posted June 25, 2012 1) is better, because then complete walls can be occluded, and you can also remove walls in the game Quote ■ Ryzen 9 ■ RX 6800M ■ 16GB ■ XF8 ■ Windows 11 ■ ■ Ultra ■ LE 2.5 ■ 3DWS 5.6 ■ Reaper ■ C/C++ ■ C# ■ Fortran 2008 ■ Story ■ ■ Homepage: https://canardia.com ■ Link to comment Share on other sites More sharing options...
DaDonik Posted June 25, 2012 Share Posted June 25, 2012 I would say it really depends on what you want to achieve. Both are valid options. In case you have lots and lots of rooms there will be a noticeable speed difference between using one or four entites per room. If you have a room like yours with ~400 polygons i see no reason to make it 4 seperate entities. It would be a good idea if a single wall had thousands of polygons, but with 400 it's not necessary in my opinion. Quote (Win7 64bit) && (i7 3770K @ 3,5ghz) && (16gb DDR3 @ 1600mhz) && (Geforce660TI) Link to comment Share on other sites More sharing options...
Roland Posted June 25, 2012 Author Share Posted June 25, 2012 So ... conclusion would be that method 1 is appropriate for occlusion reasons and/or if the part have thousands of polys. Other than that, one can safely go for the 'all in one mesh' method 2. Did I get that right? Quote Roland Strålberg Website: https://rstralberg.com Link to comment Share on other sites More sharing options...
DaDonik Posted June 25, 2012 Share Posted June 25, 2012 Yes you did 1 Quote (Win7 64bit) && (i7 3770K @ 3,5ghz) && (16gb DDR3 @ 1600mhz) && (Geforce660TI) Link to comment Share on other sites More sharing options...
Josh Posted June 25, 2012 Share Posted June 25, 2012 Do whichever is more convenient for you. 1 Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Benton Posted June 25, 2012 Share Posted June 25, 2012 Well really, you want as few drawcalls as possible. So if you can group the 4 walls into one drawcall, thats the way to go. Quote Windows 7 Professional 64 bit, 16 gigs ram, 3.30GHz Quad Core, GeForce GTX 460 one gig, Leadwerks 2.5, Blender 2.62, Photoshop CS3, UU3D Link to comment Share on other sites More sharing options...
Roland Posted June 25, 2012 Author Share Posted June 25, 2012 Well really, you want as few drawcalls as possible. So if you can group the 4 walls into one drawcall, thats the way to go. And that means? Hey I'm just the C++ guy here Groping 4 walls into one drawcall ... Sorry to chock you all with my total lack of knowledge about drawcall, or it may be so that I just don't know what the term means. 1. 4 separate meshes in same model file 2. all as one mesh 3. or is it meshes with same materials Now you really caught me with the trousers down Quote Roland Strålberg Website: https://rstralberg.com Link to comment Share on other sites More sharing options...
Furbolg Posted June 25, 2012 Share Posted June 25, 2012 Theoretically it doesnt matter if you use 4 models or 1 model... it depends how the engine works internally. Drawcall is "a function" which gives the drawing information (vertices, textures, shader etc...) to the graphics driver, the count of drawcalls should be as small as possible (its the engine's job to collect them and draw them together). Todays graphics card can render a whole bunch of polygons (10.000+) but cant handle much drawcalls. Quote Link to comment Share on other sites More sharing options...
ChrisV Posted June 25, 2012 Share Posted June 25, 2012 Benton just means that the less limbs per render is better for fps. Meaning, if you can group several objects together that share only one limb, then this will have less effect on framerate. More limbs means slower framerate. So, it depends on your case, and what you want to achieve. Anyways, nice wall, Roland! Cheers Quote My Artwork. ZBrush 4R7 64-bit - 3DCoat 4.5 BETA 12 - Fl Studio 12 64Bit - LE 3.2 Indie version - Truespace 7 - Blender 2.71 - iClone 5.51 Pro - iClone 3DXChange 5.51 pipeline - Kontakt 5 - Bryce 7 - UU3D Pro - Substance Designer/Painter - Shadermap 3 - PaintShop Photo Pro X7 - Hexagon - Audacity - Gimp 2.8 - Vue 2015 - Reaktor 5 - Guitar Rig 5 - Bitmap2Material 3 Link to comment Share on other sites More sharing options...
Furbolg Posted June 25, 2012 Share Posted June 25, 2012 Benton just means that the less limbs per render is better for fps. Meaning, if you can group several objects together that share only one limb, then this will have less effect on framerate. More limbs means slower framerate. So, it depends on your case, and what you want to achieve. Anyways, nice wall, Roland! Cheers As i said above, depends on the engine architecture Quote Link to comment Share on other sites More sharing options...
Roland Posted June 25, 2012 Author Share Posted June 25, 2012 OK Guys. It seems to be a matter of situation and experience. I understand what you are saying, so on to get the experience then Thank's Quote Roland Strålberg Website: https://rstralberg.com Link to comment Share on other sites More sharing options...
Benton Posted June 25, 2012 Share Posted June 25, 2012 I don't really know about limbs, but I know from experience with other engines that mobile should only have about 30 drawcalls at the most. PC can handle more, 400 is OK. I don't know about Leadwerks, but depending on how the engine is built, it could be per-material. And it could also be per-lightpass, so if you have 7 dynamic per-pixel lighting one model/material could cause 7 drawcalls. What you want to do is batch models, so they are called in one drawcall. Now that means if you batch every rock in your scene, every rock will be rendered, even if it is not in the camera. So batch models that are close together. So you could batch the entire building, or every few walls. I don't really understand Chris's obsession with limbs. As far as I know, you can have a model without limbs, and therefore no performance hit. But maybe I am wrong. But yeah, the more limbs, the more performance is going to drop. Anyway, my rule of thumb is to group models that are close together into one batch. Do not worry about your building being one model, worry about drawcalls. I tend to worry more about drawcalls and opacity then about polycount, but then I come from mobile roots, so you can't blame me Quote Windows 7 Professional 64 bit, 16 gigs ram, 3.30GHz Quad Core, GeForce GTX 460 one gig, Leadwerks 2.5, Blender 2.62, Photoshop CS3, UU3D Link to comment Share on other sites More sharing options...
ChrisV Posted June 25, 2012 Share Posted June 25, 2012 I don't really understand Chris's obsession with limbs. My obsession with limbs? Where does that come from? It's a proven fact that limbs (amongst other things) can slow down framerate, so I'm just telling Roland that the less limbs, the better. That's all. Quote My Artwork. ZBrush 4R7 64-bit - 3DCoat 4.5 BETA 12 - Fl Studio 12 64Bit - LE 3.2 Indie version - Truespace 7 - Blender 2.71 - iClone 5.51 Pro - iClone 3DXChange 5.51 pipeline - Kontakt 5 - Bryce 7 - UU3D Pro - Substance Designer/Painter - Shadermap 3 - PaintShop Photo Pro X7 - Hexagon - Audacity - Gimp 2.8 - Vue 2015 - Reaktor 5 - Guitar Rig 5 - Bitmap2Material 3 Link to comment Share on other sites More sharing options...
Benton Posted June 26, 2012 Share Posted June 26, 2012 Yes but when I import a model from UU3D I delete the limbs. In the model viewer, it shows 0 limbs. Maybe I am mistaken? I often am... In any case, once you get rid of the limbs its the drawcalls you need to watch out for. Can Josh verify if it is per light-pass and/or per material? Quote Windows 7 Professional 64 bit, 16 gigs ram, 3.30GHz Quad Core, GeForce GTX 460 one gig, Leadwerks 2.5, Blender 2.62, Photoshop CS3, UU3D Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.