{"action":"created","comment":{"url":"https://api.github.com/repos/citra-emu/citra-web/pulls/comments/171548739","pull_request_review_id":100418955,"id":171548739,"diff_hunk":"@@ -0,0 +1,95 @@\n++++\n+date = \"2018-02-28T17:00:00-04:00\"\n+title = \"Speeding up Citra: Improvements to the Hardware Renderer\"\n+tags = [ \"feature-update\" ]\n+author = \"jroweboy\"\n+forum = \n++++\n+\n+## Cut to the chase, how fast is this?\n+\n+Very. Test results across various computers show that it averages out to be a **2x speed boost for almost everyone.**\n+\n+gif: side by side pokemon before and after\n+subtext: Real time footage with the frame limiter off. Left side is before this change and right side is after.\n+\n+With the new update, Citra will use much more of your GPU, removing some of the dependence on having a CPU with high single-core performance. As always, the actual difference will vary by game and by your hardware.\n+\n+## History of Citra's Rendering Backends\n+\n+Back in early 2015, Citra was still a young emulator, and just barely started displaying graphics for the first time. In a momentous occasion, Citra displayed 3D graphics from a commercial game, Legend of Zelda: Ocarina of Time 3D\n+\n+video: https://www.youtube.com/watch?v=sYukdJam6gk\n+subtext: It took a year from when citra started to get to this point\n+\n+This engineering feat was thanks to the hardwork of many contibutors in both the emulator scene and the 3ds hacking scene, who worked tirelessly to reverse engineer the 3DS GPU, a chip called the PICA200. But not even a few months later, Citra was able to play the game at fullspeed! \n+\n+video: https://www.youtube.com/watch?v=Hj8sPsB5qXQ \n+subtext: Good thing that shield flashing bug still isn't around\n+\n+How is there such a major difference in speed from the first and the second video? The speed difference boils down to how the 3DS GPU, the PICA200, is being emulated. The first video is showing off the software renderer, which emulates the PICA200 by using your host computer's CPU; on the other hand, the second video is using the OpenGL hardware renderer, which emulates the PICA200 by using your host computer's GPU. From those videos, using the GPU to emulate the 3DS GPU is the clear winner when it comes to speed! However, its not all sunshine and daisies; there's always tradeoffs in software development.","path":"site/content/entry/improvements-to-hardware-renderer.md","position":30,"original_position":30,"commit_id":"54b387f5e9a4032c52dc68c2f5afac637c43d9e7","original_commit_id":"54b387f5e9a4032c52dc68c2f5afac637c43d9e7","user":{"login":"BreadFish64","id":28246325,"avatar_url":"https://avatars2.githubusercontent.com/u/28246325?v=4","gravatar_id":"","url":"https://api.github.com/users/BreadFish64","html_url":"https://github.com/BreadFish64","followers_url":"https://api.github.com/users/BreadFish64/followers","following_url":"https://api.github.com/users/BreadFish64/following{/other_user}","gists_url":"https://api.github.com/users/BreadFish64/gists{/gist_id}","starred_url":"https://api.github.com/users/BreadFish64/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BreadFish64/subscriptions","organizations_url":"https://api.github.com/users/BreadFish64/orgs","repos_url":"https://api.github.com/users/BreadFish64/repos","events_url":"https://api.github.com/users/BreadFish64/events{/privacy}","received_events_url":"https://api.github.com/users/BreadFish64/received_events","type":"User","site_admin":false},"body":"Maybe combine the two sentences about using the CPU and GPU somehow","created_at":"2018-03-01T12:52:19Z","updated_at":"2018-03-01T12:52:19Z","html_url":"https://github.com/citra-emu/citra-web/pull/77#discussion_r171548739","pull_request_url":"https://api.github.com/repos/citra-emu/citra-web/pulls/77","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/citra-emu/citra-web/pulls/comments/171548739"},"html":{"href":"https://github.com/citra-emu/citra-web/pull/77#discussion_r171548739"},"pull_request":{"href":"https://api.github.com/repos/citra-emu/citra-web/pulls/77"}}},"pull_request":{"url":"https://api.github.com/repos/citra-emu/citra-web/pulls/77","id":172152377,"html_url":"https://github.com/citra-emu/citra-web/pull/77","diff_url":"https://github.com/citra-emu/citra-web/pull/77.diff","patch_url":"https://github.com/citra-emu/citra-web/pull/77.patch","issue_url":"https://api.github.com/repos/citra-emu/citra-web/issues/77","number":77,"state":"open","locked":false,"title":"[WIP] Feature Report: GLVTX","user":{"login":"jroweboy","id":952515,"avatar_url":"https://avatars1.githubusercontent.com/u/952515?v=4","gravatar_id":"","url":"https://api.github.com/users/jroweboy","html_url":"https://github.com/jroweboy","followers_url":"https://api.github.com/users/jroweboy/followers","following_url":"https://api.github.com/users/jroweboy/following{/other_user}","gists_url":"https://api.github.com/users/jroweboy/gists{/gist_id}","starred_url":"https://api.github.com/users/jroweboy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jroweboy/subscriptions","organizations_url":"https://api.github.com/users/jroweboy/orgs","repos_url":"https://api.github.com/users/jroweboy/repos","events_url":"https://api.github.com/users/jroweboy/events{/privacy}","received_events_url":"https://api.github.com/users/jroweboy/received_events","type":"User","site_admin":false},"body":"This is the rough draft of the new blog post. I'm putting this up now so people can read it and find any oddities early. I'm mostly looking for feedback on style, but I'll deal with minor grammar fixes. Remember this is a rough draft so now would be the time to nitpick it to death before I consider the core content finalized\r\n\r\nPlease fact check the article as well, especially when I get the \"Challenges of PICA -> GPU\" part written.","created_at":"2018-03-01T06:16:42Z","updated_at":"2018-03-01T12:52:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"826a229c3120cd5b5a654202ab773f93c394ed5d","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/citra-emu/citra-web/pulls/77/commits","review_comments_url":"https://api.github.com/repos/citra-emu/citra-web/pulls/77/comments","review_comment_url":"https://api.github.com/repos/citra-emu/citra-web/pulls/comments{/number}","comments_url":"https://api.github.com/repos/citra-emu/citra-web/issues/77/comments","statuses_url":"https://api.github.com/repos/citra-emu/citra-web/statuses/54b387f5e9a4032c52dc68c2f5afac637c43d9e7","head":{"label":"jroweboy:glvtx","ref":"glvtx","sha":"54b387f5e9a4032c52dc68c2f5afac637c43d9e7","user":{"login":"jroweboy","id":952515,"avatar_url":"https://avatars1.githubusercontent.com/u/952515?v=4","gravatar_id":"","url":"https://api.github.com/users/jroweboy","html_url":"https://github.com/jroweboy","followers_url":"https://api.github.com/users/jroweboy/followers","following_url":"https://api.github.com/users/jroweboy/following{/other_user}","gists_url":"https://api.github.com/users/jroweboy/gists{/gist_id}","starred_url":"https://api.github.com/users/jroweboy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jroweboy/subscriptions","organizations_url":"https://api.github.com/users/jroweboy/orgs","repos_url":"https://api.github.com/users/jroweboy/repos","events_url":"https://api.github.com/users/jroweboy/events{/privacy}","received_events_url":"https://api.github.com/users/jroweboy/received_events","type":"User","site_admin":false},"repo":{"id":122871656,"name":"citra-web","full_name":"jroweboy/citra-web","owner":{"login":"jroweboy","id":952515,"avatar_url":"https://avatars1.githubusercontent.com/u/952515?v=4","gravatar_id":"","url":"https://api.github.com/users/jroweboy","html_url":"https://github.com/jroweboy","followers_url":"https://api.github.com/users/jroweboy/followers","following_url":"https://api.github.com/users/jroweboy/following{/other_user}","gists_url":"https://api.github.com/users/jroweboy/gists{/gist_id}","starred_url":"https://api.github.com/users/jroweboy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jroweboy/subscriptions","organizations_url":"https://api.github.com/users/jroweboy/orgs","repos_url":"https://api.github.com/users/jroweboy/repos","events_url":"https://api.github.com/users/jroweboy/events{/privacy}","received_events_url":"https://api.github.com/users/jroweboy/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jroweboy/citra-web","description":"Citra website source code","fork":true,"url":"https://api.github.com/repos/jroweboy/citra-web","forks_url":"https://api.github.com/repos/jroweboy/citra-web/forks","keys_url":"https://api.github.com/repos/jroweboy/citra-web/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jroweboy/citra-web/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jroweboy/citra-web/teams","hooks_url":"https://api.github.com/repos/jroweboy/citra-web/hooks","issue_events_url":"https://api.github.com/repos/jroweboy/citra-web/issues/events{/number}","events_url":"https://api.github.com/repos/jroweboy/citra-web/events","assignees_url":"https://api.github.com/repos/jroweboy/citra-web/assignees{/user}","branches_url":"https://api.github.com/repos/jroweboy/citra-web/branches{/branch}","tags_url":"https://api.github.com/repos/jroweboy/citra-web/tags","blobs_url":"https://api.github.com/repos/jroweboy/citra-web/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jroweboy/citra-web/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jroweboy/citra-web/git/refs{/sha}","trees_url":"https://api.github.com/repos/jroweboy/citra-web/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jroweboy/citra-web/statuses/{sha}","languages_url":"https://api.github.com/repos/jroweboy/citra-web/languages","stargazers_url":"https://api.github.com/repos/jroweboy/citra-web/stargazers","contributors_url":"https://api.github.com/repos/jroweboy/citra-web/contributors","subscribers_url":"https://api.github.com/repos/jroweboy/citra-web/subscribers","subscription_url":"https://api.github.com/repos/jroweboy/citra-web/subscription","commits_url":"https://api.github.com/repos/jroweboy/citra-web/commits{/sha}","git_commits_url":"https://api.github.com/repos/jroweboy/citra-web/git/commits{/sha}","comments_url":"https://api.github.com/repos/jroweboy/citra-web/comments{/number}","issue_comment_url":"https://api.github.com/repos/jroweboy/citra-web/issues/comments{/number}","contents_url":"https://api.github.com/repos/jroweboy/citra-web/contents/{+path}","compare_url":"https://api.github.com/repos/jroweboy/citra-web/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jroweboy/citra-web/merges","archive_url":"https://api.github.com/repos/jroweboy/citra-web/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jroweboy/citra-web/downloads","issues_url":"https://api.github.com/repos/jroweboy/citra-web/issues{/number}","pulls_url":"https://api.github.com/repos/jroweboy/citra-web/pulls{/number}","milestones_url":"https://api.github.com/repos/jroweboy/citra-web/milestones{/number}","notifications_url":"https://api.github.com/repos/jroweboy/citra-web/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jroweboy/citra-web/labels{/name}","releases_url":"https://api.github.com/repos/jroweboy/citra-web/releases{/id}","deployments_url":"https://api.github.com/repos/jroweboy/citra-web/deployments","created_at":"2018-02-25T20:05:11Z","updated_at":"2018-02-25T20:05:14Z","pushed_at":"2018-03-01T06:13:44Z","git_url":"git://github.com/jroweboy/citra-web.git","ssh_url":"git@github.com:jroweboy/citra-web.git","clone_url":"https://github.com/jroweboy/citra-web.git","svn_url":"https://github.com/jroweboy/citra-web","homepage":"","size":68908,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"citra-emu:master","ref":"master","sha":"98409254c26ed06e39a67f85ef155481c61166c0","user":{"login":"citra-emu","id":7605670,"avatar_url":"https://avatars1.githubusercontent.com/u/7605670?v=4","gravatar_id":"","url":"https://api.github.com/users/citra-emu","html_url":"https://github.com/citra-emu","followers_url":"https://api.github.com/users/citra-emu/followers","following_url":"https://api.github.com/users/citra-emu/following{/other_user}","gists_url":"https://api.github.com/users/citra-emu/gists{/gist_id}","starred_url":"https://api.github.com/users/citra-emu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/citra-emu/subscriptions","organizations_url":"https://api.github.com/users/citra-emu/orgs","repos_url":"https://api.github.com/users/citra-emu/repos","events_url":"https://api.github.com/users/citra-emu/events{/privacy}","received_events_url":"https://api.github.com/users/citra-emu/received_events","type":"Organization","site_admin":false},"repo":{"id":83190707,"name":"citra-web","full_name":"citra-emu/citra-web","owner":{"login":"citra-emu","id":7605670,"avatar_url":"https://avatars1.githubusercontent.com/u/7605670?v=4","gravatar_id":"","url":"https://api.github.com/users/citra-emu","html_url":"https://github.com/citra-emu","followers_url":"https://api.github.com/users/citra-emu/followers","following_url":"https://api.github.com/users/citra-emu/following{/other_user}","gists_url":"https://api.github.com/users/citra-emu/gists{/gist_id}","starred_url":"https://api.github.com/users/citra-emu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/citra-emu/subscriptions","organizations_url":"https://api.github.com/users/citra-emu/orgs","repos_url":"https://api.github.com/users/citra-emu/repos","events_url":"https://api.github.com/users/citra-emu/events{/privacy}","received_events_url":"https://api.github.com/users/citra-emu/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/citra-emu/citra-web","description":"Citra website source code","fork":false,"url":"https://api.github.com/repos/citra-emu/citra-web","forks_url":"https://api.github.com/repos/citra-emu/citra-web/forks","keys_url":"https://api.github.com/repos/citra-emu/citra-web/keys{/key_id}","collaborators_url":"https://api.github.com/repos/citra-emu/citra-web/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/citra-emu/citra-web/teams","hooks_url":"https://api.github.com/repos/citra-emu/citra-web/hooks","issue_events_url":"https://api.github.com/repos/citra-emu/citra-web/issues/events{/number}","events_url":"https://api.github.com/repos/citra-emu/citra-web/events","assignees_url":"https://api.github.com/repos/citra-emu/citra-web/assignees{/user}","branches_url":"https://api.github.com/repos/citra-emu/citra-web/branches{/branch}","tags_url":"https://api.github.com/repos/citra-emu/citra-web/tags","blobs_url":"https://api.github.com/repos/citra-emu/citra-web/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/citra-emu/citra-web/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/citra-emu/citra-web/git/refs{/sha}","trees_url":"https://api.github.com/repos/citra-emu/citra-web/git/trees{/sha}","statuses_url":"https://api.github.com/repos/citra-emu/citra-web/statuses/{sha}","languages_url":"https://api.github.com/repos/citra-emu/citra-web/languages","stargazers_url":"https://api.github.com/repos/citra-emu/citra-web/stargazers","contributors_url":"https://api.github.com/repos/citra-emu/citra-web/contributors","subscribers_url":"https://api.github.com/repos/citra-emu/citra-web/subscribers","subscription_url":"https://api.github.com/repos/citra-emu/citra-web/subscription","commits_url":"https://api.github.com/repos/citra-emu/citra-web/commits{/sha}","git_commits_url":"https://api.github.com/repos/citra-emu/citra-web/git/commits{/sha}","comments_url":"https://api.github.com/repos/citra-emu/citra-web/comments{/number}","issue_comment_url":"https://api.github.com/repos/citra-emu/citra-web/issues/comments{/number}","contents_url":"https://api.github.com/repos/citra-emu/citra-web/contents/{+path}","compare_url":"https://api.github.com/repos/citra-emu/citra-web/compare/{base}...{head}","merges_url":"https://api.github.com/repos/citra-emu/citra-web/merges","archive_url":"https://api.github.com/repos/citra-emu/citra-web/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/citra-emu/citra-web/downloads","issues_url":"https://api.github.com/repos/citra-emu/citra-web/issues{/number}","pulls_url":"https://api.github.com/repos/citra-emu/citra-web/pulls{/number}","milestones_url":"https://api.github.com/repos/citra-emu/citra-web/milestones{/number}","notifications_url":"https://api.github.com/repos/citra-emu/citra-web/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/citra-emu/citra-web/labels{/name}","releases_url":"https://api.github.com/repos/citra-emu/citra-web/releases{/id}","deployments_url":"https://api.github.com/repos/citra-emu/citra-web/deployments","created_at":"2017-02-26T07:19:50Z","updated_at":"2018-02-27T03:27:58Z","pushed_at":"2018-03-01T06:16:43Z","git_url":"git://github.com/citra-emu/citra-web.git","ssh_url":"git@github.com:citra-emu/citra-web.git","clone_url":"https://github.com/citra-emu/citra-web.git","svn_url":"https://github.com/citra-emu/citra-web","homepage":"","size":68959,"stargazers_count":8,"watchers_count":8,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":12,"mirror_url":null,"archived":false,"open_issues_count":7,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":12,"open_issues":7,"watchers":8,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/citra-emu/citra-web/pulls/77"},"html":{"href":"https://github.com/citra-emu/citra-web/pull/77"},"issue":{"href":"https://api.github.com/repos/citra-emu/citra-web/issues/77"},"comments":{"href":"https://api.github.com/repos/citra-emu/citra-web/issues/77/comments"},"review_comments":{"href":"https://api.github.com/repos/citra-emu/citra-web/pulls/77/comments"},"review_comment":{"href":"https://api.github.com/repos/citra-emu/citra-web/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/citra-emu/citra-web/pulls/77/commits"},"statuses":{"href":"https://api.github.com/repos/citra-emu/citra-web/statuses/54b387f5e9a4032c52dc68c2f5afac637c43d9e7"}},"author_association":"NONE"}}
{"actor":{"display_login":"BreadFish64"}}