{"action":"created","issue":{"url":"https://api.github.com/repos/openlayers/ol3/issues/6082","repository_url":"https://api.github.com/repos/openlayers/ol3","labels_url":"https://api.github.com/repos/openlayers/ol3/issues/6082/labels{/name}","comments_url":"https://api.github.com/repos/openlayers/ol3/issues/6082/comments","events_url":"https://api.github.com/repos/openlayers/ol3/issues/6082/events","html_url":"https://github.com/openlayers/ol3/pull/6082","id":187599903,"number":6082,"title":"Unified canvas rendering","user":{"login":"ahocevar","id":211514,"avatar_url":"https://avatars.githubusercontent.com/u/211514?v=3","gravatar_id":"","url":"https://api.github.com/users/ahocevar","html_url":"https://github.com/ahocevar","followers_url":"https://api.github.com/users/ahocevar/followers","following_url":"https://api.github.com/users/ahocevar/following{/other_user}","gists_url":"https://api.github.com/users/ahocevar/gists{/gist_id}","starred_url":"https://api.github.com/users/ahocevar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ahocevar/subscriptions","organizations_url":"https://api.github.com/users/ahocevar/orgs","repos_url":"https://api.github.com/users/ahocevar/repos","events_url":"https://api.github.com/users/ahocevar/events{/privacy}","received_events_url":"https://api.github.com/users/ahocevar/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":16,"created_at":"2016-11-06T23:46:23Z","updated_at":"2016-11-15T19:52:18Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/openlayers/ol3/pulls/6082","html_url":"https://github.com/openlayers/ol3/pull/6082","diff_url":"https://github.com/openlayers/ol3/pull/6082.diff","patch_url":"https://github.com/openlayers/ol3/pull/6082.patch"},"body":"This pull request is the result of a cleanup and refactoring of the canvas renderer. In particular, its goals are:\r\n\r\n* Share as much code as possible between the layer renderers.\r\n* Use transforms instead of pixel calculations wherever possible. It turned out that pixel calculations for tile positioning were hard to understand and error prone.\r\n* No more direct composition of tiles to the target canvas - the performance gain was minimal, at the cost of code that was hard to read and understand, and poor rendering quality during zoom animations. The new image composition code is more efficient than the one we had before the direct composition refactoring. It creates a canvas with all tiles that intersect the view extent and reuses it as long as that extent fully contains the view extent.\r\n* Avoid overlapping rendering of vector tiles of different resolutions during loading. This is done by rendering replays for high resolution tiles first, and cut extents of already rendered high resolution tiles out of lower resolution tiles that are rendered later.\r\n\r\nThis refactoring also fixes several bugs:\r\n\r\nFixes #5690.\r\nFixes #5936 (alternative to #5999).\r\nFixes #5821.\r\nFixes #5601.\r\n"},"comment":{"url":"https://api.github.com/repos/openlayers/ol3/issues/comments/260747986","html_url":"https://github.com/openlayers/ol3/pull/6082#issuecomment-260747986","issue_url":"https://api.github.com/repos/openlayers/ol3/issues/6082","id":260747986,"user":{"login":"ahocevar","id":211514,"avatar_url":"https://avatars.githubusercontent.com/u/211514?v=3","gravatar_id":"","url":"https://api.github.com/users/ahocevar","html_url":"https://github.com/ahocevar","followers_url":"https://api.github.com/users/ahocevar/followers","following_url":"https://api.github.com/users/ahocevar/following{/other_user}","gists_url":"https://api.github.com/users/ahocevar/gists{/gist_id}","starred_url":"https://api.github.com/users/ahocevar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ahocevar/subscriptions","organizations_url":"https://api.github.com/users/ahocevar/orgs","repos_url":"https://api.github.com/users/ahocevar/repos","events_url":"https://api.github.com/users/ahocevar/events{/privacy}","received_events_url":"https://api.github.com/users/ahocevar/received_events","type":"User","site_admin":false},"created_at":"2016-11-15T19:52:18Z","updated_at":"2016-11-15T19:52:18Z","body":"@tschaub 9c3cf13ff75090f8b7ae281fff6e5decc3406ade is a commit on top of this pull request which still does everything with transforms, but with direct composition (and resulting in gaps when rendering rotated or scaled views). Everything works with that commit, so it should be easy to experiment with it."}}
{"actor":{"display_login":"ahocevar"}}