{"action":"created","issue":{"url":"https://api.github.com/repos/alejandroliu/pocketmine-plugins/issues/16","labels_url":"https://api.github.com/repos/alejandroliu/pocketmine-plugins/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/alejandroliu/pocketmine-plugins/issues/16/comments","events_url":"https://api.github.com/repos/alejandroliu/pocketmine-plugins/issues/16/events","html_url":"https://github.com/alejandroliu/pocketmine-plugins/issues/16","id":93180899,"number":16,"title":"LiveSigns issue","user":{"login":"iVertx","id":10237969,"avatar_url":"https://avatars.githubusercontent.com/u/10237969?v=3","gravatar_id":"","url":"https://api.github.com/users/iVertx","html_url":"https://github.com/iVertx","followers_url":"https://api.github.com/users/iVertx/followers","following_url":"https://api.github.com/users/iVertx/following{/other_user}","gists_url":"https://api.github.com/users/iVertx/gists{/gist_id}","starred_url":"https://api.github.com/users/iVertx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iVertx/subscriptions","organizations_url":"https://api.github.com/users/iVertx/orgs","repos_url":"https://api.github.com/users/iVertx/repos","events_url":"https://api.github.com/users/iVertx/events{/privacy}","received_events_url":"https://api.github.com/users/iVertx/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-07-06T03:50:02Z","updated_at":"2015-07-06T08:26:05Z","closed_at":null,"body":"hi, here I am again :p\r\n\r\n well, I,m using LiveSigns for query some servers... something new that I trying and it envolves showing the server online players in real time on a sign, well, whatever...\r\n\r\nafter setting up 9 servers I figured that my server TPS goes down, and don't even can walk anymore :p\r\n I take some timings and i see that LiveSigns are spamming tasks slowing down the server (really at freezing point, and my machine have powerfull resources...)\r\n\r\n  here one timings result: http://timings.aikar.co/?url=11829177\r\n\r\nI tried changing the tile refresh rate with a high value without result...\r\nmaybe LiveSigns are launching one task inside of another one in a loop?\r\n\r\nwell, Hope this have a solution :)"},"comment":{"url":"https://api.github.com/repos/alejandroliu/pocketmine-plugins/issues/comments/118773194","html_url":"https://github.com/alejandroliu/pocketmine-plugins/issues/16#issuecomment-118773194","issue_url":"https://api.github.com/repos/alejandroliu/pocketmine-plugins/issues/16","id":118773194,"user":{"login":"alejandroliu","id":3462168,"avatar_url":"https://avatars.githubusercontent.com/u/3462168?v=3","gravatar_id":"","url":"https://api.github.com/users/alejandroliu","html_url":"https://github.com/alejandroliu","followers_url":"https://api.github.com/users/alejandroliu/followers","following_url":"https://api.github.com/users/alejandroliu/following{/other_user}","gists_url":"https://api.github.com/users/alejandroliu/gists{/gist_id}","starred_url":"https://api.github.com/users/alejandroliu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alejandroliu/subscriptions","organizations_url":"https://api.github.com/users/alejandroliu/orgs","repos_url":"https://api.github.com/users/alejandroliu/repos","events_url":"https://api.github.com/users/alejandroliu/events{/privacy}","received_events_url":"https://api.github.com/users/alejandroliu/received_events","type":"User","site_admin":false},"created_at":"2015-07-06T08:26:05Z","updated_at":"2015-07-06T08:26:05Z","body":"Yes, the Query stuff was implemented rather quickly.  Though would be useful to have available.  It was in my todo list to optimize it later.  I wasn't expecting for people to start using it right away, and for that many servers.\r\n\r\nAnyway, the problem with the Query is that it is run from the main thread.  (Quickest implementation), but it actually should be done from a AsyncTask (in a different thread).\r\n\r\nHaven't have time to get around implementing that.\r\n\r\nThis actually requires additional though on how tasks are schedule within LiveSigns, as some signs are meant to be updated more slowly (i.e. Internet signs) whereas some signs are meant to be updated quickly (Query and PHP signs).  Right now, slow signs (Internet) are async, whereas quick signs are done in the main thread.\r\n"}}