Hello everybody:
First of all tell you I am not a programmer or developer, just an enthusiast of emulation. Dolphin is one of the best emulators ever done, so I want to share with you some thing I found.
Maybe all of this below is already known for all Dolphin developers, but I am curious about if these changes could be added to the code to increase performance. I'm talking about OpenGL API benchmarks showed on GDC a few days ago.
Here you can see technical info:
http://blogs.nvidia.com/blog/2014/03/20/opengl-gdc2014/
Also you can download the benchmark already compiled:
https://mega.co.nz/#!DNRlkYqB!jg2Yw1zvB8...YKjdsVX8Is
Or you can compile it by yourself on the github:
https://github.com/nvMcJohn/apitest
Finally, my results (NVidia GTX690, i7 3770K @4.3Ghz DDR3 2400Mhz):
Problem API Solution Frames Elapsed (s) fps ms/f
DynamicStreaming d3d11 D3D11MapNoOverwrite 261 5.002 52.176 19.166
DynamicStreaming d3d11 D3D11UpdateSubresource 9 5.035 1.787 559.498
DynamicStreaming oglcompat GLMapPersistent 329 5.010 65.664 15.229
DynamicStreaming oglcompat GLBufferSubData 86 5.015 17.148 58.314
DynamicStreaming oglcompat GLMapUnsynchronized 7 5.663 1.236 809.051
NullProblem d3d11 NullSolution 32914 5.000 6582.751 0.152
NullProblem oglcompat NullSolution 51815 5.000 10362.854 0.096
TexturedQuadsProblem d3d11 D3D11Naive 792 5.003 158.289 6.318
TexturedQuadsProblem oglcompat GLSBTAMultiDraw-NoSDP 10950 5.000 2189.910 0.457
TexturedQuadsProblem oglcompat GLTextureArrayMultiDraw-NoSDP 10912 5.000 2182.371 0.458
TexturedQuadsProblem oglcompat GLBindlessMultiDraw 6057 5.000 1211.300 0.826
TexturedQuadsProblem oglcompat GLSBTAMultiDraw-SDP 6028 5.000 1205.493 0.830
TexturedQuadsProblem oglcompat GLTextureArrayMultiDraw-SDP 5839 5.001 1167.617 0.856
TexturedQuadsProblem oglcompat GLTextureArray 4141 5.001 828.109 1.208
TexturedQuadsProblem oglcompat GLNoTex 4108 5.001 821.445 1.217
TexturedQuadsProblem oglcompat GLSBTA 3061 5.000 612.196 1.633
TexturedQuadsProblem oglcompat GLNoTexUniform 3057 5.000 611.399 1.636
TexturedQuadsProblem oglcompat GLTextureArrayUniform 2988 5.001 597.442 1.674
TexturedQuadsProblem oglcompat GLBindless 1915 5.002 382.857 2.612
TexturedQuadsProblem oglcompat GLNaive 946 5.001 189.153 5.287
TexturedQuadsProblem oglcompat GLNaiveUniform 809 5.005 161.625 6.187
UntexturedObjects d3d11 D3D11Naive 86 5.034 17.085 58.530
UntexturedObjects oglcompat GLBufferStorage-NoSDP 804 5.002 160.742 6.221
UntexturedObjects oglcompat GLMultiDrawBuffer-NoSDP 642 5.004 128.289 7.795
UntexturedObjects oglcompat GLMultiDraw-NoSDP 489 5.012 97.562 10.250
UntexturedObjects oglcompat GLBufferStorage-SDP 332 5.001 66.387 15.063
UntexturedObjects oglcompat GLMultiDrawBuffer-SDP 300 5.001 59.991 16.669
UntexturedObjects oglcompat GLMultiDraw-SDP 284 5.015 56.634 17.657
UntexturedObjects oglcompat GLDrawLoop 168 5.014 33.504 29.847
UntexturedObjects oglcompat GLMapPersistent 162 5.000 32.397 30.867
UntexturedObjects oglcompat GLTexCoord 118 5.008 23.561 42.444
UntexturedObjects oglcompat GLBindlessIndirect 115 5.008 22.962 43.550
UntexturedObjects oglcompat GLUniform 103 5.007 20.573 48.607
UntexturedObjects oglcompat GLBindless 85 5.061 16.795 59.541
UntexturedObjects oglcompat GLDynamicBuffer 64 5.026 12.733 78.536
UntexturedObjects oglcompat GLBufferRange 46 5.018 9.166 109.097
UntexturedObjects oglcompat GLMapUnsynchronized 3 5.878 0.510 1959.354[/code]
Graphics:
What do you think? Regards .
First of all tell you I am not a programmer or developer, just an enthusiast of emulation. Dolphin is one of the best emulators ever done, so I want to share with you some thing I found.
Maybe all of this below is already known for all Dolphin developers, but I am curious about if these changes could be added to the code to increase performance. I'm talking about OpenGL API benchmarks showed on GDC a few days ago.
Here you can see technical info:
http://blogs.nvidia.com/blog/2014/03/20/opengl-gdc2014/
Also you can download the benchmark already compiled:
https://mega.co.nz/#!DNRlkYqB!jg2Yw1zvB8...YKjdsVX8Is
Or you can compile it by yourself on the github:
https://github.com/nvMcJohn/apitest
Finally, my results (NVidia GTX690, i7 3770K @4.3Ghz DDR3 2400Mhz):
Problem API Solution Frames Elapsed (s) fps ms/f
DynamicStreaming d3d11 D3D11MapNoOverwrite 261 5.002 52.176 19.166
DynamicStreaming d3d11 D3D11UpdateSubresource 9 5.035 1.787 559.498
DynamicStreaming oglcompat GLMapPersistent 329 5.010 65.664 15.229
DynamicStreaming oglcompat GLBufferSubData 86 5.015 17.148 58.314
DynamicStreaming oglcompat GLMapUnsynchronized 7 5.663 1.236 809.051
NullProblem d3d11 NullSolution 32914 5.000 6582.751 0.152
NullProblem oglcompat NullSolution 51815 5.000 10362.854 0.096
TexturedQuadsProblem d3d11 D3D11Naive 792 5.003 158.289 6.318
TexturedQuadsProblem oglcompat GLSBTAMultiDraw-NoSDP 10950 5.000 2189.910 0.457
TexturedQuadsProblem oglcompat GLTextureArrayMultiDraw-NoSDP 10912 5.000 2182.371 0.458
TexturedQuadsProblem oglcompat GLBindlessMultiDraw 6057 5.000 1211.300 0.826
TexturedQuadsProblem oglcompat GLSBTAMultiDraw-SDP 6028 5.000 1205.493 0.830
TexturedQuadsProblem oglcompat GLTextureArrayMultiDraw-SDP 5839 5.001 1167.617 0.856
TexturedQuadsProblem oglcompat GLTextureArray 4141 5.001 828.109 1.208
TexturedQuadsProblem oglcompat GLNoTex 4108 5.001 821.445 1.217
TexturedQuadsProblem oglcompat GLSBTA 3061 5.000 612.196 1.633
TexturedQuadsProblem oglcompat GLNoTexUniform 3057 5.000 611.399 1.636
TexturedQuadsProblem oglcompat GLTextureArrayUniform 2988 5.001 597.442 1.674
TexturedQuadsProblem oglcompat GLBindless 1915 5.002 382.857 2.612
TexturedQuadsProblem oglcompat GLNaive 946 5.001 189.153 5.287
TexturedQuadsProblem oglcompat GLNaiveUniform 809 5.005 161.625 6.187
UntexturedObjects d3d11 D3D11Naive 86 5.034 17.085 58.530
UntexturedObjects oglcompat GLBufferStorage-NoSDP 804 5.002 160.742 6.221
UntexturedObjects oglcompat GLMultiDrawBuffer-NoSDP 642 5.004 128.289 7.795
UntexturedObjects oglcompat GLMultiDraw-NoSDP 489 5.012 97.562 10.250
UntexturedObjects oglcompat GLBufferStorage-SDP 332 5.001 66.387 15.063
UntexturedObjects oglcompat GLMultiDrawBuffer-SDP 300 5.001 59.991 16.669
UntexturedObjects oglcompat GLMultiDraw-SDP 284 5.015 56.634 17.657
UntexturedObjects oglcompat GLDrawLoop 168 5.014 33.504 29.847
UntexturedObjects oglcompat GLMapPersistent 162 5.000 32.397 30.867
UntexturedObjects oglcompat GLTexCoord 118 5.008 23.561 42.444
UntexturedObjects oglcompat GLBindlessIndirect 115 5.008 22.962 43.550
UntexturedObjects oglcompat GLUniform 103 5.007 20.573 48.607
UntexturedObjects oglcompat GLBindless 85 5.061 16.795 59.541
UntexturedObjects oglcompat GLDynamicBuffer 64 5.026 12.733 78.536
UntexturedObjects oglcompat GLBufferRange 46 5.018 9.166 109.097
UntexturedObjects oglcompat GLMapUnsynchronized 3 5.878 0.510 1959.354[/code]
Graphics:
What do you think? Regards .