Aller au contenu

Photo

INFO: Draw calls not geometry as a bottleneck in NWN.


  • Veuillez vous connecter pour répondre
118 réponses à ce sujet

#76
OldMansBeard

OldMansBeard
  • Members
  • 152 messages

Thanks, OldMansBeard.  To clarify something I said in the video, I'd suggest leaving all 32-bit textured things where they are (so, no consolidation of any sort) and then just consolidate the regular 24-bit stuff.   Listening to what I said, I realized it could have sounded like I could be suggesting consolidating the 32-bit stuff in some way and that wasn't my intention.  Thanks again!

Yes, what I'm doing now is to remake all the tiles with all the fences and splotches (conveniently, they all have transparencyhint 1) moved onto an 'a' node and left unconsolidated on their original tiles, just consolidating the truly static meshes across the chunks. So there will be less consolidation but what there is, will be good stuff.

 

Two more to do, then I can get some new data.


  • OldTimeRadio aime ceci

#77
OldMansBeard

OldMansBeard
  • Members
  • 152 messages

Yes, what I'm doing now is to remake all the tiles with all the fences and splotches (conveniently, they all have transparencyhint 1) moved onto an 'a' node and left unconsolidated on their original tiles, just consolidating the truly static meshes across the chunks. So there will be less consolidation but what there is, will be good stuff.

 

Two more to do, then I can get some new data.

 

Well, that wasn't the answer. Sorry.

 1x1 101/155 fps
 2x2 101/155 fps
 4x4  96/155 fps
 8x8  67/149 fps
16x8  65/148 fps

Just chunking non-alpha meshes doesn't help. With fewer meshes consolidated, the effect of doing so is less marked but it's still adverse.

 

Interestingly, hanging the splotches and fences from an 'a' node seems to pull performance down somewhat, just in itself.

 

I'll upload the new files as Version 2


  • OldTimeRadio aime ceci

#78
Lord Sullivan

Lord Sullivan
  • Members
  • 560 messages

Well, that wasn't the answer. Sorry.

 1x1 101/155 fps
 2x2 101/155 fps
 4x4  96/155 fps
 8x8  67/149 fps
16x8  65/148 fps

 

Where do you guys get such numbers? NWN is caped at 60FPS... is there a setting to unlock it that I don't know about?



#79
3RavensMore

3RavensMore
  • Members
  • 703 messages

Capped at 60?  On a fresh install in a 16x16 area stuffed full of well...stuff, I get 50-120 fps. 



#80
Lord Sullivan

Lord Sullivan
  • Members
  • 560 messages

Capped at 60?  On a fresh install in a 16x16 area stuffed full of well...stuff, I get 50-120 fps. 

 

Really? See I have a decent desktop computer with a Nvidia GeForce 9800 GT, 4 GB Ram, Core2Duo E6600 2.4Ghz @3.0 Ghz.

I always have stellar performance in pretty much every game I play(Not most recent ones) up to 2009ish.

Example: Farcry at 1920x1200 native display resolution 96/152 FPS
vs

               Neverwinter nights at 1920x1200 native display resolution 19/24 FPS in extreme crazy filled areas(a rare case) 32/60 fluctuation in standard cases and 60 constant in an area with little in it such as the area in my lastest video on "Light & Flame Mod". It stays there... does not budge. Not even If I start moving the camera irraticaly.

Software: Gregion Gaming Capture and/or Fraps

So tell me, what am I missing?



#81
Tiberius_Morguhn

Tiberius_Morguhn
  • Members
  • 247 messages

Really? See I have a decent desktop computer with a Nvidia GeForce 9800 GT, 4 GB Ram, Core2Duo E6600 2.4Ghz @3.0 Ghz.

I always have stellar performance in pretty much every game I play(Not most recent ones) up to 2009ish.

Example: Farcry at 1920x1200 native display resolution 96/152 FPS
vs

               Neverwinter nights at 1920x1200 native display resolution 19/24 FPS in extreme crazy filled areas(a rare case) 32/60 fluctuation in standard cases and 60 constant in an area with little in it such as the area in my lastest video on "Light & Flame Mod". It stays there... does not budge. Not even If I start moving the camera irraticaly.

Software: Gregion Gaming Capture and/or Fraps

So tell me, what am I missing?

 

Do you have VSync enabled in game?


  • Shadooow et Rolo Kipp aiment ceci

#82
Lord Sullivan

Lord Sullivan
  • Members
  • 560 messages

Do you have VSync enabled in game?

 

ah AH! that's what I was missing! lol

 

Yeah I got up to 222 FPS in my small forest area. I had not set VSync in game but in the NVidia control panel in the per application settings for NWN to prevent screen tearing while capturing video. Having not checked FPS performance in quite a while, I thought NWN was capped at 60 FPS reguardless.

 

Thanks Tib.



#83
OldMansBeard

OldMansBeard
  • Members
  • 152 messages

I've done one more test, setting the camera height to 200.0 and removing fog, looking straight down so that the whole area is visible in plan view. That way, all of the meshes in the areas are visible and the only difference between areas should be the way the faces are internally distributed between nodes and models.

 1x1 53 fps
 2x2 54 fps
 4x4 54 fps
 8x8 53 fps
16x8 51 fps

There's barely any difference, so chunking is not helping.

 

The conclusion has to be that, if only part of the area is visible (as in normal play), chunking forces more to be rendered and so pulls down performance whereas if the whole area is already being rendered (in artificial tests), it yields no improvement.


  • Zwerkules, Estelindis, OldTimeRadio et 1 autre aiment ceci

#84
OldTimeRadio

OldTimeRadio
  • Members
  • 1 400 messages

Thanks, OldMansBeard.  On this last test (with the camera height set to 200), I assume those numbers are with the consolidation.  What were the baselines?  Because in situations where all the geometry is visible at once, I'd be gobsmacked if there is a decrease in FPS with consolidated models.  Then again, I might not understand the numbers but I can't argue with them.  With VSync turned off I know all those frames are not hitting the screen (that's determined by refresh rate on the monitor) but by the same token, I have no information that the work isn't being done so even with VSync turned off, the ratio in your observations should hold even with it turned on.  Or if not, that degredation in FPS would still be present with VSync turned on.

 

Interestingly, hanging the splotches and fences from an 'a' node seems to pull performance down somewhat, just in itself.

 

I assume you do not mean hanging all splotches for a group from a single tile's a-node, but leaving them connected to the tiles they were originally on.  Is that correct?

 

An aside: Totally separate topic, but related.  What do you ascribe to the FPS slowdown in a tileset like TNO, especially when things like the sea cliffs are in use and there's a lot of "depth" to the map?  With placeables like this, I've always gotten the impression that the performance of TNO, once obvious things like shadows were turned off, couldn't possibly be related to pure geometry because the placeable I link to is so much "heavier" than anything in that whole tileset or, possibly, all the tiles in that tileset, combined.  I don't know how to reconcile these two things.  I don't know if I mentioned it upthread, but the only other "differences" I could think of (in the case of TNO, for instance, were transparencies and TXI-deformed 32-bit textures (i.e. the water), which I know can get expensive- but I never would have assumed they'd be that expensive in typical use.   Edit: Or the animesh on the water.  Hrm....

 

And a bit of a ramble: In the last two years, I've only ever been able to find one reference to draw calls by someone who worked on NWN and that was by Trent Oster (during NWN development, back in the Interplay days) who indicated that the reason the weapon textures were consolidated into one texture was to reduce the draw calls.  Specifically.  But looking at official content (creatures, VFX, placeables) at some point those considerations were thrown out the window and I've always presumed it was because Bioware had locked down the camera and so only worried about keeping under-budget with things on the screen from that perspective.

 

Thank you so much for your data.  For the last few weeks, workmen and inspectors have been coming over and that's probably going to be happening off and on until June.  When I get more free time, I'm going to "Round Two" and "Round Three" this same idea with creatures and VFX and getting  a grip on how consolidation works (or doesn't) with tiles is the first big step.  I continue to look at this, not despite your data, but because there are differences in what the optimizations are.  The experience I had with static placeables seemed to carry over to tiles and maybe that was an erroneous assumption on my part...though why, I'm still not sure of.


  • Rolo Kipp aime ceci

#85
OldMansBeard

OldMansBeard
  • Members
  • 152 messages

Thanks, OldMansBeard.  On this last test (with the camera height set to 200), I assume those numbers are with the consolidation.  What were the baselines?  Because in situations where all the geometry is visible at once, I'd be gobsmacked if there is a decrease in FPS with consolidated models.  Then again, I might not understand the numbers but I can't argue with them.  With VSync turned off I know all those frames are not hitting the screen (that's determined by refresh rate on the monitor) but by the same token, I have no information that the work isn't being done so even with VSync turned off, the ratio in your observations should hold even with it turned on.  Or if not, that degredation in FPS would still be present with VSync turned on.

 

 

I assume you do not mean hanging all splotches for a group from a single tile's a-node, but leaving them connected to the tiles they were originally on.  Is that correct?

 

An aside: Totally separate topic, but related.  What do you ascribe to the FPS slowdown in a tileset like TNO, especially when things like the sea cliffs are in use and there's a lot of "depth" to the map?  With placeables like this, I've always gotten the impression that the performance of TNO, once obvious things like shadows were turned off, couldn't possibly be related to pure geometry because the placeable I link to is so much "heavier" than anything in that whole tileset or, possibly, all the tiles in that tileset, combined.  I don't know how to reconcile these two things.  I don't know if I mentioned it upthread, but the only other "differences" I could think of (in the case of TNO, for instance, were transparencies and TXI-deformed 32-bit textures (i.e. the water), which I know can get expensive- but I never would have assumed they'd be that expensive in typical use.   Edit: Or the animesh on the water.  Hrm....

 

And a bit of a ramble: In the last two years, I've only ever been able to find one reference to draw calls by someone who worked on NWN and that was by Trent Oster (during NWN development, back in the Interplay days) who indicated that the reason the weapon textures were consolidated into one texture was to reduce the draw calls.  Specifically.  But looking at official content (creatures, VFX, placeables) at some point those considerations were thrown out the window and I've always presumed it was because Bioware had locked down the camera and so only worried about keeping under-budget with things on the screen from that perspective.

 

Thank you so much for your data.  For the last few weeks, workmen and inspectors have been coming over and that's probably going to be happening off and on until June.  When I get more free time, I'm going to "Round Two" and "Round Three" this same idea with creatures and VFX and getting  a grip on how consolidation works (or doesn't) with tiles is the first big step.  I continue to look at this, not despite your data, but because there are differences in what the optimizations are.  The experience I had with static placeables seemed to carry over to tiles and maybe that was an erroneous assumption on my part...though why, I'm still not sure of.

 

The numbers in that last test were when looking straight down from a great height at the middle of a 16x16 area; the different cases were for areas tiled with different-sized chunks (so the five areas look identical, they are just different inside the models). In a sense, the 1x1 number is the baseline because that uses the individual tiles with no consolidation across tiles at all. The 8x8 figure is for when all the static meshes for all the tiles in each 8x8 quadrant of the area are consolidated into their bottom-left-corner tile and the other 63 tiles in that quadrant have no static meshes left on them at all. So the draw calls for the static meshes are reduced by a factor of 64 (there are still draw calls for the fences and splotches, but those don't change). And the result is ... zilch. The frame rate is exactly the same. So, it looks like NWN tiles don't play nicely with the draw-calls theory. There must be something else going on, deep inside the engine.

 

In the V2 of the hak that I used for this last test, the splotches and fences were individually relinked to the 'a' node of the tile they belonged to (the vanilla tiles didn't have 'a' nodes, so new ones were created). They weren't consolidated within tiles nor across tiles and they weren't moved from the tiles they started on. They are just ignored by the whole chunking process. I think I might try deleting them completely, just out of interest. I'd expect the frame rates to shoot up.

 

With the fps being below 60, turning vSync on or off makes no difference to the fps (I've tried that). In the earlier tests, with the default camera height, it would have capped at 60 of course, so I had it turned off.

 

I've always believed that the performance hit in TNO was at least partly because it used heavier bitmaps, but I've never tried to do any systematic tests on that. It might be instructive to try. When you get time to look at things in more detail, maybe we can work together ?


  • Rolo Kipp aime ceci

#86
OldMansBeard

OldMansBeard
  • Members
  • 152 messages

I've tried removing the fences and splotches entirely and, not surprisingly, the frame rates go up but the overall trend is the same. Then I tried switching to lo-res textures (tga compatibility mode) and, again not surprisingly, the frame rates went up but the overall trend is still the same.

 

Camera A: normal camera height, looking straight down, zoomed in on a small patch of cobbles

Camera B: as A but zoomed out (approx two buildings in view)

Camera C: camera height 200.0, whole area in plan view

 

Normal Textures

Chunk  Camera  Camera  Camera
Size     A       B       C
-----  ------  ------  ------
 1x1    180     121.5    66
 2x2    180     122      65
 4x4    180     115      66
 8x8    173      76      64
16x8    172      74      60.5

Lo-Res Textures

Chunk  Camera  Camera  Camera
Size     A       B       C
-----  ------  ------  ------
1x1     309     245      90
2x2     309     248.5    95
4x4     309     210      98
8x8     300     108      95
16x8    296     102      90

  • Estelindis, Rolo Kipp et MerricksDad aiment ceci

#87
_six

_six
  • Members
  • 919 messages

A dubious theory on the a node: I'd suspect objects attached to the a node are rendered in a second pass over dynamic objects after all the static objects in the scene have been drawn. Which would probably equate to more CPU time in organising the objects, the more you had attached to it.

 

Actually, it's reasonable to suspect dynamic stuff in NWN just takes a totally different path. Ever noticed that placeable and door lighting looks rather different to tiles?



#88
Zarathustra217

Zarathustra217
  • Members
  • 221 messages
I recall a Bioware developer writing in a gamasutra article that most lighting for static geometry (including static placeables) is calculated on the client entering the area whereas dynamic geometry has it all calculated live, so that might explain why they sometime render differently.

Anyway, by now, do we have anything concrete saying that drawcalls are ever an issue in NWN? Before considering to consolidate meshes, we really need to answer that.

/Off-topic: What's an 'a' node? I've seen it mentioned a few times lately but haven't been able to find any documentation on it.

#89
OldMansBeard

OldMansBeard
  • Members
  • 152 messages

I recall a Bioware developer writing in a gamasutra article that most lighting for static geometry (including static placeables) is calculated on the client entering the area whereas dynamic geometry has it all calculated live, so that might explain why they sometime render differently.

Anyway, by now, do we have anything concrete saying that drawcalls are ever an issue in NWN? Before considering to consolidate meshes, we really need to answer that.

/Off-topic: What's an 'a' node? I've seen it mentioned a few times lately but haven't been able to find any documentation on it.

 

What the measurements seem to be telling us, is that consolidating meshes to reduce draw calls, doesn't work for tiles. If anything, it's counter-productive.

 

About 'a' nodes

 

In tiles and placeables, a dummy node that has the name of the model with an 'a' on the end has a special meaning for the engine. Any nodes that are parented (linked) to that (or to other nodes that are in turn parented to it) are treated as dynamic, whereas nodes that are not, are treated as static. Static nodes are rendered more cheaply than dynamic ones because unless the camera is moving, they don't need to be recomputed for every frame.

 

Pieces of mesh that are animated (for example, a waterwheel that rotates slowly in a watermill tile) have to be attached to these 'a' nodes, otherwise the animations don't work because the engine treats them a static.

 

Shallow water (where the player can wade into it) needs to be attached to an 'a' node too, otherwise the player's feet disappear when viewed from above the water.

 

Meshes that are rendered with a bitmap that has transparent areas (fences, gratings, leaves on trees, for example) don't have to be attached to an 'a' node but it's better if they are because if they are not, some graphics cards and some drivers will leave a white margin around the opaque parts, which looks bad.


  • Zwerkules, Estelindis, Tiberius_Morguhn et 3 autres aiment ceci

#90
Zarathustra217

Zarathustra217
  • Members
  • 221 messages
Ah, thanks for explaining that.

Anyway, concerning drawcalls, what I'm trying to say is that we haven't really tested yet how many you need to have before it starts actually affecting performance.
  • OldTimeRadio aime ceci

#91
OldMansBeard

OldMansBeard
  • Members
  • 152 messages

Ah, thanks for explaining that.

Anyway, concerning drawcalls, what I'm trying to say is that we haven't really tested yet how many you need to have before it starts actually affecting performance.

 

I don't think that's the right question. As far as tiles are concerned, counting draw calls is irrelevent. Counting polys is what matters. The number of polys in all the meshes in camera-shot.

 

In my test results, looking at a scene with about 100k polys total (the camera 'c' columns), reducing total draw calls in the scene from 2752 (the 1x1 case) to just 32 (the 16x8 case) by compacting meshes, made no difference to the frame rate (well, actually it got slightly worse, but only slightly).


  • OldTimeRadio aime ceci

#92
Zwerkules

Zwerkules
  • Members
  • 1 321 messages

Meshes that are rendered with a bitmap that has transparent areas (fences, gratings, leaves on trees, for example) don't have to be attached to an 'a' node but it's better if they are because if they are not, some graphics cards and some drivers will leave a white margin around the opaque parts, which looks bad.

 

As long as those transparent meshes are rendered after all the meshes that are behind or under them and the transparency hint is greater than 0 it seems they work without any problems at least I've always gotten rid of the white margins this way. I think they should only be linked to the a-node if there's still a white margin showing after making sure the transparency hint is set correctly and they are rendered after the meshes behind them. Also if they are linked to the a-node they won't tilefade.

One problem I always have with transparent meshes is that a blue margin appears around them if the 'sam' of a door is behind them. This is also the case if the mesh is linked to the a-node, probably because the 'sam' of a door is animated, too.


  • MerricksDad aime ceci

#93
Rolo Kipp

Rolo Kipp
  • Members
  • 2 791 messages

<punching a...>

 

Not to derail this too far, but if you dig into my "tile" class placeable you'll see I now normally use "[ mdlname ]a" in place of a rootdummy for hanging my non-skin mesh on.

Without that I get those "OR" voids OMB mentioned for the water.

 

In the most recent case, my Spirit Smoke, putting the mesh on a rootdummy or giving the mdl a "Character" class made whatever was behind the smoke flicker in and out of view, mostly depending on camera angle and distance to the mesh.

Hanging it on an 'a' node and making the mdl "Tile" fixed the problem and allowed the texture's .TXI to work properly.

 

Edited: Basically (my theory), "Tile" 'a' node mesh have a different shader path than "Character", and this is determined by the class defined in the model.

Tile-static have a different path than placeable-static, but this is determined by the actual type of model loaded (e.g. tile models loaded as placeables (tile-magic) seem to follow the placeable shader path).

 

<...'a' ticket>


  • OldMansBeard, OldTimeRadio et MerricksDad aiment ceci

#94
OldTimeRadio

OldTimeRadio
  • Members
  • 1 400 messages

Anyway, by now, do we have anything concrete saying that drawcalls are ever an issue in NWN? Before considering to consolidate meshes, we really need to answer that.

I've come to this conclusion that they are an issue in NWN, partly through the process of elimination and partly through deductive reasoning. 

 

I invite alternative opinions but the way I see it, there are going to be three possible things which would limit the GFX engine: Geometry, Texture Memory and Draw calls.  There's one other factor, the overhead of the sound system, that I'm leaving out intentionally because, for what I'm getting at, it didn't appear to be a factor.  In your mind imagine a laggy, overstuffed scene, filled with placeables and creatures and spell effects and just freeze it, that whole scene, in your mind's eye.  The scene could be almost anything where your FPS drops, though, like a busy scene in TNO.  So what's causing the FPS to drop?

 

Is it the geometry?  Conventional wisdom would always say "Yes, there's just too many polys in the scene".  I used to subscribe to this, too, but when I actually tried to find what the limits for polys were, I found (except for the polys per node limit OldMansBeard mentioned) that there weren't any.  The context in which this is taking place is one where shadows are turned off, BTW.  I once did a proof of concept conversion of this insane mesh (~1,2 million tris) as a static placeable and it worked- until I whipped out my torch and the vertex lighting destroyed itself, giving me a bluescreen.  But I could back off to things like Megaton from Fallout 3 or the Spelljammer Merchant and they worked.  By all conventional wisdom, neither of those things should be possible at all much less run well for how heavy they are.  But more than that, they represent a functioning, workable paradigm that blows that laggy scene I asked you to imagine right out of the water, poly-wise.  So I removed pure geometry from consideration.

 

Is it the textures? I looked at this, too, a few different ways.  TGAs max out at 2048x2048 and DDS files at 4096x4096.  Even with the compression, DDS files that size are around 11 megs apiece.  The filesize on a 2048x2048 TGA is something insane, like 16mb a pop.  Since it would seem to be the less-optimized of the two, and since static placeables are still subject to TXI functions, I loaded no less than 8 cycling animations (watermarked so I could be sure they were using different textures) using 2048x2048 textures (which were also partly transparent) and those played nicely too.  That's almost 200mb of unique texture memory being consumed which is also, in my guess anyway, far more than even that laggy scene we're trying to get to the bottom of would be using.  So I removed texture memory from consideration.

 

Is it the draw calls? Draw calls were the last remaining thing I could possibly describe that unexpected FPS hit with but just that, itself, wasn't enough.  But using a debugger, I could see the huge number of draw calls the game was making and that tipped the balance more than anything else.  Except for emitters, some of which are definitely optimized to reduce draw calls internally, most official content and most community-made things aren't efficiently created, using separate textures and meshes which increase the draw calls.  A lot.  I can't easily get a count of the draw calls on whole scenes because NWN does not apparently make its draw calls to a specific OpenGL "context".  It just shoots them out.  I can step through them and count them manually but I can't (yet) get an automated draw call count because those performance meters are specific to measure the draw calls directed at a specific context, either Context 1 or Context 2.  Also, how many draw calls is too many?  Totally depends on your graphics card and CPU.  I tend to make things that are playable on my P4 (circa 2005) with a GeForce2 Ti (circa 2001) in it, just sort of because.  Not all draw calls carry the same weight (because some draw operations, for instance, might involve transparency) but I hear numbers like 500, under 2000, that kind of thing.  Across the board (this is the deductive part) draw calls are to be avoided because too many will slow down FPS.  And so I haven't been able to eliminate draw calls from the candidates, nor do I have something else I can point to. 

 

Anyway, concerning drawcalls, what I'm trying to say is that we haven't really tested yet how many you need to have before it starts actually affecting performance.

 

Because there are a few variables involved, one thing I've seen bandied about online is a test that goes something like this:  Get VSync on so you have a clear handle on the number of full frames that are hitting the monitor.  So, 60, 75, whatever your refresh rate is.  Find/make a scene which reduces your framerate some considerable amount, say to 30 FPS with VSynched maximum of 60.  Then lower your resolution.  If the FPS do not go up, then the FPS is being limited because of too many draw calls.  I don't have much time, but I'm hoping to take known or generally agreed-on laggy non-shadowed areas and try to analyze them.

 

Do you or anyone else have what they think are good candidates for testing this?  Official content would be preferable to community-made stuff.


  • Rolo Kipp et MerricksDad aiment ceci

#95
OldMansBeard

OldMansBeard
  • Members
  • 152 messages

Okay.

 

OTR's tests on placeables indicate that draw calls matter for placeables and it's worthwhile to think about minimising them.

My tests on tiles indicate that draw calls don't matter for tiles and it's counterproductive to try to minimise them.

 

Conclusion: tiles and placeables are different.

 

We're both right :D


  • OldTimeRadio, Rolo Kipp et MerricksDad aiment ceci

#96
Zarathustra217

Zarathustra217
  • Members
  • 221 messages

@OTR

 

Well, the ideal way to test is always to minimize the amount of variables.

 

You could try to compare FPS on a complex object (perhaps your spelljammer ship?) as one mesh with the same object but split into several meshes. Depending on how the NWN render engine is designed, it is however possible to render multiple meshes in one drawcall, so would have to check to make sure it actually results in additional drawcalls with the gDEBugger. If it doesn't, you may perhaps separate the ship into several placeable models and see if that increase the amount of drawcalls, then test on that.


  • OldTimeRadio et MerricksDad aiment ceci

#97
Rolo Kipp

Rolo Kipp
  • Members
  • 2 791 messages

<counting...>

 

As I see it, there are at least 6 different rendering pipelines:

 

  1. Tile-static
  2. Tile-dynamic
  3. Placeable-static
  4. Placeable-dynamic
  5. Effect
  6. Item

Each of these handles draw distance, txi, alpha, etc in slightly different manner. (Edit: Skin-mesh! You can *not* set skinmesh to static! It will crash the client)

Each of these really need to be considered as separate renders, for optimization purposes.

I really wish Peachykeen was around to comment on this, with all that work on NWShader :-P

 

<...on all his fingers>


  • OldMansBeard, OldTimeRadio et MerricksDad aiment ceci

#98
OldMansBeard

OldMansBeard
  • Members
  • 152 messages

Well now, not to put the cat among the pigeons, but ...

 

I've tried taking the last test set-up and making all the tiles null (just walkmeshes and lights), so the area looks blank, then defining static placeables using the non-null chunked tile models and painting the areas with those instead. So the areas look exactly the same, they are made of the same meshes but all the visible meshes are moved off the tiles and onto placeables.

 

Result? There's no difference. For all the chunk sizes, for all the camera positions, there's not so much as 1fps difference between tiles and placeables.

 

Like for like, tiles and static placeables cost the same. :huh:

 

I think it's time someone else did some testing. Maybe I'm doing something horrendously wrong ?


  • Zarathustra217 et OldTimeRadio aiment ceci

#99
Zwerkules

Zwerkules
  • Members
  • 1 321 messages

Result? There's no difference. For all the chunk sizes, for all the camera positions, there's not so much as 1fps difference between tiles and placeables.

 

Like for like, tiles and static placeables cost the same. :huh:

 

I think it's time someone else did some testing. Maybe I'm doing something horrendously wrong ?

That's interesting. Did any of those placeables have transparent parts?

I once created an area where nearly all the tiles had the variations with trees on them and the area lagged. So I changed a lot of the tiles to variations without trees and added the trees as placeables. I even added more trees than before and the lag was still gone.


  • OldTimeRadio aime ceci

#100
OldMansBeard

OldMansBeard
  • Members
  • 152 messages

That's interesting. Did any of those placeables have transparent parts?

I once created an area where nearly all the tiles had the variations with trees on them and the area lagged. So I changed a lot of the tiles to variations without trees and added the trees as placeables. I even added more trees than before and the lag was still gone.

No, all the transparent parts had been removed from the tiles. It was all just static meshes.

 

I could try restoring the fences and splotches and doing the comparison again. The V1 models had the transparent parts (transparencyhint 1) consolidated, not hung from 'a' nodes. I'll try using those.

 

(edit - added)

 

I tried that. There is a slight improvement in fps with placeables as against tiles, when the models include transparent parts. It's only 2~3 fps in this case, but the frame rate is probably dominated by the static meshes anyway. Figures for the Camera B - looking down at a crossroads with one building visible in each quadrant, using 4x4 chunks (models 4000x4000 cm):

                              Tiles    Placeables
Without Fences & Splotches      115         115
With Fences & Splotches         104         107

So it's not a huge difference, but it is in that direction.


  • Zwerkules, OldTimeRadio et Rolo Kipp aiment ceci