Aller au contenu

Photo

Placable Lag?


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

#51
NorthWolf

NorthWolf
  • Members
  • 86 messages
I really hate jumping into these things because it's always a no-win, but it seems silly to pretend this isn't happening...

Honestly, guys? Neither side is painting a pretty picture of themselves because of the pointless and thinly veiled jabs going about. A complete discussion of this particular topic would've simply explained the nature of toolset-placed and script-placed statics and the differences. Though this is hardly the first discussion in here that could have avoided a lot of bickering, really.

So, really, for the sake of the original poster and anyone looking for actual info in here, maybe a little more on-topic and take the bickering to the personal channels readily available?

Modifié par NorthWolf, 27 décembre 2010 - 12:13 .


#52
eeriegeek

eeriegeek
  • Members
  • 47 messages

Invisig0th wrote...
Your best performance for a placeable is always going to be when the placeable is placed in the toolset and flagged as static. The fact that the game engine only expends minimal effort dealing with these has severe drawbacks, however. You cannot create or destroy these placeables, or interact with them in any way. For all intents and purposes, they treated as part of the tileset during gameplay. They are indeed "static" in the strictest sense of the term.

However, static placeables that are created via a script from a blueprint are treated very differently by the NWN Game engine. For starters, you can create and destroy such placeables. If your need to manipulate the placeable via script is limited to these and a handful of other basic scenarios, and if you really can't achieve the desired effect using static placeable placed ahead of time in the toolset, then using this technique may be useful. And if someone is very serious about ratcheting down placeable lag as much as possible, like we are discussing here, the fact that spawned in static placeables involve less overhead than non-static, non-usable placeables can also make a big difference.

An example would be creating a tree placeable that can't be interacted with directly by PCs, but which will "burn" and be destroyed if a fireball goes off nearby. Static placeables placed in the toolset at design time definitely will not work, since you literally can't destroy them using a script. A non-static, non-usable placeable would certainly work, but that's an awful lot of extra overhead when all you are doing is applying a brief VFX and then destroying the placeable. With spawned-in static placeables, it's quite easy to do all this with minimal overhead.


Can you expand a little on how one goes about creating spawned-in static placeables from a script? I tried to create a placeable blueprint in the toolkit to test it out, and intially the static checkbox is greyed out. By checking and unchecking the usable flag I can select the static flag, but every time I save and re-open the template, the static box is unchecked again. My toolkit doesn't seem to want to create a static template. How did you go about implementing this? Any help appreciated.

#53
FunkySwerve

FunkySwerve
  • Members
  • 1 308 messages

NorthWolf wrote...

I really hate jumping into these things because it's always a no-win, but it seems silly to pretend this isn't happening...

Honestly, guys? Neither side is painting a pretty picture of themselves because of the pointless and thinly veiled jabs going about. A complete discussion of this particular topic would've simply explained the nature of toolset-placed and script-placed statics and the differences. Though this is hardly the first discussion in here that could have avoided a lot of bickering, really.


While I admire your attempt to stay out of the fray, it also creates a false leveling. What is happening in this thread isn't two groups of people bickering, it's one person (though not the first, as you note) saying wildly inaccurate things, others correcting them, and that person attacking them for it. I won't even attempt to speculate at the why.

eeriegeek wrote...

Invisig0th wrote...
Your best performance for a placeable is always going to be when the placeable is placed in the toolset and flagged as static. The fact that the game engine only expends minimal effort dealing with these has severe drawbacks, however. You cannot create or destroy these placeables, or interact with them in any way. For all intents and purposes, they treated as part of the tileset during gameplay. They are indeed "static" in the strictest sense of the term.

However, static placeables that are created via a script from a blueprint are treated very differently by the NWN Game engine. For starters, you can create and destroy such placeables. If your need to manipulate the placeable via script is limited to these and a handful of other basic scenarios, and if you really can't achieve the desired effect using static placeable placed ahead of time in the toolset, then using this technique may be useful. And if someone is very serious about ratcheting down placeable lag as much as possible, like we are discussing here, the fact that spawned in static placeables involve less overhead than non-static, non-usable placeables can also make a big difference.

An example would be creating a tree placeable that can't be interacted with directly by PCs, but which will "burn" and be destroyed if a fireball goes off nearby. Static placeables placed in the toolset at design time definitely will not work, since you literally can't destroy them using a script. A non-static, non-usable placeable would certainly work, but that's an awful lot of extra overhead when all you are doing is applying a brief VFX and then destroying the placeable. With spawned-in static placeables, it's quite easy to do all this with minimal overhead.


Can you expand a little on how one goes about creating spawned-in static placeables from a script? I tried to create a placeable blueprint in the toolkit to test it out, and intially the static checkbox is greyed out. By checking and unchecking the usable flag I can select the static flag, but every time I save and re-open the template, the static box is unchecked again. My toolkit doesn't seem to want to create a static template. How did you go about implementing this? Any help appreciated.


You can spawn in static placeables quite easily, as well as make them. If the wizard doesn't like you doing it, you can simply pick a standard palette object to spawn in for testing, or make a copy of it, and change the appearance to the one desire, and the static flag will not revert. That, however, misses the point.

Without meaning to be rude, he really has no idea what he's talking about - heed him at your peril. To rattle off the mistakes I see off hand in the above-quoted material:
1) You can destroy statics, as kal already pointed out.
2) You CAN interact with statics in any number of ways other than destruction: looping through objects turns them up, you can make them speakstring (though it appears in combat log and not above them), you can even set and get variables on them. One of the few things you CAN'T do to them is apply VFX. Another is SetUseable (as per the function notes - they are correct).
3) The notion that using a non-static placeable spawn-in as opposed to a static one is an " awful lot of extra overhead" is laughable. So far as I know, spawned-in static placeables are like non-statics in every salient way. Heck, you can even SetUsable them, which you cannot do to true statics. The only reason I agreed with his recommendation that they be spawned in as static is an abundance of caution - in almost all cases, there's no reason NOT to spawn them in static, and there's a chance (far from a demonstrated certainty) that they cause less overhead (as opposed to pre-set statics, which DEFINITELY cause less overhead). The only time when it's pointless to do so is when you plan to interact with them further anyway. In any event, any such difference in overhead would be miniscule, if not completely negligible, as has already been said.

This is another one of those areas kal pointed out where goth contradicts himself - remember that the person claiming that spawning placeables in as non-static generates 'an awful lot of extra overhead'  is the same person who began posting in  this thread saying instead that 'there may be benefits to spawning them in nonstatic.' Unless he has some uncited source of new knowledge - doubtful, from the mistakes noted above - he's simply making this up out of whole cloth. Again, I won't speculate as to why, but I can say without any speculation that he's simply wrong.

Funky

Modifié par FunkySwerve, 27 décembre 2010 - 06:52 .


#54
eeriegeek

eeriegeek
  • Members
  • 47 messages

You can spawn in static placeables quite easily, as well as make them.
If the wizard doesn't like you doing it, you can simply pick a standard
palette object to spawn in for testing, or make a copy of it, and
change the appearance to the one desire, and the static flag will not
revert.


Hmnn, interesting side point, I figured out what was happening, but not why. The problem I had selecting the static flag seems related to the new tree placeables. I was unable to create a static template for any of the new Bioware trees. As soon as I picked a different model (boulder, old plc_tree) I could enable the static flag.

#55
Invisig0th

Invisig0th
  • Members
  • 170 messages
You know, I had started to type up a post rebutting the "rebuttal" above, starting with the fact that didn't quite make made the claims that map to the first two items on that list. But honestly, there's no point in explaining all that to FS, because he doesn't want to even honestly acknowledge what was and was not already said above. Deaf ears, so to speak. The other people who are honestly interested in placable lag who read this thread can see for themselves where he went off the rails. No need to repeat it for them.

NorthWolf wrote...
Honestly, guys? Neither side is painting a pretty picture of themselves because of the pointless and thinly veiled jabs going about. A complete discussion of this particular topic would've simply explained the nature of toolset-placed and script-placed statics and the differences. Though this is hardly the first discussion in here that could have avoided a lot of bickering, really.

So, really, for the sake of the original poster and anyone looking for actual info in here, maybe a little more on-topic and take the bickering to the personal channels readily available?

Agreed. I foolishly let FS get to me. My apologies for the associated noise around the discussion.

Attention FS -- this post is referring to your behavior as well. Perhaps even moreso, since you had already insulted and upset another community member before I even began participating in this thread. Let's see if you can also be a man about it and stop with the needless flaming and provoking of other community members who are, for the most part, only trying to contribute to the discussion in a helpful way. Whether you believe it or not, we're all on the same side here. Take it down a notch or two.

Modifié par Invisig0th, 27 décembre 2010 - 01:41 .


#56
TSMDude

TSMDude
  • Members
  • 865 messages

Invisig0th wrote...

You know, I had started to type up a post rebutting the "rebuttal" above, starting with the fact that didn't quite make made the claims that map to the first two items on that list. But honestly, there's no point in explaining all that to FS, because he doesn't want to even honestly acknowledge what was and was not already said above. Deaf ears, so to speak. The other people who are honestly interested in placable lag who read this thread can see for themselves where he went off the rails. No need to repeat it for them.

 I foolishly let FS get to me. My apologies for the associated noise around the discussion.

Attention FS -- this post is referring to your behavior as well. Perhaps even moreso, since you had already insulted and upset another community member before I even began participating in this thread. Let's see if you can also be a man about it and stop with the needless flaming and provoking of other community members who are, for the most part, only trying to contribute to the discussion in a helpful way. Whether you believe it or not, we're all on the same side here. Take it down a notch or two.


Your apology is wrought with accusations and further snide remarks. No offense Invis but I think you might want to edit your comment to say just this.

My apologies for the dung flinging around the discussion.

This way you can really just put it behind this. Otherwise it contuines to smack of insincere and negates any ogre's apology.

#57
NorthWolf

NorthWolf
  • Members
  • 86 messages

eeriegeek wrote...

Hmnn, interesting side point, I figured out what was happening, but not why. The problem I had selecting the static flag seems related to the new tree placeables. I was unable to create a static template for any of the new Bioware trees. As soon as I picked a different model (boulder, old plc_tree) I could enable the static flag.


Yes, this is the case with some placeables. We had someone do a full overhaul of the placeables from CEP/Q to make blueprints for all of them, and some placeables simply will not allow the static flag to be active. This has to do with the placeable.2da. The far right column is "static", and you can toggle the availability of the static flag there.

Not knowing anything about modeling I can't tell you why it's necessary on placeables, though most of the disabled placeables have danglymesh or animations associated with them (i.e. hidden doors).

#58
ShadowM

ShadowM
  • Members
  • 768 messages
The reason for this is that a lot of the new models were using skinmeshes and skinmeshes on placables would cause crashes of the game/server so bioware set these to permanent static or non static and add the ability to block it in the .2da so people did not accidentally crash their game and whine about what going on. I not sure if it was fixed in the last patch or was introduced in the last patch. I think there info about it in the old forums, but you have do some searching.

#59
NorthWolf

NorthWolf
  • Members
  • 86 messages
Checked it, was part of the 1.67 patch update:

Added the ability to force a placeable to be non-static (grey out the static checkbox) for any placeable using skin mesh. This is toggleable in the placeables.2da in a "Static" column. Defaults to allow if column missing.

Sounds like you're totally correct, Shadow!

Modifié par NorthWolf, 27 décembre 2010 - 10:49 .


#60
Invisig0th

Invisig0th
  • Members
  • 170 messages
TSMDude,

Please restrict any further personal comments, opinions or critiques you'd like to send my way to PMs. Such things do not belong in this thread.

Modifié par Invisig0th, 27 décembre 2010 - 11:46 .


#61
FunkySwerve

FunkySwerve
  • Members
  • 1 308 messages

Invisig0th wrote...

TSMDude,

Please restrict any further personal comments, opinions or critiques you'd like to send my way to PMs. Such things do not belong in this thread.

After what you posted above, this is comical. Instead of addressing the substance of the remarks I made regarding your post, you attacked me instead . Such ad hominem attacks fail to advance the conversation in any meaningful way, and are typically only resorted to when the person offering them is unable to make a substantive rebuttal, in order to derail the conversation away from the substance of a debate into a unending sniping fest. You, not the other posters in this thread, are the one engaging in this behavior, as has been pointed out by a number of posters, including TSMDude. You're playing very fast and loose with the forum code of conduct, and contributing nothing substantive to the discussion. You engage in personal attacks, and then ask ME to apologize to YOU, playing the victim. It's wearing a bit thin. Unless you'd like to point out where I was wrong in describing your mistakes above, or have something else of substance to contribute, kindly restrain yourself from posting, or I'll ask a moderator to impose some restraint for you.

Thanks,
Funky

#62
Invisig0th

Invisig0th
  • Members
  • 170 messages
Now that's just a blatant flame/flamebait. You have apparently ceased to have any interest in discussing anything here other than your personal feelings for me.  That's a big no-no in these forums. I've offically reported you to the EA forum moderators for the posts above. Please show some respect for the original poster and stop spamming this thread with posts which don't actually contain anything related to the question that was asked here.

If you wish to be treated like a pillar of the NWN community, then you might want to start acting like one.

Modifié par Invisig0th, 28 décembre 2010 - 05:31 .


#63
kalbaern

kalbaern
  • Members
  • 824 messages

Invisig0th wrote...

Now that's just a blatant flame/flamebait. You have apparently ceased to have any interest in discussing anything here other than your personal feelings for me. 

I've offically reported you to the Activision forum moderators for the posts above. Please show some respect for the original poster and stop insisting on continuing to spam this thread.

If you wish to be treated like a pillar of the NWN community, then you might want to start acting like one.


Wow! Since when does someone offering constructive insight or a differing point of view constitute flaming? Only your own responses here and in other threads meet the actual criteria of flaming. Honestly. Everytime someone disagrees with you, you do naught but insult them.

PS ... I actually tried to PM you before posting, but despite your requests for folk to do so, it seems you still block access to contact you via these forums to anyone that disagrees with you.

If you're really looking to report a Troll or Flamer to the moderators, check a mirror, there's one closer than you realise.

Modifié par kalbaern, 28 décembre 2010 - 03:47 .


#64
Invisig0th

Invisig0th
  • Members
  • 170 messages
If you don't like how the PM system works, please feel free to complain to the forum moderators about it. I certainly can't change the rules.

Regardless, your insults towards me certainly do not belong in this thread. Reported to forum moderators as harassment. Explain it to them.

Modifié par Invisig0th, 28 décembre 2010 - 05:26 .


#65
Zwerkules

Zwerkules
  • Members
  • 1 321 messages
Wow! If any custom content thread got nearly as much attention as this thread, it would almost look as if creating custom content was still worthwhile. ;)

#66
NorthWolf

NorthWolf
  • Members
  • 86 messages
Since I'm somewhat getting pulled into this and the thread is totally derailed:

Invisig0th wrote...

Agreed. I foolishly let FS get to me. My apologies for the associated noise around the discussion.

You've made no tangible effort to stop "letting FS get to you," and instead this sparring continues. Just as much as you continuously post about people personally messenging you (the preferred means of carrying on this kind of squabbling), you've also blocked everyone who has publically brought up an issue you were providing, meaning they have two choices:

1.) Allow information they perceive as false to be posted publically without rebuttal.
2.) Do nothing.

Are you seriously surprised that they're picking the former option?

Invisig0th wrote...

Attention
FS -- this post is referring to your behavior as well. Perhaps even moreso, since you had already insulted and upset another community member before I even began participating in this thread.

Personally the earlier discussion appeared to me as if someone felt insulted because FS was givingly overly verbose explanations. Except that ignores the fact that this is a thread regarding information to people who don't have the same level of experience or technical expertise; overly verbose explanations are productive and provide information for other posters to base decisions off of.

If there is a difference of opinion on a subject a reader's only recourse is to decide based off of the technical information provided by each side of the argument or test for themselves, and certain things cannot be easily tested.

In the end that post was directed to you and Kalbaern, whose hostilities were a lot more forthright, though I'm having difficulties taxing Kalbaern for the fact you won't unblock them from your inbox so this discussion can carry on where it's not causing a big stir. The whole passive aggressive thing is very transparent and forcing this discussion onto a public thread when you're fully capable of carrying it on privately is really rude to pretty much anyone else following this thread.

I genuinely hope the EA mods actually look this thing over, since you've deemed it necessary to summon them.


Zwerkules wrote...

Wow! If any custom content thread got nearly as much attention as this thread, it would almost look as if creating custom content was still worthwhile. ;)

Yeah, no kidding. =P Reviving NWN one flame war at a time.

Modifié par NorthWolf, 28 décembre 2010 - 02:19 .


#67
FunkySwerve

FunkySwerve
  • Members
  • 1 308 messages

NorthWolf wrote...

I genuinely hope the EA mods actually look this thing over, since you've deemed it necessary to summon them.

As do I. I've messaged a moderator, and reported his posts, on the off chance he was bluffing. It'd be nice to be able to discuss the actual topic. :happy:

Funky

#68
_six

_six
  • Members
  • 919 messages
Merry Christmas everybody...

#69
ehye_khandee

ehye_khandee
  • Members
  • 855 messages
If your placeables are laggy, just taser them a few times, they'll come around. *nods sagaciously*



Be well. Game on.

GM_ODA

#70
Selene Moonsong

Selene Moonsong
  • Members
  • 3 390 messages
Enough of the snide remarks towards one another, if you have issues with other community members then discuss it with them via PMs and work it out there. If such keeps cropping up, in further discussion in this topic, then appropriate action will be taken in accordance with the Site Rules if needed...

#71
Calvinthesneak

Calvinthesneak
  • Members
  • 656 messages
Does setting a placable to plot have any significant effect on the lag issue (static or not)?

Funky you mentioned somewhere that you had a set of static placables with all scripts removed for CEP.  What did you do with lighting placables that cycled on the zep_torchspawn?

#72
Baaleos

Baaleos
  • Members
  • 1 329 messages
Im not sure if Plot would affect anything script side of the placeable, except perhaps making it immortal.



There may be a priority difference between static/plot and non-plot, as far as their HB's go, but Funky or Custom Content creators would be better suited to answer that, its just conjecture on my part at this point.



If plot does increase priority, which it may or may not do, then it could conceivably affect which scripts get executed first, and depending on what those scripts are, they could cause lag.



I dont think the object itself though, would cause any more lag serverside, an object is an object after all. The PlotFlag is a simple single byte of data. (or maybe a few bytes), which is either 0 or 1.

A plot object would probably have just as much perf drain as a non plot object - on the server.




#73
FunkySwerve

FunkySwerve
  • Members
  • 1 308 messages

Calvinthesneak wrote...

Does setting a placable to plot have any significant effect on the lag issue (static or not)?

Funky you mentioned somewhere that you had a set of static placables with all scripts removed for CEP.  What did you do with lighting placables that cycled on the zep_torchspawn?


We keep places that MUST be nonstatic nonstatic. The alembic is one such (or was, may have been fixed). In its case, staticing it would drastically warp the model ingame. I don't know if lighting places must be just in order to have their models display properly (lighting aside), but I highly doubt it, so they're likely static in our builder's mod. We use the places in the builder's mod as a barebones building block, for their model only, making them nonstatic only as necessary after placing them (it usually isn't necessary, absent the need for pcs to see its description, interact with it, etc.

As for zep_torchspawn, we'd removed those heartbeats from our module years ago, and they were removed with all the other scripts in our builder mod placeables. Heartbeats like those are one of the major reasons we have such a mod. Some of bioware's are even more wasteful - like the heaps of bones that spawn a skeleton when someone is close. In both cases, the designers (cep and bioware respectively) did something in a way that was simple for endusers to implement without making systemic changes, but at a rather high cost in script load. If you're at the point where you're considering delagging your module, you should probably leto out the torchspawn scripts entirely, and check and set 'lit' status in some other fashion - area enter is probably the best.

As to plotting, I seriously doubt it has any effect at all. We leave it unset on our statics mostly because it doesn't need to be set on them. We haven't detetcted any appreciable difference in engine treatment of plotted versus nonplotted objects, in any case.

Funky

#74
Calvinthesneak

Calvinthesneak
  • Members
  • 656 messages
Thanks for the info. I've been removing scripts from placables, cause zep_torchspawn is very wasteful. I am tempted to simply build a new mod from ground up since this is using bioware database, albeit sparingly.

#75
GhostOfGod

GhostOfGod
  • Members
  • 863 messages
So in the case of a placeable like the 4x4 water. Is it better to use 1 of those that crosses grid lines or 16 individual 1x1s?