Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement a software renderer #120

Closed
st3fan opened this issue Jan 7, 2017 · 5 comments
Closed

Implement a software renderer #120

st3fan opened this issue Jan 7, 2017 · 5 comments
Labels

Comments

@st3fan
Copy link
Owner

@st3fan st3fan commented Jan 7, 2017

Implement a software renderer that blits/copies pixels into an SDL_Surface. This will allow the emulators to run on the Raspberry Pi Zero and other platforms without hardware accelerated OpenGL support.

@st3fan st3fan added one scr tty two labels Jan 7, 2017
st3fan added a commit that referenced this issue Jan 7, 2017
@st3fan
Copy link
Owner Author

@st3fan st3fan commented Jan 8, 2017

Current performance on a Raspberry Pi Zero:

pi@raspberrypi:~/Projects/ewm/src $ ./scr_test
txt_full_refresh      green      95.103/refresh
txt_full_refresh      color      24.554/refresh
lgr_full_refresh      green      17.619/refresh
lgr_full_refresh      color      17.648/refresh
hgr_full_refresh      green      19.561/refresh
hgr_full_refresh      color      35.250/refresh
st3fan added a commit that referenced this issue Jan 8, 2017
@st3fan
Copy link
Owner Author

@st3fan st3fan commented Jan 8, 2017

After changing the BlendMode to SDL_BLENDMODE_NONE in scr_render_character():

txt_full_refresh                         green      36.373/refresh
st3fan added a commit that referenced this issue Jan 8, 2017
st3fan added a commit that referenced this issue Jan 8, 2017
@st3fan
Copy link
Owner Author

@st3fan st3fan commented Jan 8, 2017

More refactorings:

txt_full_refresh                 green      36.192/refresh
txt_full_refresh                 color      23.082/refresh
lgr_full_refresh                 green      17.386/refresh
lgr_full_refresh                 color      17.327/refresh
hgr_full_refresh                 green      19.289/refresh
hgr_full_refresh                 color      20.671/refresh
st3fan added a commit that referenced this issue Jan 8, 2017
@st3fan
Copy link
Owner Author

@st3fan st3fan commented Jan 8, 2017

txt_full_refresh                         green      36.007/refresh
txt_full_refresh                         color      22.986/refresh
lgr_full_refresh                         green      17.295/refresh
lgr_full_refresh                         color      17.265/refresh
hgr_full_refresh                         green      18.400/refresh
hgr_full_refresh                         color      19.863/refresh
st3fan added a commit that referenced this issue Jan 8, 2017
@st3fan
Copy link
Owner Author

@st3fan st3fan commented Jan 8, 2017

txt_full_refresh                         green      22.094/refresh
txt_full_refresh                         color      22.218/refresh
lgr_full_refresh                         green      17.155/refresh
lgr_full_refresh                         color      17.127/refresh
hgr_full_refresh                         green      17.698/refresh
hgr_full_refresh                         color      19.170/refresh
st3fan added a commit that referenced this issue Mar 14, 2017
st3fan added a commit that referenced this issue Mar 14, 2017
st3fan added a commit that referenced this issue Mar 14, 2017
st3fan added a commit that referenced this issue Mar 14, 2017
st3fan added a commit that referenced this issue Mar 14, 2017
st3fan added a commit that referenced this issue Mar 14, 2017
st3fan added a commit that referenced this issue Mar 14, 2017
st3fan added a commit that referenced this issue Mar 14, 2017
st3fan added a commit that referenced this issue Mar 14, 2017
@st3fan st3fan closed this Oct 15, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant
You can’t perform that action at this time.