MAX really slow on older machine

BlitzMax Forums/BlitzMax Programming/MAX really slow on older machine

D4NM4N(Posted 2007) [#1]
Ive got an interesting speed report.

I tried running rik's shooty demo on an 800 Mhz laptop with an ati rage mobility (mach64) card. It runs at about 1 frame per second.
The laptop isnt THAT slow and graphically it can handle aged games with far more graphics demands like baulders gate etc with no problems. Its a dual boot machine and runs the same in linux and XP

Why is it so slow?


H&K(Posted 2007) [#2]
Bmax, (Unlike Baulders gate), uses 3d acceleration for all graphics. So if you graphics gard isnt 3d accelerated you endup using software emulation of the 3d chipset.

So things of the Baulders gate era used the 2d acceleration to achieve (say), sprites. Bmax is using 3d software emulation of 3d acceleration to use 3d textures to fake 2d sprites.

If you need your program to run on low end machines, then you need to find a 2d Engine that uses real 2d accleration. The only one I can think of atm is "Ion 2D", which is the cobra 2d command set for Bmax. However I dont think its available, just in the pipe line.
Possibly you could try Dreamotion, which may or may not have 2d acceleration.

This was of more importance when BMax first came out, but people seem to mention it less and less as time went by, so I imagine that the number of 2d only accelerated stuff is less and less. However with talk of Bmax for Moble phones and Handheld Pc I imagine that the people in the Know are going to do something about it.


D4NM4N(Posted 2007) [#3]
Ok that explains a lot, although i thought the mach64 was 3d enhanced.

Odd choice though (considering there is no 3d command set :/) even if it is using software rendering, 800mhz should be plenty to do software rendering for simple 3d graphics (considering you could software render quake and tombraider etc at a useable speed on a 300mhz P2).

Its not that i need to code for slow machines its just this laptop is megga portable so would be great for code and basic test runs (if a bit slow ) etc, but would need better than 1fps.


xlsior(Posted 2007) [#4]
Ok that explains a lot, although i thought the mach64 was 3d enhanced.


I am not sure about that particular model, but my old 600MHz laptop also has a rage mobility adapter, and when I was looking into it slowness at the time I found that there were several different rage mobility implementations, some of which were lacking some of the 3D acceleration functionality... so certain operations fell back to the horridly slow software rendering.

Not much you can do about it, unfortunately -- BlitzMax really does need half-way decent 3D acceleration.

Odd choice though (considering there is no 3d command set :/)


there's 3D and 3D -- it uses the same 3D acceleration chips to handle all the the realtime scaling, blending, rotating, etc., even though it looks all flat 2D to you.


dmaz(Posted 2007) [#5]
800mhz should be plenty to do software rendering for simple 3d graphics

software rendering is fast enough to do non texture based 3D rendering... that's about it. as xlsior said, blending, scaling and rotating are very slow in software. everything you see max rendered is 3D, it just happens to be all on the same plain.


H&K(Posted 2007) [#6]
considering you could software render quake and tombraider etc at a useable speed on a 300mhz P2
But thats not what you are doing in Bmax. As I said if you could find a 2d renderer (ion2d for example), you too could software render.

Bmax is on the other hand "EMULATING". That is the softwere is now emulating the 3d card, and it isnt falling back on the 2d card to emulate the 3d commands, its emulating them all in CPU sofware.

So, quake and Tomeraier have there own Software engine, they are NOT using DX 3D commands that the system is then folling in software.

I found when in you situation of having a spare dev machine that the IrrB3D(Irrlicht wrapper) by Gman is very usful. Irrlicht has two software engines, (and three hardwaer ones), and IrrB3d has the B3D commandset. (Which for some reason I didnt mention at all in my first reply)


D4NM4N(Posted 2007) [#7]
Thanks, ill check that out :)


CASO(Posted 2007) [#8]
Would an integrated graphics chip on a 797 MHz 2000 Dell returning a debug error on the command "Graphics" be tied to this?