Go Back   The Construct Forums > Gaming > Construction Creations
User Name
Password


Reply
 
Thread Tools Search this Thread Display Modes
31 - 05-29-2008, 08:04 AM quote
Cornucopia
That One Guy
Divine Order of the Hammer
 
Cornucopia's Avatar
 
Join Date: Dec 2006
Location: Krash's Basement
Posts: 970
Offline

Great eyecandy.

----------------------------------------------------------------------
 
32 - 06-01-2008, 06:10 AM quote
Eolk
Angry Old Man
 
Join Date: Nov 2007
Location: In an old, scary house
Posts: 2,960
Offline

Maybe a refresh command to fix Turkey's problem could work. Refresh my client, etc.

Said Eolk, not Eehk.
 
33 - 06-12-2008, 04:59 PM quote
Thyth
AKA Electricutioner
 
Join Date: Dec 2006
Posts: 479
Offline

Real world performance testing by Shane and Krash has indicated that the primary performance bottleneck is the server to client packet limits, and not the ghost duplicate detection. In the current implementation, one packet is sent per client remote procedure call, which occurs whenever an object is moved, added, deleted, cloaked, resized, etc..

Fortunately, this issue is relatively easy to fix by clustering updates into larger packets. Around 250 bytes can be packed in a packet, which would reduce the number of packets required to about 5% of current. Loading a 2000 piece building at 24 packets per second could take up to 80 seconds. With basic clustering, this time is reduced to about 4 seconds.

Expect an update in the near future.

 
34 - 06-13-2008, 10:38 AM quote
Thyth
AKA Electricutioner
 
Join Date: Dec 2006
Posts: 479
Offline

I ran some practical upper limit tests on SI buildings as well. It appears that the game does various book keeping operations on every object that exists in the game, independent of any scripts. On my relatively modern hardware, the time spent computing those objects starts producing unplayable levels of lag around 25,000 pieces.

I have generated and loaded a 300x300 maze (44735 pieces) incrementally to measure that lag. Pretty final result image is attached. Framerates were about 0.1 fps.

Edit: Attached the maze save file if anyone else wants to play around with it.
Attached Thumbnails
Click image for larger version

Name:  screen25.png
Views: 409
Size:  238.6 KB  
Attached Files
File Type: zip Maze300x300.zip (297.4 KB, 263 views)


Last edited by Thyth : 06-13-2008 at 04:21 PM.
 
35 - 06-13-2008, 12:33 PM quote
Blnukem
Pimp
 
Blnukem's Avatar
 
Join Date: Nov 2007
Location: California
Posts: 3,362
Offline

I would love to be in that maze with like... 20 other people. By the time someone finds the exit, it would be a week or so later.
 
36 - 06-20-2008, 05:17 PM quote
Naosyth
AKA Avenger777
Divine Order of the Hammer
 
Naosyth's Avatar
 
Join Date: Dec 2006
Location: Las Vegas
Posts: 551
Offline

Why do textures not change over 1024 pieces?



 
37 - 06-20-2008, 05:20 PM quote
Krash
Neptune Sleeps
 
Krash's Avatar
 
Join Date: Nov 2006
Posts: 1,357
Offline

Line 54 - %this.setDatablock(%payload); - does not properly tell the client which datablock to switch to.
To see datablock changes, change this line to:
%this.setDatablock(ServerConnection.getObject(%payload + 1));



Just updated the auto-updating client file from the original post to reflect this change.

 
38 - 06-20-2008, 06:14 PM quote
Thyth
AKA Electricutioner
 
Join Date: Dec 2006
Posts: 479
Offline

Whoops. Looks like I did it right in the object creation notifications, but not in the datablock changer.

Thanks, Krash.

 
39 - 06-21-2008, 07:14 PM quote
Dark Dragon DX
The Programmer
 
Dark Dragon DX's Avatar
 
Join Date: Jun 2007
Posts: 826
Offline

The script is glitched. When you run ACCM, ServerConnection.getobject(0) doesn't return -1, thus having the server send you the SI ghosts causing unneeded lag. However, this glitch could be caused by Krash's quick installer, ACCM or Windows Vista.

Last edited by Dark Dragon DX : 06-21-2008 at 08:13 PM.
 
40 - 06-21-2008, 09:23 PM quote
Naosyth
AKA Avenger777
Divine Order of the Hammer
 
Naosyth's Avatar
 
Join Date: Dec 2006
Location: Las Vegas
Posts: 551
Offline

I think that loaded pieces are somehow different than pieces newly places (In ECM at least, I don't know about other mods). I was using the editor gun in my server, and any pieces that I had loaded would not have the editor ghost appear while being edited. I could edit them, though that is hard to do without the editor ghost.

After applying edits, it would leave a copy of itself that had no collision, which would go away right when I placed a new piece. None of these problems occurred when I edited newly placed pieces. I haven't really had the time to try to fix this, so I'm not sure if it is ECM or SI.



 
41 - 07-17-2008, 10:39 AM quote
Blnukem
Pimp
 
Blnukem's Avatar
 
Join Date: Nov 2007
Location: California
Posts: 3,362
Offline

Quote:
Originally Posted by Dark Dragon DX
The script is glitched. When you run ACCM, ServerConnection.getobject(0) doesn't return -1, thus having the server send you the SI ghosts causing unneeded lag. However, this glitch could be caused by Krash's quick installer, ACCM or Windows Vista.


It's probably Windows Vista.
 
42 - 08-04-2008, 12:47 PM quote
Plutonium-239
Unstable
 
Join Date: Jul 2008
Location: Seattle, WA
Posts: 6
Offline

Wow..

Very clever Linker and Electricutioner.

Good job guys.

I know we havn't been best of friends but I got to give you two some respect considering you solved a problem that MostLikely and I couldn't even solve working directly with GarageGames.

Last edited by Plutonium-239 : 08-04-2008 at 01:02 PM.
 
43 - 08-10-2008, 10:51 AM quote
Linker
Dying of the Light
 
Linker's Avatar
 
Join Date: Jul 2007
Posts: 86
Offline

hm, i remember that, but it still seems like you can just change the 2~3 constants in the ghosting code and have it work...
 
44 - 08-21-2008, 11:14 PM quote
Thyth
AKA Electricutioner
 
Join Date: Dec 2006
Posts: 479
Offline

I've updated the first post to indicate recent changes.

I've experimented a bit with various spatial partitioning schemes to reduce the lookup time for an object based on transform/scale/datablock, and as of the 0.6 SI client, I've come up with something extremely viable. Loading times of large buildings still suck, but at least now, the duplicate detection code doesn't produce lagspikes. Additionally, there are none of the false positive/false negative issues that were common with the 0.1 client series. In fact, the client is very pleasant to use, even with thousands of pieces coming and going.

I'm still testing out some of my notification conglomeration ideas, but so far they don't look very promising. It might be possible to boost transfer times by 50-100%, but it still ends up slower than ghost transmission by a few times. Once I finish these conglomeration experiments, I'll consider some sort of public release.

 
45 - 08-21-2008, 11:29 PM quote
Krash
Neptune Sleeps
 
Krash's Avatar
 
Join Date: Nov 2006
Posts: 1,357
Offline

And here the rest of us sit waiting in traffic in our 1984 Pontiac Dream.
 
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
SI (Structural Infinity) Help/Info Mezalyth The Construct 26 12-17-2012 06:40 AM
Structural Infinity Blnukem General Discussion 2 05-05-2009 12:57 PM
Cannot get Structural Infinity to fully function. Ceskelmag Construction Help 1 07-19-2008 09:57 AM



All times are GMT -7. The time now is 04:17 PM.
Powered by: vBulletin Version 3.0.3
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.