Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
128 user(s) are online (98 user(s) are browsing Forums)

Members: 1
Guests: 127

BillE, more...

Support us!

Headlines

 
  Register To Post  

« 1 ... 71 72 73 (74)
Re: SDL2
Just popping in
Just popping in


See User information
@kas1e

Indeed!

I've made static builds of everything till now.

Go to top
Re: SDL2
Not too shy to talk
Not too shy to talk


See User information
@IamSONIC

Quote:
And yeah, it's again faster and increases the gap to newlib even more.


As you wrote the versions of the programs compiled under clib4 are faster, more stable in a way .

Here is an example of how I used to check clib4 , SDL2 + ffmpeg compiled under clib4 under qemu

https://youtu.be/2PPHdHPbqhw


I keep my fingers crossed for this project because it is great.
I've already written about it before, and once again I'd like to thank everyone involved, thank you!!!!.

one of the docker from walkero included an SDK ‘local’ with a very large number of libraries compiled under clib4.
For example SDL2 gl4es etc.
They are compiled under gcc 11.3

Here is an example of the contents of some libraries under clib4

https://clib4pkg.amigasoft.net/ubuntu/pool/main/

I don't know if gcc 11.3 in the latest version supporting clib4 is available natively under AOS4 without hacks.
Maybe the guys will compile if it is not.


Edited by smarkusg on 2024/7/27 22:24:49
Go to top
Re: SDL2
Just popping in
Just popping in


See User information
@smarkusg

Quote:
As you wrote the versions of the programs compiled under clib4 are faster, more stable in a way .


Yes, regarding to the SDL2 Benchmark Results it seems to be faster. The point about stability was written by someone else. But till now i have not recognized stability problems.

Quote:
I keep my fingers crossed for this project because it is great.


Definitely! Also due to it's Open Source Nature missing functions, problems, etc... can be WAY faster resolved!

Quote:
one of the docker from walkero included an SDK ‘local’ with a very large number of libraries compiled under clib4.


I've seen these too. These .deb files can be extracted and used everywhere

Go to top
Re: SDL2
Not too shy to talk
Not too shy to talk


See User information
@IamSONIC

I did a little test today. I am currently trying to check if the soft float for QEMU.
I managed to compile gcc + clib4 + lsoft-fp and the needed libraries for the test.
Surely this will work very badly on real hardware.
In theory it should take some of the pressure off FPU emulation on QEMU. So far the results are poor/comparable....
left sdl2 with newlib right sdl2+clib4+lsoft-fp

The topic is about SDL2 so I am posting these clib4 results

Resized Image

Go to top
Re: SDL2
Just can't stay away
Just can't stay away


See User information
@smarkusg
Quote:
Surely this will work very badly on real hardware.
On hardware with a FPU: Yes.
But the soft-float SDL2, and all libraries used by it, might be faster on the A1222+ than emulated FPU code.
Additionally -msoft-float compiled code and libraries can be linked with SPE compiled code and libraries (compatible ABI), which isn't the case for the default hard-float code and libraries (ABI incompatible to the SPE one).
If everything is statically linked you could upload both of your sdl2benchmark executables (hard-float newlib and soft-float clib4) somewhere and A1222+ users can test which one is faster.

Go to top
Re: SDL2
Just popping in
Just popping in


See User information
@joerg

I'm quite sure avoiding all exceptions handler of FPU code, soft floats should be significantly faster than hard floats.

Go to top
Re: SDL2
Just can't stay away
Just can't stay away


See User information
@smarkusg

If you want to see how your "SDL2Benchmark" behaves under real conditions on the A1222 I could run a few tests and compare both versions so you might be able to determine how much faster (hard-float newlib and soft-float clib4) is on hardware without a real FPU.

MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
Go to top
Re: SDL2
Not too shy to talk
Not too shy to talk


See User information
@joerg
In general, I have seen it like this:
Recompiled once on my computer with gcc + patches from adtools with default settings.
Recompiled the second version by changing ./adtools/gcc-build/Makefile adding options to soft-float
after recompiling on this version I recompiled with the new libsoft-fp compiler with flags under soft-float
then you have to recompile clib4 with flags under soft-float. There will be bugs, but you have to change it to make it compileable like the code under SPE.
You still need to change "fabs" to "soft" code and link with libsoft-fp

I wanted both versions to be gcc done on the same machine.
The compilation under newlin and clib4 were without libraries from the SDK(only the include - *.h part)
zlib and SDL2 were compiled on my machine under their gcc versions and additional flags.
SDL2Benchmark compiled statically. SDL2Benchmark under clib4 requires compilation of clib4.library beforehand.


If I have done something stupid and wrong please let me know.


@Maijestro
I will send you the files when I am at the machine where I have them.

Go to top
Re: SDL2
Just can't stay away
Just can't stay away


See User information
@smarkusg
Quote:
If I have done something stupid and wrong please let me know.
No, what you are doing is correct: You need a complete soft float build of clib4 incl. libgcc, libstdc++, etc.

For the A1222+ it should be a SPE build instead of course to get best performance, but soft float code at least works on the A1222+, hard float code doesn't (without emulation).
You can't use current GCC versions for SPE but have to use GCC 6, in later versions SPE support is broken (GCC 8) or was completely removed (GCC 9+), which may be more work than using current versions of GCC.

What others are doing instead, for example in
https://www.amigans.net/modules/newbb/ ... id=149878#forumpost149878
can't work: Mixing a only partial soft float (or SPE) build of clib4 with hard float parts like libgcc.

Go to top
Re: SDL2
Just can't stay away
Just can't stay away


See User information
@smarkusg @joerg

smarkusg seems to have understood exactly how to create complete soft-float builds. I ran the SDL benchmark on my real machine and the results are very impressive in parts.

Most of the values doubled, others even quintupled.

Newlib SDL2 Benchmark

FillRects (mode:none) ---- 130.8 frames/s
FillRects (mode:Blend) ----127.8 frames/s

Clib4Soft-Float SDL2 Benchmark

FillRects (mode:none) ---- 1326.7 frames/s
FillRects (mode:Blend) ----1290.4 frames/s

But I'm not sure exactly which SDL2 function it needs.

SDL2 Benchmark Newlib:

INFOSDL2 renderer benchmark v0.7 (SDL version 2.30.5)
INFOThis tool measures the speed of various 2D drawing features
INFO
Press ESC key to quit
INFO
Parameterswidth 800height 600renderer name '(null)'duration 1.000 sobjects 100sleep 0
INFO
Image size 408*167
INFO
Pixel format 0x16161804 (SDL_PIXELFORMAT_RGB888)
INFOStarting to test renderer called [compositing], flags 0xE
INFO
Points [modeNone]...1613 frames drawn in 1.001 seconds => 1612.1 frames/s
INFO
Points [modeBlend]...1767 frames drawn in 1.000 seconds => 1766.8 frames/s
INFO
Lines [modeNone]...12 frames drawn in 1.036 seconds => 11.6 frames/s
INFO
Lines [modeBlend]...16 frames drawn in 1.048 seconds => 15.3 frames/s
INFO
FillRects [modeNone]...346 frames drawn in 1.003 seconds => 345.1 frames/s
INFO
FillRects [modeBlend]...145 frames drawn in 1.003 seconds => 144.5 frames/s
INFO
RenderCopy [modeNone]...4945 frames drawn in 1.000 seconds => 4944.9 frames/s
INFO
RenderCopy [modeBlend]...4924 frames drawn in 1.000 seconds => 4923.1 frames/s
INFO
RenderCopyEx [modeNone]...4091 frames drawn in 1.000 seconds => 4090.2 frames/s
INFO
RenderCopyEx [modeBlend]...4018 frames drawn in 1.000 seconds => 4017.9 frames/s
INFO
Color modulation [modeNone]...564 frames drawn in 1.000 seconds => 563.9 frames/s
INFO
Color modulation [modeBlend]...525 frames drawn in 1.002 seconds => 523.9 frames/s
INFO
Alpha modulation [modeNone]...4831 frames drawn in 1.000 seconds => 4830.8 frames/s
INFO
Alpha modulation [modeBlend]...4938 frames drawn in 1.000 seconds => 4935.6 frames/s
INFO
UpdateTexture [modeNone]...1203.3 operations/s328.0 megabytes/s
INFO
ReadPixels [modeNone]...541.0 operations/s147.4 megabytes/s
INFO
Starting to test renderer called [opengl], flags 0x2
INFO
Points [modeNone]...1509 frames drawn in 1.000 seconds => 1508.7 frames/s
INFO
Points [modeBlend]...1507 frames drawn in 1.000 seconds => 1506.5 frames/s
INFO
Lines [modeNone]...20 frames drawn in 1.040 seconds => 19.2 frames/s
INFO
Lines [modeBlend]...19 frames drawn in 1.013 seconds => 18.8 frames/s
INFO
FillRects [modeNone]...131 frames drawn in 1.002 seconds => 130.8 frames/s
INFO
FillRects [modeBlend]...128 frames drawn in 1.002 seconds => 127.8 frames/s
INFO
RenderCopy [modeNone]...1750 frames drawn in 1.001 seconds => 1748.7 frames/s
INFO
RenderCopy [modeBlend]...1756 frames drawn in 1.000 seconds => 1755.6 frames/s
INFO
RenderCopyEx [modeNone]...1737 frames drawn in 1.000 seconds => 1736.9 frames/s
INFO
RenderCopyEx [modeBlend]...1760 frames drawn in 1.000 seconds => 1759.3 frames/s
INFO
Color modulation [modeNone]...1760 frames drawn in 1.001 seconds => 1759.0 frames/s
INFO
Color modulation [modeBlend]...1731 frames drawn in 1.000 seconds => 1730.3 frames/s
INFO
Alpha modulation [modeNone]...1765 frames drawn in 1.000 seconds => 1764.2 frames/s
INFO
Alpha modulation [modeBlend]...1768 frames drawn in 1.000 seconds => 1767.6 frames/s
INFO
UpdateTexture [modeNone]...158.8 operations/s43.3 megabytes/s
INFO
ReadPixels [modeNone]...62.8 operations/s17.1 megabytes/s
INFO
Starting to test renderer called [opengles2], flags 0xA
INFO
Points [modeNone]...2753 frames drawn in 1.000 seconds => 2752.5 frames/s
INFO
Points [modeBlend]...2776 frames drawn in 1.000 seconds => 2775.4 frames/s
INFO
Lines [modeNone]...35 frames drawn in 1.010 seconds => 34.7 frames/s
INFO
Lines [modeBlend]...38 frames drawn in 1.011 seconds => 37.6 frames/s
INFO
FillRects [modeNone]...750 frames drawn in 1.000 seconds => 749.8 frames/s
INFO
FillRects [modeBlend]...637 frames drawn in 1.001 seconds => 636.6 frames/s
INFO
RenderCopy [modeNone]...4005 frames drawn in 1.000 seconds => 4004.3 frames/s
INFO
RenderCopy [modeBlend]...4103 frames drawn in 1.000 seconds => 4102.7 frames/s
INFO
RenderCopyEx [modeNone]...3335 frames drawn in 1.000 seconds => 3333.5 frames/s
INFO
RenderCopyEx [modeBlend]...3383 frames drawn in 1.000 seconds => 3382.2 frames/s
INFO
Color modulation [modeNone]...3975 frames drawn in 1.000 seconds => 3974.7 frames/s
INFO
Color modulation [modeBlend]...4062 frames drawn in 1.000 seconds => 4061.3 frames/s
INFO
Alpha modulation [modeNone]...3966 frames drawn in 1.000 seconds => 3966.0 frames/s
INFO
Alpha modulation [modeBlend]...4059 frames drawn in 1.000 seconds => 4058.9 frames/s
INFO
UpdateTexture [modeNone]...272.5 operations/s74.3 megabytes/s
INFO
ReadPixels [modeNone]...148.2 operations/s40.4 megabytes/s
INFO
Starting to test renderer called [software], flags 0xD
INFO
Points [modeNone]...189 frames drawn in 1.002 seconds => 188.6 frames/s
INFO
Points [modeBlend]...189 frames drawn in 1.002 seconds => 188.7 frames/s
INFO
Lines [modeNone]...42 frames drawn in 1.006 seconds => 41.8 frames/s
INFO
Lines [modeBlend]...37 frames drawn in 1.004 seconds => 36.8 frames/s
INFO
FillRects [modeNone]...52 frames drawn in 1.001 seconds => 52.0 frames/s
INFO
FillRects [modeBlend]...12 frames drawn in 1.076 seconds => 11.2 frames/s
INFO
RenderCopy [modeNone]...164 frames drawn in 1.006 seconds => 163.0 frames/s
INFO
RenderCopy [modeBlend]...132 frames drawn in 1.003 seconds => 131.6 frames/s
INFO
RenderCopyEx [modeNone]...29 frames drawn in 1.031 seconds => 28.1 frames/s
INFO
RenderCopyEx [modeBlend]...65 frames drawn in 1.004 seconds => 64.7 frames/s
INFO
Color modulation [modeNone]...143 frames drawn in 1.003 seconds => 142.6 frames/s
INFO
Color modulation [modeBlend]...121 frames drawn in 1.006 seconds => 120.3 frames/s
INFO
Alpha modulation [modeNone]...152 frames drawn in 1.000 seconds => 152.0 frames/s
INFO
Alpha modulation [modeBlend]...115 frames drawn in 1.011 seconds => 113.8 frames/s
INFO
UpdateTexture [modeNone]...932.1 operations/s254.0 megabytes/s
INFO
ReadPixels [modeNone]...1024.7 operations/s279.3 megabytes/s
INFO
Bye bye


Clib4 Soft-Float SDL Benchmark

INFOSDL2 renderer benchmark v0.7 (SDL version 2.30.5)
INFOThis tool measures the speed of various 2D drawing features
INFO
Press ESC key to quit
INFO
Parameterswidth 800height 600renderer name '(null)'duration 1.000 sobjects 100sleep 0
INFO
Image size 408*167
INFO
Pixel format 0x16161804 (SDL_PIXELFORMAT_RGB888)
INFOStarting to test renderer called [compositing], flags 0xE
INFO
Points [modeNone]...1560 frames drawn in 1.000 seconds => 1559.5 frames/s
INFO
Points [modeBlend]...1986 frames drawn in 1.000 seconds => 1985.8 frames/s
INFO
Lines [modeNone]...15 frames drawn in 1.058 seconds => 14.2 frames/s
INFO
Lines [modeBlend]...20 frames drawn in 1.000 seconds => 20.0 frames/s
INFO
FillRects [modeNone]...336 frames drawn in 1.001 seconds => 335.5 frames/s
INFO
FillRects [modeBlend]...150 frames drawn in 1.001 seconds => 149.9 frames/s
INFO
RenderCopy [modeNone]...5714 frames drawn in 1.000 seconds => 5713.6 frames/s
INFO
RenderCopy [modeBlend]...5635 frames drawn in 1.000 seconds => 5633.9 frames/s
INFO
RenderCopyEx [modeNone]...4417 frames drawn in 1.000 seconds => 4416.4 frames/s
INFO
RenderCopyEx [modeBlend]...4327 frames drawn in 1.000 seconds => 4326.6 frames/s
INFO
Color modulation [modeNone]...552 frames drawn in 1.001 seconds => 551.2 frames/s
INFO
Color modulation [modeBlend]...517 frames drawn in 1.000 seconds => 516.8 frames/s
INFO
Alpha modulation [modeNone]...5522 frames drawn in 1.000 seconds => 5521.4 frames/s
INFO
Alpha modulation [modeBlend]...5576 frames drawn in 1.000 seconds => 5575.7 frames/s
INFO
UpdateTexture [modeNone]...1372.5 operations/s374.1 megabytes/s
INFO
ReadPixels [modeNone]...547.7 operations/s149.3 megabytes/s
INFO
Starting to test renderer called [opengl], flags 0x2
INFO
Points [modeNone]...2819 frames drawn in 1.000 seconds => 2818.5 frames/s
INFO
Points [modeBlend]...2865 frames drawn in 1.000 seconds => 2864.3 frames/s
INFO
Lines [modeNone]...42 frames drawn in 1.018 seconds => 41.2 frames/s
INFO
Lines [modeBlend]...42 frames drawn in 1.008 seconds => 41.6 frames/s
INFO
FillRects [modeNone]...1327 frames drawn in 1.000 seconds => 1326.7 frames/s
INFO
FillRects [modeBlend]...1291 frames drawn in 1.000 seconds => 1290.4 frames/s
INFO
RenderCopy [modeNone]...2948 frames drawn in 1.000 seconds => 2947.4 frames/s
INFO
RenderCopy [modeBlend]...2973 frames drawn in 1.000 seconds => 2972.9 frames/s
INFO
RenderCopyEx [modeNone]...3109 frames drawn in 1.000 seconds => 3108.3 frames/s
INFO
RenderCopyEx [modeBlend]...3016 frames drawn in 1.000 seconds => 3015.2 frames/s
INFO
Color modulation [modeNone]...3091 frames drawn in 1.000 seconds => 3090.2 frames/s
INFO
Color modulation [modeBlend]...3078 frames drawn in 1.000 seconds => 3077.3 frames/s
INFO
Alpha modulation [modeNone]...3036 frames drawn in 1.000 seconds => 3035.3 frames/s
INFO
Alpha modulation [modeBlend]...3030 frames drawn in 1.000 seconds => 3029.7 frames/s
INFO
UpdateTexture [modeNone]...157.7 operations/s43.0 megabytes/s
INFO
ReadPixels [modeNone]...63.6 operations/s17.3 megabytes/s
INFO
Starting to test renderer called [opengles2], flags 0xA
INFO
Points [modeNone]...3219 frames drawn in 1.000 seconds => 3218.9 frames/s
INFO
Points [modeBlend]...3227 frames drawn in 1.000 seconds => 3226.5 frames/s
INFO
Lines [modeNone]...72 frames drawn in 1.007 seconds => 71.5 frames/s
INFO
Lines [modeBlend]...72 frames drawn in 1.008 seconds => 71.4 frames/s
INFO
FillRects [modeNone]...894 frames drawn in 1.001 seconds => 893.5 frames/s
INFO
FillRects [modeBlend]...704 frames drawn in 1.000 seconds => 703.8 frames/s
INFO
RenderCopy [modeNone]...4189 frames drawn in 1.000 seconds => 4188.1 frames/s
INFO
RenderCopy [modeBlend]...4400 frames drawn in 1.000 seconds => 4399.7 frames/s
INFO
RenderCopyEx [modeNone]...3473 frames drawn in 1.000 seconds => 3473.0 frames/s
INFO
RenderCopyEx [modeBlend]...3448 frames drawn in 1.000 seconds => 3447.3 frames/s
INFO
Color modulation [modeNone]...4355 frames drawn in 1.000 seconds => 4354.2 frames/s
INFO
Color modulation [modeBlend]...4315 frames drawn in 1.000 seconds => 4314.8 frames/s
INFO
Alpha modulation [modeNone]...4382 frames drawn in 1.000 seconds => 4381.5 frames/s
INFO
Alpha modulation [modeBlend]...4399 frames drawn in 1.000 seconds => 4398.6 frames/s
INFO
UpdateTexture [modeNone]...274.8 operations/s74.9 megabytes/s
INFO
ReadPixels [modeNone]...160.9 operations/s43.8 megabytes/s
INFO
Starting to test renderer called [software], flags 0xD
INFO
Points [modeNone]...192 frames drawn in 1.001 seconds => 191.9 frames/s
INFO
Points [modeBlend]...194 frames drawn in 1.005 seconds => 193.1 frames/s
INFO
Lines [modeNone]...101 frames drawn in 1.006 seconds => 100.4 frames/s
INFO
Lines [modeBlend]...78 frames drawn in 1.001 seconds => 77.9 frames/s
INFO
FillRects [modeNone]...52 frames drawn in 1.018 seconds => 51.1 frames/s
INFO
FillRects [modeBlend]...12 frames drawn in 1.014 seconds => 11.8 frames/s
INFO
RenderCopy [modeNone]...166 frames drawn in 1.003 seconds => 165.5 frames/s
INFO
RenderCopy [modeBlend]...127 frames drawn in 1.005 seconds => 126.3 frames/s
INFO
RenderCopyEx [modeNone]...27 frames drawn in 1.008 seconds => 26.8 frames/s
INFO
RenderCopyEx [modeBlend]...69 frames drawn in 1.014 seconds => 68.0 frames/s
INFO
Color modulation [modeNone]...147 frames drawn in 1.004 seconds => 146.3 frames/s
INFO
Color modulation [modeBlend]...115 frames drawn in 1.004 seconds => 114.5 frames/s
INFO
Alpha modulation [modeNone]...149 frames drawn in 1.004 seconds => 148.4 frames/s
INFO
Alpha modulation [modeBlend]...101 frames drawn in 1.003 seconds => 100.7 frames/s
INFO
UpdateTexture [modeNone]...1421.2 operations/s387.3 megabytes/s
INFO
ReadPixels [modeNone]...1035.6 operations/s282.2 megabytes/s
INFO
Bye bye


I have placed both benchmarks next to each other for a better comparison. All in all impressive, thanks for letting me do this test, it could also be interesting for others.

Resized Image

MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne x5000/40 AmigaOs4.1 FE
Go to top
Re: SDL2
Not too shy to talk
Not too shy to talk


See User information
@Maijestro

If this was done additionally for SPE as described by @joerg the difference would be much bigger to the disadvantage of newlib under A1222.
This test was compiled on GCC-11

Go to top
Re: SDL2
Just can't stay away
Just can't stay away


See User information

Go to top
Re: SDL2
Just popping in
Just popping in


See User information

Go to top

  Register To Post
« 1 ... 71 72 73 (74)

 




Currently Active Users Viewing This Thread: 2 ( 0 members and 2 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project