Framerate Problems (Very Low)

Ok, so I’m completely new to Panda3D and I just started with the manual and I am running into some serious fps issues with the programs I’m running. I’m not running anything fancy either, just the basic tutorial stuff and it’s dragging my frames down to less than one per second.

I have a relatively decent computer with an AMD Sempron 3400+ and a gig of ram. I can run Half-life and WoW pretty well, so I don’t see whats wrong with my setup that it suddenly can’t handle one tiny scene.

Please help! I’m stumped!
:cry:

-Jojop0tato

Open your Config.prc with your favorite text editor.
On Windows, it’s located in c:\Panda3D-1.3.2\etc\Config.prc and on Linux in /etc/Config.prc.
You will see there the variable load-display.
Try changing it to pandadx8 or pandadx9 (for DirectX 8 or 9), or pandagl (for OpenGL), or software (if you have no video card. Not recommended.).

Many possibilities. Try to search the forum for “performance” and you’ll get some “under the skin” explanation.

Ok, ill try the config thing and if that doesn’t work, then ill search for performance in the forums.

Thanks for the help! :smiley:

Changing it to pandadx doesnt seem to make a difference, so I guess that isnt it.

Ill keep searching for an answer…

You sure you don’t somehow have “framebuffer-software” or something like that in your Config.prc? It sure does sound like you’re running in software mode for some reason.

David

This is my config file right here:


###########################################################

Panda3D Configuration File - User-Editable Portion

###########################################################

Uncomment one of the following lines to choose whether you should

run using OpenGL or DirectX rendering.

load-display pandadx

These control the placement and size of the default rendering window.

win-origin 50 50
win-size 800 600

Uncomment this line if you want to run Panda fullscreen instead of

in a window.

fullscreen #f

If you don’t object to running OpenGL in software leave the keyword

“software” in the following line, otherwise remove it to force

hardware only.

framebuffer-mode rgba double-buffer depth hardware

These control the amount of output Panda gives for some various

categories. The severity levels, in order, are “spam”, “debug”,

“info”, “warning”, and “fatal”; the default is “info”. Uncomment

one (or define a new one for the particular category you wish to

change) to control this output.

notify-level warning
default-directnotify-level warning

These specify where model files may be loaded from. You probably

want to set this to a sensible path for yourself. $THIS_PRC_DIR is

a special variable that indicates the same directory as this

particular Config.prc file.

model-path .
model-path $THIS_PRC_DIR/…
model-path $THIS_PRC_DIR/…/models
sound-path .
sound-path $THIS_PRC_DIR/…
sound-path $THIS_PRC_DIR/…/models
texture-path .
texture-path $THIS_PRC_DIR/…
texture-path $THIS_PRC_DIR/…/models

This enable the automatic creation of a TK window when running

Direct.

want-directtools #f
want-tk #f

Enable/disable performance profiling tool and frame-rate meter

want-pstats #f
show-frame-rate-meter #f

Enable audio using the FMod audio library by default:

audio-library-name p3fmod_audio

The new version of panda supports hardware vertex animation, but it’s not quite ready

hardware-animated-vertices 0


It says that i’m running it in directX.

That can’t be your “real” config file, or your only config file, since “pandadx” is not valid. It should be either “pandadx8” or “pandadx9”. If it’s working at all with that config file, it must be also finding some other config file somewhere else.

Try this simple Python program:

from direct.directbase.DirectStart import *
print cpMgr

This will list the config files it is loading.

David

Hmmm… why could it not be his default config file?

Following pro-rsofts advice would result in the pandadx-entry he has now.

So pro-rsoft made an mistake - but that can happen. :smiley:

Any luck till now?

Regards, Bigfoot29

I tried the code drwr gave me and it printed:

2 implicit pages:
/c/Panda3D-1.3.2/etc/Config.prc
/c/Panda3D-1.3.2/etc/Configauto.prc

Here is what the configauto.prc has in it:

###########################################################

Panda3D Configuration File - Auto-Generated Portion

Editing this file is not recommended. Most of these

directives can be overriden in Config.prc

###########################################################

Define the display types that have been compiled in. Panda will

pick one of these by going through the list in this order until one

is found that works, unless the user specifically requests a

particular display type with the load-display directive.

aux-display pandagl
aux-display pandadx9
aux-display pandadx8
aux-display pandadx7

The egg loader is handy to have available by default. This allows

clients to load egg files. (The bam loader is built-in so bam files

are always loadable).

By qualifying with the extension “egg”, we indicate the egg loader

should be made available only if you explicitly name a file with an

.egg extension.

load-file-type egg pandaegg

The following lines define some handy object types to use within the

egg syntax. This remaps { name } into whatever egg

syntax is given by egg-object-type-name, which makes a handy

abbreviation for modeling packages (like Maya) to insert

sophisticated egg syntax into the generated egg file, using a single

object type string.

egg-object-type-portal portal { 1 }
egg-object-type-polylight polylight { 1 }
egg-object-type-seq24 { 1 } fps { 24 }
egg-object-type-seq12 { 1 } fps { 12 }
egg-object-type-indexed indexed { 1 }

These are just shortcuts to define the Model and DCS flags, which

indicate nodes that should not be flattened out of the hierarchy

during the conversion process. DCS goes one step further and

indicates that the node’s transform is important and should be

preserved (DCS stands for Dynamic Coordinate System).

egg-object-type-model { 1 }
egg-object-type-dcs { 1 }

The following define various kinds of collision geometry. These

mark the geometry at this level and below as invisible collision

polygons, which can be used by Panda’s collision system to detect

collisions more optimally than regular visible polygons.

egg-object-type-barrier { Polyset descend }
egg-object-type-sphere { Sphere descend }
egg-object-type-invsphere { InvSphere descend }
egg-object-type-tube { Tube descend }

As above, but these are flagged to be “intangible”, so that they

will trigger an event but not stop an object from passing through.

egg-object-type-trigger { Polyset descend intangible }
egg-object-type-trigger-sphere { Sphere descend intangible }

“bubble” puts an invisible bubble around an object, but does not

otherwise remove the geometry.

egg-object-type-bubble { Sphere keep descend }

“ghost” turns off the normal collide bit that is set on visible

geometry by default, so that if you are using visible geometry for

collisions, this particular geometry will not be part of those

collisions–it is ghostlike.

egg-object-type-ghost collide-mask { 0 }

This module allows direct loading of formats like .flt, .mb, or .dxf

load-file-type p3ptloader

Define a new egg object type. See the comments in _panda.prc about this.

egg-object-type-direct-widget collide-mask { 0x80000000 } { Polyset descend }

Define a new cull bin that will render on top of everything else.

cull-bin gui-popup 60 unsorted

The following two lines are a fix for flaky hardware clocks.

lock-to-one-cpu #t
paranoid-clock 1


The config.prc was the other one I already posted.

It looks to me like the config.prc either modifies or overrides this one.

Hmmm… again, what does happen if you set

load-display to pandadx8 ?

Regards, Bigfoot29

Sorry, but I dont quite understand how to do this, which line would allow me to set load-display to pandadx8?

Sorry for being so n00bish, and thank you for your patience with me! :smiley:

in Config.prc… almost at the top

But I am going to use teh evil referee powers and move that thread to general forum section if you allow.

  • Doesn’t seem to be scripting problem… :slight_smile:

Regards, Bigfoot29