Quote:
Originally Posted by .Ocularis
"I don't think there's anything else that you guys ne[end of video]"
NOOOO SHOW ME MORE
Looking forward to more of these updates :D
|
Yeah YouTube ate about 35 seconds of the end of the video while trying to edit it on their website, And to add insult to injury it didn't like the size and the bit rate of my video so it converted it from 1.6gb 1080p video to a 250mb god knows what video :(
However, I am glad you liked it, Thanks for stopping by ;)
Quote:
Originally Posted by pro4never
Awesome progress and interesting to watch.
I'm not denying for one single moment that TQs client sucks and is a mess in terms of performance but keep in mind that scattering 100 mobs and the client crashing is a server issue, not a client problem (ok... it's both but it's a bug no playable server should have)
The client has a max buffer size for single packets. If you send too many targets in a single skill packet (max # of targets changes with client version as they make each target use more and more data), it will cause an unhanded exception and crash the client.
Totally unrelated just irked me cause I've seen that complaint so many times. Generally if you see that on a pserver it's a good sign it's a shit server or at least one that still needs some dev work :)
|
Thanks and I agree, but in my scenario the client doesn't crash because it didn't like the size or the number of packets it received it just couldn't handle the pressure of processing and drawing such a number of monster and their effects on the screen simply because it wasn't coded that way. I mean you could easily have a 100 monster idling on the screen but the moment it involves effects, particles and damage it just couldn't keep up.
Quote:
Originally Posted by CptSky
Don't forget the client was developed in the early 2000s and wasn't truly updated since then. A lot of things have changed since they started CO2. Coding practices for games and MMOs too.
|
I would have believed you if we weren't talking about TQ here lol.
I mean this will probably amuse both you and pro4never.
The current Twin-city map has well over 1000 mapcovers, sounds and effects without the server spawning anything, and they are all treated as mapobjects and stored in the same vector and every time a monster/player/effect/etc is spawned by the server it is added to that vector, and how does TQ process them for drawing, well they loop through the entire collection "Every frame" like so.
Code:
vector<> everything;//this is the vector that contains everything
for (i = 0; i < everything.size(); i++)
{
everything[i].process();//mapobject
}
mapobject::process()
{
if(distance <= )
{
InteractiveLayer::ApplyShow(this);//determine when to draw this
}
}
vector<> finalvector;//cleared every frame
InteractiveLayer::ApplyShow(mapobject object)
{
for (i = 0; i < finalvector.size(); i++)
{
if (xyz)
{
int bInsert = i;
for (int n = i - 1; n >= 0; n--)
{
}
finalvector.insert(begin() + bInsert, object);//Draw me after anything < bInsert and before anything > bInsert
}
else
{
nOverLayAfter = i;
for (int n = i + 1; n < dwSize; n++)
{
}
finalvector.insert(begin() +nOverLayAfter, object);
}
}
}
and then when it's time to draw
for (i = 0; i < finalvector.size(); i++)
{
finalvector[i].draw();
}
And until this day you could still see that same obnoxious loop running in their assembly code at least in EU demons and they have had well over 10 years to change this but they never did, why? well because it works and that's all that mattered to them.
Quote:
Originally Posted by KraHen
^ That. With that said, software/hardware batching was and is available, all their monsters use the same material, so all mobs on the screen can and should be drawn with a single draw call, the fact that they cannot do that proves incompetency. The fact that the client is old is not an excuse for not optimizing/updating it (it wouldn't even change a single thing visually for the end users).
|
Agreed, but why should they? I mean it works the way it is and they are making money and everyone is happy lmfao.
But hey joking aside, I really don't see a problem with that I mean draw calls are cheap and are becoming even cheaper every year, Modern GPU's are designed to handle an insane amount of draw calls per second with little to no effort. so if the CPU is not being burnt out and is able to keep up with the GPU then where is the problem?
I mean if I am not mistaken (correct me if i am wrong) the only time you would benefit from a single draw call is when you have a shit load of low poly objects to draw and by a shit load i mean hundreds if not thousands.