{"action":"created","issue":{"url":"https://api.github.com/repos/shonumi/gbe-plus/issues/15","labels_url":"https://api.github.com/repos/shonumi/gbe-plus/issues/15/labels{/name}","comments_url":"https://api.github.com/repos/shonumi/gbe-plus/issues/15/comments","events_url":"https://api.github.com/repos/shonumi/gbe-plus/issues/15/events","html_url":"https://github.com/shonumi/gbe-plus/issues/15","id":118182260,"number":15,"title":"Hardware rendering for replacement tiles?","user":{"login":"ADormant","id":10523326,"avatar_url":"https://avatars.githubusercontent.com/u/10523326?v=3","gravatar_id":"","url":"https://api.github.com/users/ADormant","html_url":"https://github.com/ADormant","followers_url":"https://api.github.com/users/ADormant/followers","following_url":"https://api.github.com/users/ADormant/following{/other_user}","gists_url":"https://api.github.com/users/ADormant/gists{/gist_id}","starred_url":"https://api.github.com/users/ADormant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ADormant/subscriptions","organizations_url":"https://api.github.com/users/ADormant/orgs","repos_url":"https://api.github.com/users/ADormant/repos","events_url":"https://api.github.com/users/ADormant/events{/privacy}","received_events_url":"https://api.github.com/users/ADormant/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-11-21T08:33:49Z","updated_at":"2015-11-21T15:16:55Z","closed_at":null,"body":"At present gbe+ uses only software rendering would it be possible to add hardware rendering for replacement tiles like HDNes is doing? I'd improve performance greatly."},"comment":{"url":"https://api.github.com/repos/shonumi/gbe-plus/issues/comments/158651663","html_url":"https://github.com/shonumi/gbe-plus/issues/15#issuecomment-158651663","issue_url":"https://api.github.com/repos/shonumi/gbe-plus/issues/15","id":158651663,"user":{"login":"shonumi","id":7418176,"avatar_url":"https://avatars.githubusercontent.com/u/7418176?v=3","gravatar_id":"","url":"https://api.github.com/users/shonumi","html_url":"https://github.com/shonumi","followers_url":"https://api.github.com/users/shonumi/followers","following_url":"https://api.github.com/users/shonumi/following{/other_user}","gists_url":"https://api.github.com/users/shonumi/gists{/gist_id}","starred_url":"https://api.github.com/users/shonumi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shonumi/subscriptions","organizations_url":"https://api.github.com/users/shonumi/orgs","repos_url":"https://api.github.com/users/shonumi/repos","events_url":"https://api.github.com/users/shonumi/events{/privacy}","received_events_url":"https://api.github.com/users/shonumi/received_events","type":"User","site_admin":false},"created_at":"2015-11-21T15:16:55Z","updated_at":"2015-11-21T15:16:55Z","body":"It can't. That's just not the nature of how it works in GBE+. HDNES, as far as I know, treats every tile like it's own texture, correct? That is not a good approach in my opinion.\r\n\r\nOn the GB through DS, everything is rendered per-scanline generally. It's possible to shift individual lines of a tile up or down, left or right on the next scanline (and many games do this). These are essentially mid-screen effects and with OpenGL textures, this is hard to translate. In the end, OpenGL textures would still need to be cut up in segments before blitting them to the screen, and those kind of operations still add up in terms of compute time. My main concern, however, is the code complexity it adds.\r\n\r\nFurthermore certain palette colors between BG and OBJ tiles have different priorities in a number of situations on the GB/GBC (these priorities must apply to custom tiles as well).  Emulating this with OpenGL textures only is not possible as far as I know; you would still have to manually determine which pixel has priority through software. This must also be done in conjunction with the scanline issue mentioned above.\r\n\r\nOverall, it's a bit more trouble than it's worth to implement, and there are easier targets for possible speed ups.\r\n\r\n"}}