The Truth About the GE

I could even work around the speed issue, but what to do about memory leaks between scenes? Has anyone found a fix or a work around?

Yes. You can save your scene when the game starts using too much memory and then restart the game (close then open) and reload your scene. Or you could just use the BPPlayer. One feature I’m working on in the BPPlayer is finding memory leaks and releasing them.

hides shamefully when it comes to performance

In blender itself, yes. However, good programming and work arounds can make your game run faster. One of the biggest things that speeds up the Blender game engine is if you put your game in an exe/app file. If you put it in a standalone, your game can run up to 2.5 times faster!!! I have done test runs with dejai (an irrlicht user) and one of the blender games I made was able to run 2% FASTER than Irrlicht!!! And that is a fact. I’ll let you make the conclusions.

C-106 Delta, you have some knowledge of C++, can’t you go into the source code and do something about the leaks? Many thanks if you could do this.

C-106 Delta, you have some knowledge of C++, can’t you go into the source code and do something about the leaks? Many thanks if you could do this.

Yes, that is what I am doing. The BPPlayer is an external player for Blender that will hopefully fix a few problems from the outside. Later, wanted to fix some of code internally with the source code but I was having a few problems compiling Blender under Visual C++. It’s not the fact that I don’t know how to compile blender under VC++, but it’s the fact that I used almost all the hard disk space on my old computer. =P

note my sig it is appropriate

So does the BPPplayer work when you press P inside Blender itself? Also, about the problems did you try asking Erwin or another of the devs about this, they could help.

If this external player is something that can be put in the Blender folder and work while testing the game after pressing P this could be really good.

Plugins could be the future of the BGE, then people can download different plugins depending on what features they want.:wink:

EDIT: I just read, you might want to get another hard-drive for your computer.

So does the BPPplayer work when you press P inside Blender itself?

No, not at the moment. But it wouldn’t be to hard to implant.
You see, the BPPlayer mimics the setup of the Blenderplayer. It can use plugs, load/save scripts, pygame, etc.

EDIT: I just read, you might want to get another hard-drive for your computer.

Yea, I need to do something, fast.
The problem is that inorder to compile blender I need to download and install about 1 more GB of data inorder to compile. I only have 400 MB. The problem is that the files MUST be on the C drive and that is the drive that is causing me trouble.

Well once you do get the press P feature in you should get this complete and downloadable ASAP, this could save a lot of frusteration at the BGE and many projects.

One of the biggest things that speeds up the Blender game engine is if you put your game in an exe/app file. If you put it in a standalone, your game can run up to 2.5 times faster!!! I have done test runs with dejai (an irrlicht user) and one of the blender games I made was able to run 2% FASTER than Irrlicht!!! And that is a fact. I’ll let you make the conclusions.

perhaps one of the things that could happen when you press P is that it plays the game as a standalone type application instead of actually being part of Blender and without actually making an .exe file everytime you want to test your game. Or you could make the .exe file for the game and simply have an option to update the file and play it everytime you press P in Blender.

perhaps one of the things that could happen when you press P is that it plays the game as a standalone type application instead of actually being part of Blender and without actually making an .exe file everytime you want to test your game. Or you could make the .exe file for the game and simply have an option to update the file and play it everytime you press P in Blender.

You could do that, but it would defeat the purpose. You can try this simple test to prove my point:
-First, run a blender game in an exe file. Take note of the frame rate.
-Second, open the same game in blender itself. Take note of the frame rate.
-Third, keep blender open and run the exe file next to blender. Take note of the frame rate of the exe. Notice that the frame rate in the exe file (while blender is open) is the same as if it would have been in blender.

The only way to make the game go faster by pressing “p”, would be if you could close blender completely. Someone could make a code that would act somewhat like this:

Press “P” -> save blend file -> run exe -> close blender -> wait for game to finish -> open blender -> open blend.

OK, let me state my problem: (.blend), I have 3 scenes (or 3 rooms) that are somewhat graphics heavy. The first room is fine. Once you enter the next room, parts of the scene are saved (player position), and the FPS tumble once the next scene is loaded. Judging by what I’ve read, it’s a memory leak. From there (room 2), If you go back to the first room, there’s no more (noticeable) loss in FPS.

What’s interesting is that I can open my .blend, start each scene, and shut down (Esc) each scene. After doing this, it works fine and the framerate is normal. The problem is that it is not possible to do in .exe or using BlenderPlayer, at least as far as I know.

Now, I haven’t done much with BGE in a while. I haven’t even posted on BA in months. So, I really don’t know what BPPlayer is. This is the first I’ve heard of it.

(Also, I’ve tried closing Blender and opening like you said, an idea I saw on one of the threads here. It works, but not well at all, especially because you see the desktop. Also causes my PC to crash, if you move between scenes too fast.)

Okay I made runtimes of my two complete games and I did notice in the physics intensive one it ran a little faster, but that maybe from the small screen the runtime makes the game play in at default settings.

Okay I made runtimes of my two complete games and I did notice in the physics intensive one it ran a little faster, but that maybe from the small screen the runtime makes the game play in at default settings.

The screen size does make a difference, yes, but this happens in most game engines too. Irrlicht is one example.

Were do you download BPPlayer

and how do you save as an app

Were do you download BPPlayer

At the moment, you can’t because it hasen’t been released. I want to finish it before 2008. I’ll start a new thread about this when I finish it. By the way darkscar888, I almost finished rigging that model you wanted. =)

Back on top, Blender is not slow if used correctly. Here is an Irrlicht vs Blender scene demonstrated in the image below.

http://uploader.polorix.net//files/418/IrrlichtvsBlender.PNG

Keep in mind that the top program is a Blender game. The bottem one is an Irrlicht game. The little yellow number is the framerate of each (sorry my computer is really slow. The frame rate should be faster than in the picture).

The stats of each is:

Blender game:
-55,000 poly scene
-143 senors/ 131 actors
-7,000 lines of Python
-light mapping

Irrlicht game:

  • 60,000 poly scene
  • 5 lines of C++ code for camera
  • no light maps
  • no collisions
  • no physics

So after the memory leaks are fixed through this player, are you going to improve it farther by using logic bricks without bugs and using logic and scene optimizations.

If all that happens then I’d be glad to advocate for the replacement of the current Blender Player with this new one.:eyebrowlift:

If all that happens then I’d be glad to advocate for the replacement of the current Blender Player with this new one.:eyebrowlift:

The BPPlayer does not replace the Blender Player, instead it acts as a layer ontop of the BlenderPlayer. In a way, the BPPlayer “spoon feeds” data to the BlenderPlayer in a very interesting way. That’s the power of C++.

are you going to improve it farther by using logic bricks without bugs and using logic and scene optimizations.

Probably not. There are always work around for logic brick. Plus, blender need to improve on it’s graphics the most.

Well, good luck C - Delta. I’m sure the BGE community will be more than happy to hear the memory leak problem is fixed, or at least a sensible work-around implemented. I’m actually surprised to hear anyone is trying anything at all.

Good luck and Godspeed! :slight_smile:

So what else will BPPlayer do besides fix the memory leaks, and what features will you plan to add?

I’m sure the BGE community will be more than happy to hear the memory leak problem is fixed

I can’t promise I’ll fix them, but I will sure trying. Reguardless, the BPPlayer brings a few new features to the BGE. I was thinking about using the BPPlayer to hide the prop window and to drain the “extra” overhead to make BGE run even faster. There is also one other huge advanage BPPlayer brings, but “that issue” needs to be discussed somewhere else.

Edit: Sorry I didn’t see you post Cyborg Dragon. =P

Wasn’t someone working on those memory leaks?