Performance and GL extensions

Need help testing contributed art or code or having trouble getting your newest additions into game compatible format? Confused by changes to data formats? Reading through source and wondering what the developers were thinking when they wrote something? Need "how-to" style guidance for messing with VS internals? This is probably the right forum.
Post Reply
bgaskey
Elite Venturer
Elite Venturer
Posts: 718
Joined: Wed Mar 07, 2007 9:05 pm
Location: Rimward of Eden

Performance and GL extensions

Post by bgaskey »

My mac's performance in VS is still not anywhere near what it should be. I think its probably because it doesn't support some hardware gl extension and its being simulated in software. Is there a list anywhere of what gl extensions vs uses and needs to run at a realistic speed?

Attached is a list of gl extensions (the one from starting VS) sorted by extensions the mac uses, ext's the lin box uses, and one both have in common.

Hope someone can shed light on my problems. Ask if you need more information and I'll do my best 8)
You do not have the required permissions to view the files attached to this post.
bgaskey
Elite Venturer
Elite Venturer
Posts: 718
Joined: Wed Mar 07, 2007 9:05 pm
Location: Rimward of Eden

Post by bgaskey »

A follow-up: While my graphics card supports hardware opengl 2.0 features, Apple's drivers do not :cry: . Could some function unsupported on the drivers be software rendered and slowing down the game?
ace123
Lead Network Developer
Lead Network Developer
Posts: 2560
Joined: Sun Jan 12, 2003 9:13 am
Location: Palo Alto CA
Contact:

Post by ace123 »

If you go into Activity Monitor, do you see 100% CPU usage when viewing certain things (for example, looking at empty space in the cockpit, versus looking at 3 ships in camera view)

The problem with Apple is they have a bunch of really stupid thing in their shader drivers that, instead of simply returning an error saying "this cannot be done in hardware", it just switches entirely to software mode for the shaders, which usually looks worse and also goes 10 times slower. This fallback is completely silent and can't easily be turned off, so that may be happening in your case.

Can you try a few things like turning off shaders in the setup program, or changing detail settings down to Medium, or lowering the screen resolution?
bgaskey
Elite Venturer
Elite Venturer
Posts: 718
Joined: Wed Mar 07, 2007 9:05 pm
Location: Rimward of Eden

Post by bgaskey »

I'll have a go this afternoon 8)
bgaskey
Elite Venturer
Elite Venturer
Posts: 718
Joined: Wed Mar 07, 2007 9:05 pm
Location: Rimward of Eden

Post by bgaskey »

Okay I'm clean rebuilding now and then I'll try to run some tests.
Just updated SVN
I get this in aclocal in bootstrap-sh

Code: Select all

/sw/share/aclocal/xmms.m4:17: warning: underquoted definition of XMMS_TEST_VERSION
  run info '(automake)Extending aclocal'
  or see http://sources.redhat.com/automake/automake.html#Extending%20aclocal
/sw/share/aclocal/xmms.m4:62: warning: underquoted definition of AM_PATH_XMMS
/sw/share/aclocal/vorbis.m4:9: warning: underquoted definition of XIPH_PATH_VORBIS
/sw/share/aclocal/speex.m4:10: warning: underquoted definition of XIPH_PATH_SPEEX
/sw/share/aclocal/smpeg.m4:13: warning: underquoted definition of AM_PATH_SMPEG
/sw/share/aclocal/pkg.m4:5: warning: underquoted definition of PKG_CHECK_MODULES
/sw/share/aclocal/ogg.m4:8: warning: underquoted definition of XIPH_PATH_OGG
/sw/share/aclocal/librsvg.m4:11: warning: underquoted definition of AM_PATH_LIBRSVG
/sw/share/aclocal/libmikmod.m4:11: warning: underquoted definition of AM_PATH_LIBMIKMOD
/sw/share/aclocal/gtk.m4:7: warning: underquoted definition of AM_PATH_GTK
/sw/share/aclocal/gtk--.m4:10: warning: underquoted definition of AM_PATH_GTKMM
/sw/share/aclocal/glib.m4:8: warning: underquoted definition of AM_PATH_GLIB
/sw/share/aclocal/audiofile.m4:12: warning: underquoted definition of AM_PATH_AUDIOFILE
/sw/share/aclocal/ao.m4:9: warning: underquoted definition of XIPH_PATH_AO
but I don't think these are really causing any problems.

This is my configure command:

Code: Select all

./configure --with-gl-libs=/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries --with-gl-inc=/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers --with-glu-libs=/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries --with-glut-inc=/System/Library/Frameworks/GLUT.framework/Versions/A/Headers --with-python-libs=/sw/lib/python2.4/config --with-expat-libs=/sw/lib --with-expat-inc=/sw/include --with-png-libs=/sw/lib --with-png-inc=/sw/include/libpng12 --with-jpeg-libs=/sw/lib --with-jpeg-inc=/sw/include --with-vorbis-libs=/sw/lib --with-vorbis-inc=/sw/include --with-python-inc=/sw/include/python2.4 --enable-debug --enable-profile
bgaskey
Elite Venturer
Elite Venturer
Posts: 718
Joined: Wed Mar 07, 2007 9:05 pm
Location: Rimward of Eden

Post by bgaskey »

I am into the build now. Get alot of warnings that all look like this:

Code: Select all

In file included from ./src/networking/lowlevel/vsnet_socketset.h:4,
                 from ./src/networking/lowlevel/vsnet_socket.h:27,
                 from ./src/networking/netclient.h:32,
                 from src/cmd/mount.cpp:16:
./config.h:5:1: warning: "BSD" redefined
In file included from /usr/include/arpa/inet.h:93,
                 from ./src/networking/lowlevel/vsnet_headers.h:14,
                 from ./src/networking/lowlevel/vsnet_address.h:28,
                 from ./src/networking/lowlevel/vsnet_socket.h:26,
                 from ./src/networking/netclient.h:32,
                 from src/cmd/mount.cpp:16:
/usr/include/sys/param.h:66:1: warning: this is the location of the previous definition
bgaskey
Elite Venturer
Elite Venturer
Posts: 718
Joined: Wed Mar 07, 2007 9:05 pm
Location: Rimward of Eden

Post by bgaskey »

Code: Select all

In file included from src/gfx/jpeg_memory.cpp:1:
src/gfx/jpeg_memory.h:2:1: warning: "JPEG_SUPPORT" redefined
<command line>:1:1: warning: this is the location of the previous definition
In file included from src/gfx/jpeg_memory.h:32,
                 from src/gfx/jpeg_memory.cpp:1:
/sw/include/jconfig.h:11:1: warning: "HAVE_STDDEF_H" redefined
In file included from ./src/networking/const.h:24,
                 from ./src/vsfilesystem.h:12,
                 from src/gfx/jpeg_memory.h:24,
                 from src/gfx/jpeg_memory.cpp:1:
./config.h:199:1: warning: this is the location of the previous definition
In file included from src/gfx/jpeg_memory.h:32,
                 from src/gfx/jpeg_memory.cpp:1:
/sw/include/jconfig.h:12:1: warning: "HAVE_STDLIB_H" redefined
In file included from ./src/networking/const.h:24,
                 from ./src/vsfilesystem.h:12,
                 from src/gfx/jpeg_memory.h:24,
                 from src/gfx/jpeg_memory.cpp:1:
./config.h:205:1: warning: this is the location of the previous definition
This one's a little different :?
bgaskey
Elite Venturer
Elite Venturer
Posts: 718
Joined: Wed Mar 07, 2007 9:05 pm
Location: Rimward of Eden

Post by bgaskey »

And here are the complaints at the end of the compile after linking the executable:

Code: Select all

/usr/bin/ld: warning -F: directory name (/Developer/SDKs/MacOSX10.3.0.sdk/System/Library/Frameworks) does not exist
/usr/bin/ld: warning multiple definitions of symbol SwapBytes(unsigned short*)
src/aldrv/al_sound.o definition of SwapBytes(unsigned short*)in section (__TEXT,__text)
/Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of SwapBytes(unsigned short*)
/usr/bin/ld: warning multiple definitions of symbol SwapWords(unsigned int*)
src/aldrv/al_sound.o definition of SwapWords(unsigned int*)in section (__TEXT,__text)
/Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of SwapWords(unsigned int*)
/usr/bin/ld: warning multiple definitions of symbol vtable for CAGuard
/Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of vtable for CAGuard
/sw/lib/libSDL.dylib(CAGuard.o) definition of vtable for CAGuard
/usr/bin/ld: warning multiple definitions of symbol CAGuard::Wait()
/Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of CAGuard::Wait()
/sw/lib/libSDL.dylib(CAGuard.o) definition of CAGuard::Wait()
/usr/bin/ld: warning multiple definitions of symbol CAGuard::Notify()
/Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of CAGuard::Notify()
/sw/lib/libSDL.dylib(CAGuard.o) definition of CAGuard::Notify()
/usr/bin/ld: warning multiple definitions of symbol CAGuard::~CAGuard()
/Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of CAGuard::~CAGuard()
/sw/lib/libSDL.dylib(CAGuard.o) definition of CAGuard::~CAGuard()
/usr/bin/ld: warning multiple definitions of symbol _ZN7CAGuardD0Ev.eh
/Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of _ZN7CAGuardD0Ev.eh
/sw/lib/libSDL.dylib(CAGuard.o) definition of _ZN7CAGuardD0Ev.eh
/usr/bin/ld: warning multiple definitions of symbol _ZN7CAGuardD1Ev.eh
/Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of _ZN7CAGuardD1Ev.eh
/sw/lib/libSDL.dylib(CAGuard.o) definition of _ZN7CAGuardD1Ev.eh
/usr/bin/ld: warning multiple definitions of symbol _ZN7CAGuardD2Ev.eh
/Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of _ZN7CAGuardD2Ev.eh
/sw/lib/libSDL.dylib(CAGuard.o) definition of _ZN7CAGuardD2Ev.eh
/usr/bin/ld: warning multiple definitions of symbol CAGuard::~CAGuard()
/Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of CAGuard::~CAGuard()
/sw/lib/libSDL.dylib(CAGuard.o) definition of CAGuard::~CAGuard()
/usr/bin/ld: warning multiple definitions of symbol CAGuard::~CAGuard()
/Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of CAGuard::~CAGuard()
/sw/lib/libSDL.dylib(CAGuard.o) definition of CAGuard::~CAGuard()
/usr/bin/ld: warning multiple definitions of symbol __ZN7CAGuardD4Ev
/Library/Frameworks/OpenAL.framework/OpenAL(single module) definition of __ZN7CAGuardD4Ev
/sw/lib/libSDL.dylib(CAGuard.o) definition of __ZN7CAGuardD4Ev
/usr/bin/ld: warning suggest use of -bind_at_load, as lazy binding may result in errors or different symbols being used
symbol CAGuard::~CAGuard()used from dynamic library /Library/Frameworks/OpenAL.framework/OpenAL(single module) not from earlier dynamic library /sw/lib/libSDL-1.2.0.dylib(CAGuard.o)
symbol _ZN7CAGuardD0Ev.eh used from dynamic library /Library/Frameworks/OpenAL.framework/OpenAL(single module) not from earlier dynamic library /sw/lib/libSDL-1.2.0.dylib(CAGuard.o)
symbol _ZN7CAGuardD1Ev.eh used from dynamic library /Library/Frameworks/OpenAL.framework/OpenAL(single module) not from earlier dynamic library /sw/lib/libSDL-1.2.0.dylib(CAGuard.o)
symbol _ZN7CAGuardD2Ev.eh used from dynamic library /Library/Frameworks/OpenAL.framework/OpenAL(single module) not from earlier dynamic library /sw/lib/libSDL-1.2.0.dylib(CAGuard.o)
symbol CAGuard::Wait()     used from dynamic library /Library/Frameworks/OpenAL.framework/OpenAL(single module) not from earlier dynamic library /sw/lib/libSDL-1.2.0.dylib(CAGuard.o)
symbol CAGuard::Notify()     used from dynamic library /Library/Frameworks/OpenAL.framework/OpenAL(single module) not from earlier dynamic library /sw/lib/libSDL-1.2.0.dylib(CAGuard.o)
symbol CAGuard::~CAGuard()used from dynamic library /Library/Frameworks/OpenAL.framework/OpenAL(single module) not from earlier dynamic library /sw/lib/libSDL-1.2.0.dylib(CAGuard.o)
symbol __ZN7CAGuardD4Ev used from dynamic library /Library/Frameworks/OpenAL.framework/OpenAL(single module) not from earlier dynamic library /sw/lib/libSDL-1.2.0.dylib(CAGuard.o)
symbol vtable for CAGuardused from dynamic library /Library/Frameworks/OpenAL.framework/OpenAL(single module) not from earlier dynamic library /sw/lib/libSDL-1.2.0.dylib(CAGuard.o)
symbol CAGuard::~CAGuard()used from dynamic library /Library/Frameworks/OpenAL.framework/OpenAL(single module) not from earlier dynamic library /sw/lib/libSDL-1.2.0.dylib(CAGuard.o)
bgaskey
Elite Venturer
Elite Venturer
Posts: 718
Joined: Wed Mar 07, 2007 9:05 pm
Location: Rimward of Eden

Post by bgaskey »

OK here's what I have so far:

all 1024x768 32bit windowed

Nicest shader: 1 fps on landing pad base screen with ship rendering improperly. Ship is entirely bright red... :? after launching 2-3 fps facing empty space. Atlantis is see through so thats a problem too. when facing atlantis or changing camera view to see ship, fps drops to 0. maybe one refresh every 3-4 sec...

Average shader: Much the same. Ship has white lines through the red instead of solid red. fps unchanged. seg faulted about ten seconds after launching:

Code: Select all

Fatal signal: Segmentation Fault (SDL Parachute Deployed)
2008-03-19 14:57:21.248 vegastrike[24620] *** _NSAutoreleaseNoPool(): Object 0x3d8fa3d0 of class NSCFArray autoreleased with no pool in place - just leaking
2008-03-19 14:57:21.248 vegastrike[24620] *** _NSAutoreleaseNoPool(): Object 0x2a404c70 of class NSCFString autoreleased with no pool in place - just leaking
2008-03-19 14:57:21.248 vegastrike[24620] *** _NSAutoreleaseNoPool(): Object 0x20625760 of class NSCFNumber autoreleased with no pool in place - just leaking
2008-03-19 14:57:21.248 vegastrike[24620] *** _NSAutoreleaseNoPool(): Object 0x38095400 of class NSCFDictionary autoreleased with no pool in place - just leaking
2008-03-19 14:57:21.249 vegastrike[24620] *** _NSAutoreleaseNoPool(): Object 0x20624420 of class NSCFNumber autoreleased with no pool in place - just leaking
2008-03-19 14:57:21.249 vegastrike[24620] *** _NSAutoreleaseNoPool(): Object 0x3bd6d730 of class NSCFDictionary autoreleased with no pool in place - just leaking
2008-03-19 14:57:21.249 vegastrike[24620] *** _NSAutoreleaseNoPool(): Object 0x3332c380 of class NSCFArray autoreleased with no pool in place - just leaking
2008-03-19 14:57:21.249 vegastrike[24620] *** _NSAutoreleaseNoPool(): Object 0x2a40db80 of class NSCFArray autoreleased with no pool in place - just leaking
2008-03-19 14:57:21.250 vegastrike[24620] *** _NSAutoreleaseNoPool(): Object 0x36460c90 of class NSCFArray autoreleased with no pool in place - just leaking
2008-03-19 14:57:21.250 vegastrike[24620] *** _NSAutoreleaseNoPool(): Object 0x206342f0 of class SDL_QuartzWindow autoreleased with no pool in place - just leaking
Segmentation fault
Hope you can make some sense of that, cause I sure can't :? .
bgaskey
Elite Venturer
Elite Venturer
Posts: 718
Joined: Wed Mar 07, 2007 9:05 pm
Location: Rimward of Eden

Post by bgaskey »

Low and no shaders both correct the not displaying anything correctly problem, so mu comp doesn't like something that is done in standard but not low. In standard shaders, fps is 5-7 and everything looks fine. with shader support off...0-3 fps and seg faulted after a few seconds...

Code: Select all

Fatal signal: Segmentation Fault (SDL Parachute Deployed)
2008-03-19 15:38:36.547 vegastrike[24670] *** _NSAutoreleaseNoPool(): Object 0x299f2000 of class NSCFArray autoreleased with no pool in place - just leaking
2008-03-19 15:38:36.547 vegastrike[24670] *** _NSAutoreleaseNoPool(): Object 0x29b04c70 of class NSCFString autoreleased with no pool in place - just leaking
2008-03-19 15:38:36.547 vegastrike[24670] *** _NSAutoreleaseNoPool(): Object 0x211257a0 of class NSCFNumber autoreleased with no pool in place - just leaking
2008-03-19 15:38:36.547 vegastrike[24670] *** _NSAutoreleaseNoPool(): Object 0x3cca1960 of class NSCFDictionary autoreleased with no pool in place - just leaking
2008-03-19 15:38:36.548 vegastrike[24670] *** _NSAutoreleaseNoPool(): Object 0x21124850 of class NSCFNumber autoreleased with no pool in place - just leaking
2008-03-19 15:38:36.548 vegastrike[24670] *** _NSAutoreleaseNoPool(): Object 0x3ce7f450 of class NSCFDictionary autoreleased with no pool in place - just leaking
2008-03-19 15:38:36.548 vegastrike[24670] *** _NSAutoreleaseNoPool(): Object 0x3cc71fe0 of class NSCFArray autoreleased with no pool in place - just leaking
2008-03-19 15:38:36.548 vegastrike[24670] *** _NSAutoreleaseNoPool(): Object 0x29b0db80 of class NSCFArray autoreleased with no pool in place - just leaking
2008-03-19 15:38:36.548 vegastrike[24670] *** _NSAutoreleaseNoPool(): Object 0x375b8e40 of class NSCFArray autoreleased with no pool in place - just leaking
2008-03-19 15:38:36.549 vegastrike[24670] *** _NSAutoreleaseNoPool(): Object 0x21134330 of class SDL_QuartzWindow autoreleased with no pool in place - just leaking
Segmentation fault
I'll rerun in gdb tomorrow to get full backtraces for you. No more time today :? hope this gets fixed or we build the 0.5 release for mac soon.
bgaskey
Elite Venturer
Elite Venturer
Posts: 718
Joined: Wed Mar 07, 2007 9:05 pm
Location: Rimward of Eden

Post by bgaskey »

Continued here:
http://vegastrike.sourceforge.net/forum ... hp?t=10933
Don't know why this was in conributor help to begin with sorry bout that.
Post Reply