speed

Blitz3D Forums/Blitz3D Programming/speed

David(Posted 2004) [#1]
my test is finish with blitz3d, my engine bsp in c++ with directx suport 1600x1200x32 at 120/30fps, with blitz3d only 80/15fps, other test with opengl at 110/25fps (no my engine but equal bsp level).
the test no colision detected.
the blitz3d is very slow but if i exit rooms in the bsp my engine is more slow, the fps down at 60/40fps, the minimun fps is blitz3d but if i exit rooms in blitz3d the fps no down.
other thing, my engine is no optimize for this case, i calculate speed up 30 fps in my engine in this case.
its incredible, i no expert programmer games and my engine is more quick than blitz3d.


Bouncer(Posted 2004) [#2]
so?


RetroBooster(Posted 2004) [#3]
First of all blitz3d is a whole language, your engine is just a C++ implementation, secondly, blitz wasn't designed around BSP's, your engine probably makes good use of BSP occlusion where as blitz shows everything and even if it doesn't blitz has a lot more data and features to keep an eye on, it's notthing amazing that you can make sample code for an OGL/B3D engine and make it faster then blitz, it'd be laughable if you couldn't actualy... ;)


Ross C(Posted 2004) [#4]
If blitz3d was faster than c++, then everyone would use it :)


David(Posted 2004) [#5]
i upload sample code in my web in two days, but i have problem i use a bsp level quake3 and i read file pk3, this pk3 is 450mb, i searching a bsp level.
one thing, the blitz3d is a basic lenguage but the blitz3d is no write in basic lenguage, i use load bsp function standard of blitz3d


Almo(Posted 2004) [#6]
If blitz3d was faster than c++, then everyone would use it :)


No they wouldn't. Some of the C programmers I've known REALLY look down their noses at BASIC. Even if it was faster, they'd balk at its syntax.

>:(


Warren(Posted 2004) [#7]
Blitz3D is a compromise ... you sacrifice some speed and accessibility in exchange for power and ease of use.

If you don't want to make that compromise, don't use it.

Simple.


Neochrome(Posted 2004) [#8]
Computers are becomming faster and faster each day, BlitzBasic will be as fast c++, 1400 Mhz in blitz and a C++ game in 430Mhz will run the same. I like to develope games and fast! all the c++ and time cunsumation takes alot of the fun out of programming a game, SO Blitz works great! also, you can make blitz faster in some areas by writing .DLL in c++ SO there you can use both C++ and blitz together(well -ish, i crash mine more than playing lol)

point is, a pc back in 2000 at about 600Mhz would grinde in blitz, however the price of a 2.5ghz is the same a 600mhz back then, so Blitz has all its processor it wants.


David(Posted 2004) [#9]
sacrifice speed?, i cant create dynamic shadows in real time.
i previous programmer in directx7, i see the directx9 and all functions of blitz3d are implemented with interfaces, is more easy what i start in directx3.
but i one speak thing, i no expert programmer games and my engine is no optimize but is more quick than bsp of blitz3d, is not normal, the team of blitz3d is a profesionals of games i no, i am programmer of visual c++ for make standard applications
blitz3d is good for demos but i need a speed for games and blitz3d is good for start make 3d games and is a the best engine i see in internet, for example, toque engine have bugs and the $$$$ is excesive :), the blitz3d is perfect for start


RetroBooster(Posted 2004) [#10]
First of all: "i cant create dynamic shadows in real time!", I doubt sswift, myself and quite some others will agree on that, it's quite doable...

Secondly as I have stated before blitz's BSP handling is NOT occlusion optimized as far as I know, so comparing it with your own code is useless, if you are using blitz don't use BSP, but rather go for your own defintion of levels, be it made up out of regular meshes or even your own level format with it's own set of occlusion rules.

Just a general note, just when you don't know the ups and downs of a language (any language), you shouldn't be so fast to judge, a lot more can be done with this language then you can achieve with your current level of experience...

Just some friendly advice.


Bot Builder(Posted 2004) [#11]
Still- It's unusual :( I've got a proggie that opens pk3s. I'll post up the hyperlink if yah like.


DL(Posted 2004) [#12]
"No they wouldn't. Some of the C programmers I've known REALLY look down their noses at BASIC. Even if it was faster, they'd balk at its syntax."

Ha...stoopid C programmers. Sure the C syntax is more compact BUT you have to write twice as much code to do the same things you can do in a few lines of basic.

As someone else pointed out, back in the day it made sense to use C for speed, but with the brute force of today's processors it' quickly becoming a moot point.

Like ANY artistic profession, to each his own and no matter what tool is used it all comes down to the skill of the developer and knowing when to use the rigth tool for the job.


Gabriel(Posted 2004) [#13]
I've had experienced c++ programmers oohing and aahing at the soft shadows in Anime Tennis Babes, and they were done with SSwift's shadow system ( veeeeeeeeeeeeeeery slightly modified. )

When you've written a complete game in C++ come back and give us a real comparison. At the moment, it means nothing to me. Show me when you've got a particle system, all your AI, all your collisions, whatever events or scripting system you need. Show me then and I'll be able to see.


IPete2(Posted 2004) [#14]
David,

No one in their right mind would suggest that B3d is faster than C++.

But many people here cannot write 'diddly squat' in C++, but in B3d they can achieve many great things. :) We use B3d because it is fast and accessible, C++ is faster and less accessible.

Pay your money and take your choice.

If you want brute speed use ASM. The fact it would take you a real long time to figure out to do most things in ASM kinda makes it a little redundant to many.

I have written stuff in ASM and I loved it, but thats a lot time ago, and we are now in a position to use the cpu power at our finger tips along with B3d without too much strain.


IPete2.


Bot Builder(Posted 2004) [#15]
Yeah, I just was talking to someone on a forum they said that BASIC 'brought back bad memories' and assumed it is interpreted rather than compiled. Oh well. They said to try writing openGL apps. I tried... I tried... C++ has the very worst error messages ever. I got an app to popup.. no geometry though. pore me. In the case anyone knows of a C++ library or somthing that goes between you and opengl to produce blitz-like syntax, notify me :)


Shambler(Posted 2004) [#16]
#include <iostream.h>
#include <conio.h>

void main()
{
cout << "diddly squat";
getch();
}

now THAT brings back bad memories -.-


Bot Builder(Posted 2004) [#17]
Yeah. that's the only thing I can do with C. I have a giant book on 'how to learn VC++ 6.0', and it does NOTHING with graphics. not even 2d :-0


Rottbott(Posted 2004) [#18]
DirectX 9 is actually pretty easy, and comes with good documentation.

C++ is nice, but it's so easy to write really nasty code that nobody can understand. BASIC is so much neater.

As far as I can tell, Blitz3D is about as fast as a C++ 3D engine with equal flexibility.

The biggest reason most C++ programs can go a lot faster is that they can be specially optimised for the specific game, whereas Blitz has to be able to do any type of game.


BlackJumper(Posted 2004) [#19]
@ Shambler:

typical over-egging of the code from a Basic programmer when trying to write C++ code...

The getch() functionality was not in the original feature specification and probably put up the coding time by about 20~30%, causing the project to go over deadline ;-)


Shambler(Posted 2004) [#20]
@Rottbott I wouldn't agree that DX9 programing is simple.

DX programing used to be simple in DX7.

Then shaders were introduced and what had been becoming a nice simple API then reverted back into a nightmare with the programer having to write different shaders for different version of hardware+drivers -.-

What happened to the DX philosophy of abstraction which meant you didn't have to put in multiple program paths for different graphics cards?

Granted you didn't have to use shaders, but that's one of the reasons I jumped ship ;)

@BlackJumper the code I posted is a typical 'Hello World' sample you will see in many C++ books...albeit tastefully reinvented for the new millennium ;)


Warren(Posted 2004) [#21]
The reactionary bashing of C programmers really shows a great deal of insecurity guys. Just FYI.


poopla(Posted 2004) [#22]
I'm a C/C++ programmer, albeit not a good one. Does that make me a bad person? ;)


Ross C(Posted 2004) [#23]
Yes ;)