analog_programmer wrote on 2024-12-01, 11:44:
MSxyz wrote on 2024-12-01, 11:15:
It creates a .tga file with the output rendering.
Aha, now I see the newly created "laser.tga" graphic file. At least GIMP opens it without errors. Well, this POV-Ray thing is not my type of DOS bench software. I'll try C-Ray.
P.S. Nah, I don't know how to cross-compile DOS executable with DOS-extednder under Linux. Can you share your compiled cray32.exe here?
I attach here "my" version of the benchmark along with the source code and everything...
Simply unpack and run CRBENCH.BAT It needs a graphic card with VBE 2.0 extensions; Scitech's SDD53a is probably better than the later 7.0 version because it supports many more older chips. You need a card that supports 32bpp modes. Support for 24 bpp is spotty at best. I still need to investigate if I can tweak the code to support more graphic modes (having 15/16 bpp would be nice for older ISA cards... not many of them support 32bpp, but 24 bpp was somewhat more common).
The benchmark can run with and without an FPU. The compiler generate 387 code but an emulator should be present. I've enabled certain specific optimizations in the compiler that boosts performance quite a bit (like loop unrolling, making the code 'branch prediction' friendly) but should remain compatible with all 386 class processors and I avoided any architecture specific optimization (i.e. fpu code tailored for the Pentium / P6).
Running the benchmark without any option will default to 640x480 with 1 ray/pixel. I included two more BAT files: CRBENCH1 will configure the .exe to use 320x240 resolution with 4 rays per pixel. Its running time should be the same (+/-1 sec max) as using 640x480 with 1 ray per pixel. This benchmark scales nicely and linearly with the number of rays calculated. CRBENCH2 will configure the .exe to use 320x240 with 16 rays per pixel. A bit overkill, but looks very nice.
On my test system, a Cyrix 5x86-120 ,CRBENCH will complete in 137 seconds without Cyrix specific optimizations, and in only 100 seconds with certain optimizations enabled (BTB_EN=On, FP_FAST=On, LSSER=Off ).