Call for Testing: SRB2SDL2 Round 2

Status
Not open for further replies.

Eidolon

Developer
Sonic Team Junior
Kart Krew™️
UPDATE: SRB2 2.1.11, based on master code (no uncapped)

SDL2 code has been merged into upstream and is now part of the main distribution, however there are some outstanding bugs that need to be fixed before srb2sdl2.exe builds can be distributed with regular updates.
[/color][/b]

Features:
  • Rebased on 2.1.10. If your SRB2 is up to date, this build can sit side-by-side with it.
  • OpenGL is restored. Use -opengl as usual. Fullscreen mode only supports desktop resolution, unlike srb2win opengl, which will reset your windowed mode resolution to the desktop resolution as well.
  • The game will no longer automatically pause when losing focus in record attack and demo playback/recording, as well as during a netgame.
  • Joystick code has been migrated to the new API. This should fix joysticks and joystick-related crashes.
  • NEW!: -softblit command line option: use SDL2 software blit backend (in software mode only) -- PLEASE TEST AND COMPARE WITH NORMAL SOFTWARE MODE

Requested testing:
  • OpenGL! NOW WORKING ON WINDOWS!
  • Joysticks
  • -softblit, compare performance with "hardware" software.
  • Netgaming. Seems like there's a 2-byte offset on Windows builds for some goofy reason.
  • Try out capframerate 0 in the console. (currently causes a segfault in multiplayer)

So where's the build?

Initial build for 2.1.9: http://idolagames.com/~rkinard/downloads/srb2sdl2-test.zip
2.1.10 exe: http://idolagames.com/~rkinard/downloads/srb2sdl2-2.1.10.zip
2.1.11 exe: http://idolagames.com/~rkinard/downloads/srb2sdl2-2.1.11.zip
 
Last edited:
I can run the vanilla .exe locked at 35fps, but I'm getting just over 20 in this build (both 1920x1080).

Hardware specs:
Code:
CPU: AMD Phenom II X4 960T, 3.0GHz overclocked to 3.8GHz
RAM: 8.00 GB of DDR3
Motherboard: ASRock 970 Extreme4
GPU: NVIDIA GeForce 8800 GTX with 768 MB of GDDR3
 
Last edited:
Netgaming. not sure what the source of the ping display bug is, but I need to know if netgaming actually works at all.
Padding differences in the packets. attribute(packed) isn't really a good thing to rely on but ... yeah. It works for Alam's builds but apparently not many others.
 
Well, SDL2 build's performance is better on fullscreen and window mode then the SDL1 build, 30fps-34fps on 1280x720. To where I only got 19fps on 920x720, both fullscreen and windowed mode. Now... about OpenGL, I could not test the framerate due to it crashing on fullscreen mode and don't display properly in windowed mode. Can't test the Joysticks since I don't have any. Mouse movement is ok with normal mode and using -warpmouse, last but not least. Netgaming works like it should, have no problems joining a server and game reports the correct ping for every player in the server.

Hardware Specs
Code:
CPU: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz
RAM: 4 GB DDR3 
GPU: Intel(R) HD Graphics Family 3000 with 1024MB of shared memory
 
Hm. Seems to run about the same, but...uh...why does low-res fullscreen software look so ugly now? It's all pixelated rather than blurry like it was before.
 
Hm. Seems to run about the same, but...uh...why does low-res fullscreen software look so ugly now? It's all pixelated rather than blurry like it was before.

Logical fullscreen (windowed fullscreen in most games). The image is scaled up or down to your native desktop resolution.

Benefits of this approach:
  • Free downscaling from super massive resolutions, if your processor can handle it.
  • Instantaneous alt-tabbing.
  • Use any resolution you want.
 
Well, could you at least add an option for the old blurry-screen? I prefer that far more than this new one, as I can't run higher resolutions very well.
EDIT: Also, the render-in-square thing still persists. It's rather annoying...
 
Last edited:
Well, could you at least add an option for the old blurry-screen? I prefer that far more than this new one, as I can't run higher resolutions very well.
EDIT: Also, the render-in-square thing still persists. It's rather annoying...

I am not able to get SDL's filtering mode options for textures working, so no, at least not in software mode.

Use a resolution that matches your monitor's aspect ratio if you don't want the black borders. The scaling is aspect-correct and will introduce bars on the sides if the screen doesn't match.

---------- Post added 07-24-2014 at 12:39 AM ---------- Previous post was 07-23-2014 at 11:36 PM ----------

I've updated the top post with a link to Alam's updated build. OpenGL is now working 100% on Windows.

EDIT: so uh, I'm sitting in a netgame just now, and this fella posted this in chat before disconnecting:

"FCK UR FUCKIN SDL2 THING ITS A PIECE OF SHIT AND IT SUCKS BECUZ OF THE LAG THAT MEANS U DIDNT FUCKING WORK ON IT U PIECE OF SHIT EOJHSKLDJFLKSHDFOIJSEF"

whoever you are, feel free to fuck right off <3
 
Last edited:
-Opengl works at fullspeed (better than software) with no noticeable problem
-My joystick config is still working so... there's no problem
-I see no diference, maybe the acceleration
-tested coop mode, working with the usual c-lag (because there's no sudamerican servers)
-still loving the alt-tabing

also, the performance is still bad using higher resolutions (software mode), I may test this later on my old celeron notebook (gma x3100)

my computer:
amd phenom ii x4 960t 3.00ghz
nvidia geforce gt440 gddr3 1gb
6gb ram ddr3
windows 7 pro 64 bits
 
Last edited:
OpenGL works fine, but trying to change the anisotropic value crashes the game. RPT here.

Also, a lot of my custom music still causes the game to permanently hang.
 
Last edited:
OpenGL works fine, but trying to change the anisotropic value crashes the game. RPT here.

Also, a lot of my custom music still causes the game to permanently hang.

Anisotropic filtering is now fixed. The crash occurred because max anisotropic filtering should be set to 1, not 0, if GL_EXT_texture_filter_anisotropic is not available (which it is on your system, I just accidentally removed the extension query, so that's restored).

Can you explain what custom music hangs? Formats, etc.
 
Joystick code has been migrated to the new API. This should fix joysticks and joystick-related crashes.
So... Does that mean Sonic Robo Blast 2 now reads analogue values from XInput controllers, or something else?

I remember in 2.0.7 where I used a wireless DualShock 3 using "DS3Tool". If I set the program to map the DualShock 3 as a "PlayStation 3 controller", everything worked perfectly in SRB2, but if I set it to emulate an XBox 360 controller with XInput, SRB2 would only read the analogue sticks as either 0% or 100%, like arrow keys or wasd, rather than a full 0-to-100% amazingness.
I don't currently have my PlayStation 3 controllers, so I can't test that. (If I did, I would test out this SDL2 build.)
 
Last edited:
-OpenGL seems to be working fine.
-Joysticks now appear to be working perfectly, even better than vanilla in my case.
-warpmouse and non-warpmouse felt identical.
-netgaming seemed to work when I tried it.

Also the performance in software has increased since the last build at higher resolutions, since I can now get 30-35 fps in 1920x1080. For some reason opening the menu in software drops the fps to 25 though.
 
In software mode the game is completely fine, every res is locked at 35 fps but when I get to 1920 x 1080 it drops about 3 - 6 frames.


An issue I found however is when you switch from a higher res to a lower res (E.G 1920 x 1080 to 1280 x 720) Its like the new res just over laps the previous one.


OpenGL does not work properly for me in windowed and full screen, all I get is a white screen but I can still hear the start up music and sound. (I did try changing the compatibly mode and I had the same result) I also did try using all the resolutions for ogl and I still had the white screen.


Specs:


CPU: i7 - 4710MQ 3.5GHZ
GPU: GTX 860m Sli (2)
Ram: 8gb
OS: Genuine Windows 8.1 64bit
 
The game will no longer automatically pause when losing focus in record attack and demo playback/recording, as well as during a netgame.

I can't get the game to pause when losing focus at all, even on the main menu.

Unrelated, but I have a wad file that contains sounds that are in WAV format instead of Doom format, and these sounds play in a much worse quality in srb2sdl compared to srb2win. In srb2win they play perfectly fine wheras playback in srb2sdl causes them to sound like they just came out of a really old radio.
 
Can you explain what custom music hangs? Formats, etc.
I don't know that much about music files, but from what I can tell 44100Hz MP3s seem to cause the hang. The music doesn't play when you load the map, and then when any sound effect attempts to play the game will hang forever.
 
Last edited:
Unrelated, but I have a wad file that contains sounds that are in WAV format instead of Doom format, and these sounds play in a much worse quality in srb2sdl compared to srb2win. In srb2win they play perfectly fine wheras playback in srb2sdl causes them to sound like they just came out of a really old radio.

I don't know that much about music files, but from what I can tell 44100Hz MP3s seem to cause the hang. The music doesn't play when you load the map, and then when any sound effect attempts to play the game will hang forever.

Can you guys send me wads with those sounds so I can test them myself?

Also, I have committed a patch to my repo that should speed up software mode dramatically for those who were having issues. There are some caveats to the approach I took with SDL2 that I worked around and it seems to have helped a lot. A new build will be coming sooner or later that should include this change. https://github.com/Furyhunter/SRB2/commit/8b0f374bfe3b5ee41ce8e1295d86d731a4300c97


---------

Another tweak has been submitted, this one reduces the throughput of screen data by half and dramatically improves performance. It also adds the -softblit option which uses the software blit backend instead of hardware, which may be faster for computers with very slow GPUs.
 
Last edited:
SRB2SDL2 works! I can run SRB2SDL2 with around 20-30 fps usually. I run on 640x400. I get around 10-20 fps when using -softblit. I still get a flickering black screen on opengl.
 
Last edited:
tested again. now I can run it with 32-35 fps with normal software mode in heavy levels, using softblit I get 25-30 fps in the same level. both tested at 1280x800 resolution in seraphics skylands zone
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top