Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2]

Author Topic: Laptop performance issues driving me crazy  (Read 2607 times)

wierd

  • Bay Watcher
  • I like to eat small children.
    • View Profile
Re: Laptop performance issues driving me crazy
« Reply #15 on: June 08, 2015, 09:06:49 pm »

Swiftshader is supposedly "The fastest" software D3D implementation out there.  For really old games, it definitely delivers on that promise, but newer titles that do lots of programmable shader magic cause it to run really slowly. 

SwiftShader 3 supports pixel and vertex shader level 3, and a few other fun features. It tries to be feature complete in so far as what the D3D specification says a card with those capabilities should be able to do. It just cant do them all that quickly depending on the circumstances.  It is configurable, and I did poke at the settings a bit to see if  I could coax a little more oomph out. It is multithreaded by design, so it cabbaged up all my cores pretty decently. On a system with more than 8 cores, it may do better than on my  old i7. (and a newer i7 should do better regardless, because of improved single-core performance. I have a fist gen i7. Newer models have much better raw crunching power.)

I am thinking it would be good to keep around for really old (cranky!) games that modern graphics drivers dont want to support correctly anymore, but which dont really expect much from the 3D chip it talks to. That way you get the fast 2D drawing modes offered by your actual GPU, can leverage the many cores in your system to run the fake GPU runtime, and get a feature complete D3D implementation for DX8 and DX9 titles. (EG, this could still be useful on systems with real GPUs, but where the device maker does not want to support older APIs with their drivers.)

I found an already poked version of swiftshader 2, available in both x86 and x64 flavors of D3D8 and D3D9 runtimes, but I doubt the toad would appreciate my linking to where I found it.  I need to hunt down where inside the swiftshader 3 binaries the image resource lives so I can hex edit it into a blank texture (and thus remove the watermark).

The hilarious implication of this, is that it may be possible to abuse the ever living shit out of swiftshader to play games on actual rackmount servers intended for compute farms. Those tend to have really crappy video hardware that lacks any significant 3D capability.  The idea of doing that makes me giggle.

Another possible use might be to exploit swiftshader's ability to draw on a GDI surface (instead of a DDraw surface-- it's a config option) so that D3D image data can be seen over a remote desktop connection, or more easily captured by video capture software.

There's definitely a niche for this kind of thing-- just not for 99% of normal users. :P
Logged
Pages: 1 [2]