{"action":"created","issue":{"url":"https://api.github.com/repos/servo/webrender/issues/2927","repository_url":"https://api.github.com/repos/servo/webrender","labels_url":"https://api.github.com/repos/servo/webrender/issues/2927/labels{/name}","comments_url":"https://api.github.com/repos/servo/webrender/issues/2927/comments","events_url":"https://api.github.com/repos/servo/webrender/issues/2927/events","html_url":"https://github.com/servo/webrender/pull/2927","id":343844202,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAzMzgxMDA5","number":2927,"title":"Only trigger a frame build if scene properties have changed.","user":{"login":"gw3583","id":39062770,"node_id":"MDQ6VXNlcjM5MDYyNzcw","avatar_url":"https://avatars0.githubusercontent.com/u/39062770?v=4","gravatar_id":"","url":"https://api.github.com/users/gw3583","html_url":"https://github.com/gw3583","followers_url":"https://api.github.com/users/gw3583/followers","following_url":"https://api.github.com/users/gw3583/following{/other_user}","gists_url":"https://api.github.com/users/gw3583/gists{/gist_id}","starred_url":"https://api.github.com/users/gw3583/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gw3583/subscriptions","organizations_url":"https://api.github.com/users/gw3583/orgs","repos_url":"https://api.github.com/users/gw3583/repos","events_url":"https://api.github.com/users/gw3583/events{/privacy}","received_events_url":"https://api.github.com/users/gw3583/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-07-24T00:45:17Z","updated_at":"2018-07-24T16:16:03Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/servo/webrender/pulls/2927","html_url":"https://github.com/servo/webrender/pull/2927","diff_url":"https://github.com/servo/webrender/pull/2927.diff","patch_url":"https://github.com/servo/webrender/pull/2927.patch"},"body":"In many important use cases (e.g. video playback on youtube) the\r\ndisplay list doesn't change very often. Typically, the only\r\nthing changing between frames are the natively decoded video\r\ntexture surfaces.\r\n\r\nIn these cases, we can save a significant amount of CPU usage\r\nand battery power by not building a frame at all.\r\n\r\nPreviously, any call to set/update dynamic properties would\r\ntrigger a frame rebuild. However, it's often the case that\r\nGecko sends dynamic properties updates that are either empty\r\nor exactly the same as the previous frame.\r\n\r\nWith this change, WR will compare the scene properties and\r\nonly trigger a frame rebuild if they have actually changed.\r\n\r\nThis is a partial step towards fixing #2917 - a couple of\r\nother changes are also needed to completely avoid a frame\r\nrebuiild in this use case.\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/servo/webrender/2927)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/servo/webrender/issues/comments/407464732","html_url":"https://github.com/servo/webrender/pull/2927#issuecomment-407464732","issue_url":"https://api.github.com/repos/servo/webrender/issues/2927","id":407464732,"node_id":"MDEyOklzc3VlQ29tbWVudDQwNzQ2NDczMg==","user":{"login":"bors-servo","id":4368172,"node_id":"MDQ6VXNlcjQzNjgxNzI=","avatar_url":"https://avatars1.githubusercontent.com/u/4368172?v=4","gravatar_id":"","url":"https://api.github.com/users/bors-servo","html_url":"https://github.com/bors-servo","followers_url":"https://api.github.com/users/bors-servo/followers","following_url":"https://api.github.com/users/bors-servo/following{/other_user}","gists_url":"https://api.github.com/users/bors-servo/gists{/gist_id}","starred_url":"https://api.github.com/users/bors-servo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bors-servo/subscriptions","organizations_url":"https://api.github.com/users/bors-servo/orgs","repos_url":"https://api.github.com/users/bors-servo/repos","events_url":"https://api.github.com/users/bors-servo/events{/privacy}","received_events_url":"https://api.github.com/users/bors-servo/received_events","type":"User","site_admin":false},"created_at":"2018-07-24T16:16:03Z","updated_at":"2018-07-24T16:16:03Z","author_association":"CONTRIBUTOR","body":":hourglass: Testing commit b21331e134d5bac17c80290cd010dfe59babc7c7 with merge cf9b780325f67c32637deac1256375492e81b4d2..."}}
{"actor":{"display_login":"bors-servo"}}