Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - lance

Pages: [1]
The dotnet core version of tnet server only utilize one cpu on both windows and linux system... Maybe it would run much faster if it support multiple cpus with dot net core 2.0.

Hi, I found some very funny stuff. I tried build the code with vs2017 and .net core 2.0 target. And it actually worked! On linux with dot net core!
I thought tnet only support mono, apparently I was wrong. Maybe dot net core will run faster than mono?

I expect Windows to work faster, since it uses IO Completion ports, which is a Windows feature. Plus, on Windows it runs using .NET, while on Linux it runs through Mono.

Windows will win.

Have you done performance test on Linux server? How do performance on linux server compare to windows server? thanks!

I'm not aware of anything related to this, so can't say. I don't do anything special.

I am starting to deploy my program to linux server. I found it is much slow when run on multi-core servers with mono.
With single core server, I can forward 30k packets per second. While on a quad-core server, I can not do that. On windows server, it also can forward 30k packets per second with multi-core cpu.
So what should I do with linux multi-core server? Some magical switch I should turn on?

TNet 3 Support / Re: Can a TNObject belong to multiple channels?
« on: February 12, 2018, 02:33:39 AM »
BTW, TNObject's uid get changed when it transferred to another channel. Could this uid be consistent?

TNet 3 Support / Can a TNObject belong to multiple channels?
« on: February 12, 2018, 02:29:49 AM »
It seems that although a TcpPlayer can listen to multiple channels, a TNObject can only exist in one channel. Given image below, a TNObject is attached to each player. Client1 and Client2 is fighting at channel edge. All collision detection and damage calculation is done on Host. But Host can not see Client2 because Host does not listen to Channel2(She's too far away). How could I handle this situation? Can a TNObject join and leave channels just like TNManager?

TNet 3 Support / Re: Streaming level with multiple channels
« on: February 12, 2018, 02:09:36 AM »
I redesigned the code and use TNManager to manage the level loading, and it worked, thanks!

TNet 3 Support / Re: Streaming level with multiple channels
« on: December 03, 2017, 05:04:27 AM »
Wouldn't TNManager.JoinChannel(levelToBeLoaded.ChannelID, "Path/To/Level") work?
The level loading is controlled by another class. So I just call TNManager.JoinChannel(channelID, false);
Is this the cause of the problem? Can I control when saved RFCs will be sent? For example after loading the level?

TNet 3 Support / Streaming level with multiple channels
« on: December 01, 2017, 08:51:54 AM »
I have a problem with huge level size and multiple channel.  Each streaming level is assigned to a channel.
If I join the channel after loading the level, in TNObject's Awake, the wrong channel id will be assigned. (TNManager's lastChannelID is not changed to new channel.)
If I join the channel before loading the level, than I got warning "[TNet] Trying to execute a function on TNObject before it has been created."
So how should I handle this situation? Many thanks!

Pages: [1]