• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Development Discussion v
« Previous 1 ... 37 38 39 40 41 ... 111 Next »

About GDC 2014 OpenGL optimizations
View New Posts | View Today's Posts

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
About GDC 2014 OpenGL optimizations
03-23-2014, 07:22 AM
#1
ppmeis Offline
Junior Member
**
Posts: 29
Threads: 2
Joined: Feb 2013
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!jg2Yw1zvB8d_YRsM2LoptoyUfxWzZxZm5YKjdsVX8Is

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:
[Image: 1.png]
[Image: 2.png]
[Image: 3.png]
[Image: 4.png]
[Image: 5.png]
[Image: 6.png]

What do you think? Regards Big Grin.
Find
Reply
03-23-2014, 09:47 AM
#2
delroth Offline
Making the world a better place through reverse engineered DSP firmwares
**********
Developers (Some Administrators and Super Moderators)
Posts: 1,356
Threads: 63
Joined: Aug 2011
We already implement a lot of what is presented here. What we do not use is mostly because emulation is not a standard program where we know what to expect.
Pierre "delroth" Bourdon - @delroth_ - Blog

<@neobrain> that looks sophisticated enough to not be a totally dumb thing to do
Website Find
Reply
03-25-2014, 04:46 AM
#3
relativegames
Unregistered
 
I think the charts were on an Nvidia GPU, apparently if you use AMD cards the charts are skewed and the outcome is radically different. Here's my results from a HD7850 :

Results
Problem API Solution Frames Elapsed (s) fps ms/f
DynamicStreaming d3d11 D3D11MapNoOverwrite 156 5.030 31.016 32.241
DynamicStreaming d3d11 D3D11UpdateSubresource 8 5.627 1.422 703.427
DynamicStreaming oglcompat GLMapUnsynchronized 93 5.037 18.462 54.165
DynamicStreaming oglcompat GLBufferSubData 5 5.713 0.875 1142.586
NullProblem d3d11 NullSolution 63007 5.000 12601.338 0.079
NullProblem oglcompat NullSolution 37455 5.000 7490.869 0.133
TexturedQuadsProblem d3d11 D3D11Naive 759 5.006 151.609 6.596
TexturedQuadsProblem oglcompat GLTextureArrayMultiDraw-NoSDP 3884 5.000 776.744 1.287
TexturedQuadsProblem oglcompat GLNoTex 2774 5.001 554.740 1.803
TexturedQuadsProblem oglcompat GLTextureArray 2737 5.001 547.249 1.827
TexturedQuadsProblem oglcompat GLNoTexUniform 1140 5.001 227.935 4.387
TexturedQuadsProblem oglcompat GLTextureArrayUniform 1108 5.002 221.526 4.514
TexturedQuadsProblem oglcompat GLNaive 353 5.006 70.518 14.181
TexturedQuadsProblem oglcompat GLNaiveUniform 277 5.012 55.263 18.095
UntexturedObjects d3d11 D3D11Naive 43 5.003 8.595 116.352
UntexturedObjects oglcompat GLMultiDraw-NoSDP 169 5.021 33.658 29.711
UntexturedObjects oglcompat GLDrawLoop 108 5.020 21.515 46.480
UntexturedObjects oglcompat GLMapUnsynchronized 58 5.006 11.586 86.312
UntexturedObjects oglcompat GLMultiDrawBuffer-NoSDP 49 5.024 9.752 102.540
UntexturedObjects oglcompat GLUniform 45 5.086 8.847 113.029
UntexturedObjects oglcompat GLTexCoord 45 5.108 8.810 113.508
UntexturedObjects oglcompat GLBufferRange 31 5.116 6.059 165.035
UntexturedObjects oglcompat GLDynamicBuffer 3 6.646 0.451 2215.331

Note that it doesn't support bindless textures or sparse textures (not the ARB one at least)
Reply
« Next Oldest | Next Newest »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode