Thread Tools Display Modes
08/24/15, 12:12 PM   #1
QuadroTony
Banned
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 828
PTS issue, or?

everytime on PTS when i /reloadui i kicked from a game to login screen

any1 experienced it too?
no matter what addons i use


P.s. sorry looks like it because of addons

will investigate

P.S.S - looks like the longer you play - more chance of kick and more time of reloadui wasting
everytime

weird

Last edited by QuadroTony : 08/24/15 at 01:44 PM.
  Reply With Quote
08/24/15, 01:00 PM   #2
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 1,019
I got difficulties too with reloadui too, but for me it's most a freeze, Maybe im not enought patient. maybe it's one of my addons aswell..
  Reply With Quote
08/25/15, 05:42 AM   #3
Fyrakin
 
Fyrakin's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 129
On PTS /re or /reloadui makes my client freeze for 5-30 seconds before loading screen, but no kick outs.
  Reply With Quote
08/25/15, 05:50 AM   #4
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 1,019
for the freezes, that's definitively an (more than one?) addon issue, with only very few, there's no freeze, i'll try to check which one cause this..
Guess Quadro just got too many addons but get same issue as us.
  Reply With Quote
08/25/15, 05:57 AM   #5
Fyrakin
 
Fyrakin's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 129
Originally Posted by Ayantir View Post
for the freezes, that's definitively an (more than one?) addon issue, with only very few, there's no freeze, i'll try to check which one cause this..
Guess Quadro just got too many addons but get same issue as us.
Probably, but nothing like that happens on live version.
  Reply With Quote
08/25/15, 06:02 AM   #6
QuadroTony
Banned
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 828
Originally Posted by Ayantir View Post
for the freezes, that's definitively an (more than one?) addon issue, with only very few, there's no freeze, i'll try to check which one cause this..
Guess Quadro just got too many addons but get same issue as us.

no-no-no

on pts i have like 5 addons at all
  Reply With Quote
08/25/15, 06:13 AM   #7
merlight
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 671
Same here, with ~35 add-ons /reloadui freezes for a while, but no crash. Also, after /quit, the process keeps running for ~30s, 100% load on 1 core, with >50% its time spent in system calls. I wonder what it does, as memory usage stays nearly the same during that time, and only drops right before it finally terminates.
  Reply With Quote
08/25/15, 07:29 AM   #8
QuadroTony
Banned
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 828
and if you instant logout(in cities)

picture can freez alot before load-out screen
  Reply With Quote
08/25/15, 07:40 AM   #9
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Well this sounds troubling. What addons were you using Tony?
  Reply With Quote
08/25/15, 08:37 AM   #10
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Also can anyone compare the behavior on RC to Live? In all of my internal profiling I was seeing faster write times, not slower.
  Reply With Quote
08/25/15, 08:59 AM   #11
QuadroTony
Banned
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 828
i recorded the video now

starting without addons and then i playing alittle and turn on addons one by one
i dont think the problem is in particular addon

looks everytime after /reloadui pause before load screen was bigger and bigger and in the end - Error 303 server timed out

i player 30 minutes
and strange thing as you can see - one on the cores of my CPU was heavily loaded when i was kicked

http://www.youtube.com/watch?v=ctnGY8ptuus

Last edited by QuadroTony : 08/25/15 at 09:03 AM.
  Reply With Quote
08/25/15, 09:42 AM   #12
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Thanks Tony, we now have an internal test case for this.
  Reply With Quote
08/26/15, 06:00 AM   #13
Fyrakin
 
Fyrakin's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 129
Originally Posted by ZOS_ChipHilseberg View Post
Also can anyone compare the behavior on RC to Live? In all of my internal profiling I was seeing faster write times, not slower.
My figures are astounding, using just a few add-ons that run like a rabbit on steroids on live make PTS choke up after running for a few minutes. I also noticed that collectgarbage("count") is filling very fast (too fast) compared to live. Maybe that's the problem?
I'm trying to alter my add-on to run faster on PTS, but I'm struggling, can't beat 30% of live performance plank.
  Reply With Quote
08/26/15, 07:48 AM   #14
ZOS_ChipHilseberg
ZOS Staff!
Premium Member
Yes this person is from ZeniMax!
Join Date: Oct 2014
Posts: 551
Originally Posted by Fyrakin View Post
My figures are astounding, using just a few add-ons that run like a rabbit on steroids on live make PTS choke up after running for a few minutes. I also noticed that collectgarbage("count") is filling very fast (too fast) compared to live. Maybe that's the problem?
I'm trying to alter my add-on to run faster on PTS, but I'm struggling, can't beat 30% of live performance plank.
Saving performance took a hit because of some changes over the past six months (introducing an intermediate buffer), but we've restored the performance internally and will be fixing that before 1.7 launches. Performance of the VM itself is not a known issue however. We have not noticed any changes to the performance of the stock UI. If you learn more, please let us know.
  Reply With Quote
08/26/15, 12:55 PM   #15
Fyrakin
 
Fyrakin's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 129
Originally Posted by ZOS_ChipHilseberg View Post
Saving performance took a hit because of some changes over the past six months (introducing an intermediate buffer), but we've restored the performance internally and will be fixing that before 1.7 launches. Performance of the VM itself is not a known issue however. We have not noticed any changes to the performance of the stock UI. If you learn more, please let us know.
After todays patch /re is back on track, but perfomance while using my own add-on along with some other just by riding a mount forth and back through the map makes performance degrade. collectgarbage("count") indicates much faster growing than live - 29MB just after /re and about 46MB after a few minutes of riding a mount. On live version I can ride a mount for hours without having any issues. I switched most of variables to local, but it doesn't help on PTS. Increasing LUA memory limit has no effect on performance, it still degrades after same amount of time.

Edit: Performance drops are hiccups followed by FPS drops. Using same settings for live and PTS.

Last edited by Fyrakin : 08/26/15 at 01:00 PM.
  Reply With Quote
08/27/15, 12:50 AM   #16
QuadroTony
Banned
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 828
cant test current pts because i was suspended for 72 hours will test tomorrow

btw do you know ZOS didnt block your account to login, they just change your password temporary
  Reply With Quote
08/27/15, 10:59 PM   #17
Fyrakin
 
Fyrakin's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 129
After some internal tests I was able to pinpoint weak spots.

I have a suspicion that either math.sqrt is working not like on live or normalized coordinate values for wayshrines and player position have more decimal places, what I am seeing is that a simple distance formula sqrt ((x1-x2)^2+(y1-y2)^2) takes a lot more power to complete on pts. This results in signiffican performance loss FPS drops UI lags, etc. Also SetMapToPlayerLocation() works much slower than on live, it is another source of performance loss.
  Reply With Quote
08/28/15, 04:30 AM   #18
merlight
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 671
Originally Posted by Fyrakin View Post
After some internal tests I was able to pinpoint weak spots.

I have a suspicion that either math.sqrt is working not like on live or normalized coordinate values for wayshrines and player position have more decimal places, what I am seeing is that a simple distance formula sqrt ((x1-x2)^2+(y1-y2)^2) takes a lot more power to complete on pts. This results in signiffican performance loss FPS drops UI lags, etc. Also SetMapToPlayerLocation() works much slower than on live, it is another source of performance loss.
Won't fix bad flop performance, but here's a common optimization for distance checks that might help you:
Lua Code:
  1. -- instead of
  2. if sqrt((x1-x2)^2 + (y1-y2)^2) < MAX_DIST then ... end
  3.  
  4. -- do
  5. local dx = x1 - x2
  6. local dy = y1 - y2
  7. local dist2 = dx*dx + dy*dy
  8. if dist2 < MAX_DIST2 then ... end
  9. -- MAX_DIST2 = MAX_DIST^2
  10. -- and needs only be computed once if you have fixed MAX_DIST

You don't have to compute sqrt for a distance check, square the threshold instead, it's cheaper. And of course, once you compute the squared distance, memoize it, don't compute it again for another check a few lines below
  Reply With Quote
08/29/15, 09:56 PM   #19
Fyrakin
 
Fyrakin's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 129
Originally Posted by merlight View Post
Won't fix bad flop performance, but here's a common optimization for distance checks that might help you:
Lua Code:
  1. -- instead of
  2. if sqrt((x1-x2)^2 + (y1-y2)^2) < MAX_DIST then ... end
  3.  
  4. -- do
  5. local dx = x1 - x2
  6. local dy = y1 - y2
  7. local dist2 = dx*dx + dy*dy
  8. if dist2 < MAX_DIST2 then ... end
  9. -- MAX_DIST2 = MAX_DIST^2
  10. -- and needs only be computed once if you have fixed MAX_DIST

You don't have to compute sqrt for a distance check, square the threshold instead, it's cheaper. And of course, once you compute the squared distance, memoize it, don't compute it again for another check a few lines below
I found a way around without a need to scrap the root, but if I run into another performance hindrance I'll have to resort to that. My problem with distance checks is that when player moves all distances change and I have to recalculate all of them to make sure I selected the ones I need.
  Reply With Quote
08/30/15, 04:38 AM   #20
merlight
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 671
Originally Posted by Fyrakin View Post
I found a way around without a need to scrap the root, but if I run into another performance hindrance I'll have to resort to that. My problem with distance checks is that when player moves all distances change and I have to recalculate all of them to make sure I selected the ones I need.
I tried to explain that there's no reason to compute the root if you only need it for comparison against some distance threshold. Additionally, each sub-expression should only be computed once -- it's both more efficient and readable.

Like this function, it does way too many avoidable table lookups and an unnecessary sqrt:
Lua Code:
  1. local function IsCoordinateInRange(x, y)
  2.     if not FyrMM.currentMap.TrueMapSize or not FyrMM.currentMap.PlayerNX or not FyrMM.SV.CustomPinViewRange or not FyrMM.SV.ViewRangeFiltering then return true end
  3.     return FyrMM.currentMap.TrueMapSize * math.sqrt((x-FyrMM.currentMap.PlayerNX)*(x-FyrMM.currentMap.PlayerNX)+(y-FyrMM.currentMap.PlayerNY)*(y-FyrMM.currentMap.PlayerNY)) <= FyrMM.SV.CustomPinViewRange
  4. end

Lua Code:
  1. -- this is used so heavily that I'd localize it at the file level
  2. local g_currentMap = FyrMM.currentMap
  3.  
  4. local function IsCoordinateInRange(x, y)
  5.     local mapSize = g_currentMap.TrueMapSize
  6.     local nx = g_currentMap.PlayerNX
  7.     local pinViewRange = FyrMM.SV.CustomPinViewRange
  8.     if not (mapSize and nx and pinViewRange) then return true end
  9.  
  10.     local dx = x - nx
  11.     local dy = y - g_currentMap.PlayerNY
  12.     return (dx * dx + dy * dy) * mapSize * mapSize <= pinViewRange * pinViewRange
  13. end
  Reply With Quote

ESOUI » Developer Discussions » General Authoring Discussion » PTS issue, or?

Thread Tools
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