DeletedUser
Hi,
yesterday @ open beta start many users saw some real performance issues regarding the server(s) :
http://forum.en.forgeofempires.com/showthread.php?837-Server-offline
So let's say the overall input / output performance was not really good.
But why ?
At first much more players are playing the game on the same? server
This causes a much bigger load in communication with the server
From what I have watched by playing the game, every action you take must get a response from the server.
Example 1 : You collect 1 house, the server says "OK" and the gold gets added to your ingame goldaccount, the timer for the house restarts (this is on clientside)
Example 2 : You collect 20 houses in a row, the server needs to send you 20 x OK and the gold is added
Then you see the single calculations below your gold/supplies account (+21, +21, +21 and so on)
So how to improve it ?
We've allready got enough timers on clientside in the game, so it won't be a problem to create another one.
Let's call it "The Collector "
The Collector takes any action a player makes in a fixed timeperiod and after the time is up, it submit's all playeraction taken to the server as a single transaction - the Server gives only 1 OK and any collected resource is free again for playeractions.
So let's try this :
The Collector gets a 30(20/10) second interval.
You collect in this timeframe 20 houses and 4 productions, all without any response from the server.
After the interval the Collector communicates to the server that all 20 houses + 4 productions are collected.
The server says OK and the player get one calculation on the two accounts (lets say 420 gold + 384 supplies), after that the collector sets the collected resources free for any action.
If there is no player action at all ... the Collector does nothing and restarts it's timer waiting for input.
But what would happen if The Collector is busy with sending and I want to collect ?
To prevent this case, we need to add one memoryspace which saves the playeraction and gives it over to the collector after it's
free again -> Problem solved
Where is the performanceboost here or any advantages ?
1. Much less communications between client <-> server
2. Less calculations on the client
3. Much faster responsetime for any playeraction
4. You could support much more players on the same server without any issues
5. Cities could be bigger as they are now with much more objects to interact
Any disadvantages ?
Need to be programmed and tested, but we are still in beta ... and normally you do exactly this on the beta stage.
Greetings
Funonline
yesterday @ open beta start many users saw some real performance issues regarding the server(s) :
http://forum.en.forgeofempires.com/showthread.php?837-Server-offline
So let's say the overall input / output performance was not really good.
But why ?
At first much more players are playing the game on the same? server
This causes a much bigger load in communication with the server
From what I have watched by playing the game, every action you take must get a response from the server.
Example 1 : You collect 1 house, the server says "OK" and the gold gets added to your ingame goldaccount, the timer for the house restarts (this is on clientside)
Example 2 : You collect 20 houses in a row, the server needs to send you 20 x OK and the gold is added
Then you see the single calculations below your gold/supplies account (+21, +21, +21 and so on)
So how to improve it ?
We've allready got enough timers on clientside in the game, so it won't be a problem to create another one.
Let's call it "The Collector "
The Collector takes any action a player makes in a fixed timeperiod and after the time is up, it submit's all playeraction taken to the server as a single transaction - the Server gives only 1 OK and any collected resource is free again for playeractions.
So let's try this :
The Collector gets a 30(20/10) second interval.
You collect in this timeframe 20 houses and 4 productions, all without any response from the server.
After the interval the Collector communicates to the server that all 20 houses + 4 productions are collected.
The server says OK and the player get one calculation on the two accounts (lets say 420 gold + 384 supplies), after that the collector sets the collected resources free for any action.
If there is no player action at all ... the Collector does nothing and restarts it's timer waiting for input.
But what would happen if The Collector is busy with sending and I want to collect ?
To prevent this case, we need to add one memoryspace which saves the playeraction and gives it over to the collector after it's
free again -> Problem solved
Where is the performanceboost here or any advantages ?
1. Much less communications between client <-> server
2. Less calculations on the client
3. Much faster responsetime for any playeraction
4. You could support much more players on the same server without any issues
5. Cities could be bigger as they are now with much more objects to interact
Any disadvantages ?
Need to be programmed and tested, but we are still in beta ... and normally you do exactly this on the beta stage.
Greetings
Funonline
Last edited by a moderator: