{"action":"created","issue":{"url":"https://api.github.com/repos/Valve/fingerprintjs2/issues/31","labels_url":"https://api.github.com/repos/Valve/fingerprintjs2/issues/31/labels{/name}","comments_url":"https://api.github.com/repos/Valve/fingerprintjs2/issues/31/comments","events_url":"https://api.github.com/repos/Valve/fingerprintjs2/issues/31/events","html_url":"https://github.com/Valve/fingerprintjs2/issues/31","id":81841416,"number":31,"title":"jsFontsKey performance improvement","user":{"login":"atsafrir","id":12640218,"avatar_url":"https://avatars.githubusercontent.com/u/12640218?v=3","gravatar_id":"","url":"https://api.github.com/users/atsafrir","html_url":"https://github.com/atsafrir","followers_url":"https://api.github.com/users/atsafrir/followers","following_url":"https://api.github.com/users/atsafrir/following{/other_user}","gists_url":"https://api.github.com/users/atsafrir/gists{/gist_id}","starred_url":"https://api.github.com/users/atsafrir/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atsafrir/subscriptions","organizations_url":"https://api.github.com/users/atsafrir/orgs","repos_url":"https://api.github.com/users/atsafrir/repos","events_url":"https://api.github.com/users/atsafrir/events{/privacy}","received_events_url":"https://api.github.com/users/atsafrir/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-05-28T09:15:11Z","updated_at":"2015-05-28T14:37:01Z","closed_at":null,"body":"The jsFontsKey should store its' result in a cookie and check and return the value stored in that cookie if it exists, before doing the Font detection again. The jsFontsKey is performing a lot of Layout and rendering operation that takes for IOS UIWebview about 5 sec to perform, the following makes the page load very sluggish and effect battery life."},"comment":{"url":"https://api.github.com/repos/Valve/fingerprintjs2/issues/comments/106361186","html_url":"https://github.com/Valve/fingerprintjs2/issues/31#issuecomment-106361186","issue_url":"https://api.github.com/repos/Valve/fingerprintjs2/issues/31","id":106361186,"user":{"login":"s-chris","id":12645167,"avatar_url":"https://avatars.githubusercontent.com/u/12645167?v=3","gravatar_id":"","url":"https://api.github.com/users/s-chris","html_url":"https://github.com/s-chris","followers_url":"https://api.github.com/users/s-chris/followers","following_url":"https://api.github.com/users/s-chris/following{/other_user}","gists_url":"https://api.github.com/users/s-chris/gists{/gist_id}","starred_url":"https://api.github.com/users/s-chris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/s-chris/subscriptions","organizations_url":"https://api.github.com/users/s-chris/orgs","repos_url":"https://api.github.com/users/s-chris/repos","events_url":"https://api.github.com/users/s-chris/events{/privacy}","received_events_url":"https://api.github.com/users/s-chris/received_events","type":"User","site_admin":false},"created_at":"2015-05-28T14:37:01Z","updated_at":"2015-05-28T14:37:01Z","body":"As a stop gap consider making the call non-blocking with something like setTimeout(function () {}, 0); where function is the could running the fingerprintjs2 code. Another option is to reduce the number of fonts being enumerated but this will also limit the uniqueness of the fingerprint. "}}