
LinuxUser, these numbers are quite surprising, STK is not threaded in any way and never was. Are you sure it's STK that's using both CPUs when you run version 0.7?
xeno74 {l Wrote}:STK 0.7.1 doesn't work on Mac OS X 10.4.11. It works perfect on 10.3.9, 10.4.0, 10.5.8, and 10.6.7.
LinuxUser {l Wrote}:Well, the usage pattern varies. It is definitely STK. CPU usage from it is around 50%, and it is a quad-core (i5 2500K), so it is definitely using at least two threads (one thread can only use 25%). I should probably mention that is RC2. Somehow though, it is getting the same framerate as 0.7.1, so I'm not sure what's happened there.
Also, I'd be suggesting it needs threading if it is maxing out one thread for me, as the only normal CPU with better single-threaded performance than mine is the same overclocked. I know that would be a lot of work, though.
Kinsu {l Wrote}:Maybe Irrlicht uses multiple threads ?
LinuxUser {l Wrote}:Let me guess...It is only using one main thread on the CPU rather than 4 or more.
It is. When I have 19 AI karts, I have ~100% usage on one core, and nothing much on the others. On 0.7.0 I had ~50-70% on two cores, and ~30-50% on the other two.
With no AI karts, I now have ~50% usage on one core, and nothing much on the others. I'm on Windows Vista. And yes, the framerate is lower (up to 80s rather than 130s). And the GPU is cooler (69 instead of 71 with an idle temp of 64) suggesting it isn't working as hard.
sudo add-apt-repository ppa:littel-jo/stk-0.7.1
sudo apt-get update
sudo apt-get install supertuxkart
hiker {l Wrote}:LinuxUser {l Wrote}:Let me guess...It is only using one main thread on the CPU rather than 4 or more.
Mostly correct. There is one thread for the news, but that's not doing much work at this stage (except at startup).It is. When I have 19 AI karts, I have ~100% usage on one core, and nothing much on the others. On 0.7.0 I had ~50-70% on two cores, and ~30-50% on the other two.
That sounds more like STK was previously running on one core (perhaps bound to that core), while now it is mostly on one, but now and again scheduled on a different core.With no AI karts, I now have ~50% usage on one core, and nothing much on the others. I'm on Windows Vista. And yes, the framerate is lower (up to 80s rather than 130s). And the GPU is cooler (69 instead of 71 with an idle temp of 64) suggesting it isn't working as hard.
Not sure about this. Was it running for a long time? We know that STK has some memory leaks - it could be that the computer is perhaps swapping (no idea if Vista would display this as cpu time, or ...). But both lower is a bit strange indeed.
Does disabling internet news (and just in case restarting stk) make a difference? What about the graphical detail options?
Cheers,
Joerg
xeno74 {l Wrote}:STK 0.7.1 doesn't work on Mac OS X 10.4.11. It works perfect on 10.3.9, 10.4.0, 10.5.8, and 10.6.7. The Problem isn't STK 0.7.1. Irrlicht 1.8 isn't compatible with few graphics cards driver. I've build a last Revision 8150 with Irrlicht 1.7.2 and added the eMule and Beastie kart. It's called TenFourSTK -> TenFour like 10.4 Tiger.
Download: TenFourSTK-0.7.1-osx-ppc.dmg.zip
Screenshot TenFourSTK on Mac OS X Tiger 10.4.11:
STK 0.7.1 Universal on 10.4.11 Tiger with ATi and Nvidia graphics card:
There is on Linux a lot of problems with Irrlicht 1.8 and open source graphic cards driver.
And Irrlicht 1.8 doesn't work with software 3D driver on openSUSE. STK 0.7 with Irrlicht 1.7.2 works perfect with software GL and open source graphic cards driver
Ok, that's definitely a bug in Irrlicht. I'll check where this could happen exactly and why.
One thing that I also realized just now is that we don't use the dynamic extension mechanism of OpenGL under OSX. This will definitely lead to strange situations and maybe illegal function calls due to not properly checking all conditions for direct OpenGL method usage. Another thing, due to this lack of support, is, that one has to compile Irrlicht under the same system setup where it shall be used. The problem is, that the headers basically defines which extensions are available and which not. If the target system supports less extensions, calls could be incomplete or simply raising undefined behavior. This also holds for Solaris systems, although the extension mechanism would work there. It's just commented out, because the old solaris/sparc systems that I used did not support GLX. You could check IrrCompileConfig and remove the 'undef IRR_USE_OPENGL_EXTENSION_POINTER_' or very similar compiler define. This might solve some problems under Solaris. We'd need a dynamic check for existence of glx.h in order to automate this setting (say, via configure).
Ok, what seemed like an unintentional crash was a DEBUG_BREAK_IF(true) in the FBO setup. I guess we should introduce a function name to show up in the stack trace for such occasions, makes it easier to read the trace. Anyway, the FBO error which shows up in the console out becomes an abort() in debug mode. This leads to the immediate termination of Irrlicht. In release mode this would only lead to an unsuccesful RTT generation, which is much better IMHO. I'll remove the BREAK there.
The question is a) why the depth renderbuffer is unsupported, and b) what would be the actual problem later on. I guess that the broken RTT is later on messing with the whole rendering.
You could also try to disable FBO support (driver->disableFeature(EVDF_FRAMEBUFFER_OBJECT)) to further test other ways of rendering this scene.
jarvis {l Wrote}:Hello,
I made a ubuntu ppa for maverick (10.10) and natty (11.04): ppa:littel-jo/stk-0.7.1
To install:
- {l Code}: {l Select All Code}
sudo add-apt-repository ppa:littel-jo/stk-0.7.1
sudo apt-get update
sudo apt-get install supertuxkart
Could you test it ? I spent a lot of time to package that (about 10 hours). I would like feed back.
Thank you![]()
My plan :
- Of course, i'll package the 0.7.1b version when i have time (i think there is no problem for that).
- If there is no problem, i'll update in the ppa: ppa:stk/dev (little by little: first for the next version (natty), after for maverick and maybe for lucid (if there is some requests).
Index: src/graphics/irr_driver.cpp
===================================================================
--- src/graphics/irr_driver.cpp (revision 8405)
+++ src/graphics/irr_driver.cpp (working copy)
@@ -213,6 +213,7 @@
}
m_device->setResizable(false);
+ m_device->getVideoDriver()->disableFeature(EVDF_FRAMEBUFFER_OBJECT);
// Stores the new file system pointer.
file_manager->setDevice(m_device);
Auria {l Wrote}:Hi Xeno, thanks for posting on the irrlicht forum.
For disabling FBO, try this patch :
- {l Code}: {l Select All Code}
Index: src/graphics/irr_driver.cpp
===================================================================
--- src/graphics/irr_driver.cpp (revision 8405)
+++ src/graphics/irr_driver.cpp (working copy)
@@ -213,6 +213,7 @@
}
m_device->setResizable(false);
+ m_device->getVideoDriver()->disableFeature(EVDF_FRAMEBUFFER_OBJECT);
// Stores the new file system pointer.
file_manager->setDevice(m_device);
Auria {l Wrote}:Hi Xeno,
niceI created a ticket : https://sourceforge.net/apps/trac/super ... ticket/188
Auria {l Wrote}:(Could you please post in the irrlicht forum thread to tell hybrid that this indeed fixes the problem?)
Index: src/graphics/irr_driver.cpp
===================================================================
--- src/graphics/irr_driver.cpp (revision 8405)
+++ src/graphics/irr_driver.cpp (working copy)
@@ -213,6 +213,7 @@
}
m_device->setResizable(false);
+ m_device->getVideoDriver()->disableFeature(EVDF_FRAMEBUFFER_OBJECT);
// Stores the new file system pointer.
file_manager->setDevice(m_device);
In general, this is not a good idea. So I wouldn't recomment to do this always. Maybe there's a way to get the OS version and only disable FBOs on PPC OSX in version 10.4.x
g++ -DPACKAGE_NAME=\"supertuxkart\" -DPACKAGE_TARNAME=\"supertuxkart\" -DPACKAGE_VERSION=\"0.7.1b\" -DPACKAGE_STRING=\"supertuxkart\ 0.7.1b\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"supertuxkart\" -DVERSION=\"0.7.1b\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_AL_AL_H=1 -DHAVE_OGGVORBIS=1 -DENABLE_BIDI=1 -DSVNVERSION=\"exported\" -DBT_NO_PROFILE=/\*\*/ -DHAS_POLL=1 -DHAS_FCNTL=1 -DHAS_MSGHDR_FLAGS=1 -DHAS_SOCKLEN_T=1 -I. -DSUPERTUXKART_DATADIR="\"/usr/local/share/games/supertuxkart/\"" -I./bullet/src/ -I./enet/include/ -D_XPG4_2, -I/usr/local/include -I /opt/csw//include -I /opt/csw//include/irrlicht -I/usr/local/include -I/opt/csw/include -Wall -DNDEBUG -O2 -MT CGUIEditBox.o -MD -MP -MF .deps/CGUIEditBox.Tpo -c -o CGUIEditBox.o `test -f 'guiengine/widgets/CGUIEditBox.cpp' || echo './'`guiengine/widgets/CGUIEditBox.cpp
<command line>:28:8: warning: ISO C requires whitespace after the macro name
guiengine/widgets/CGUIEditBox.cpp: In member function `virtual void CGUIEditBox::draw()':
guiengine/widgets/CGUIEditBox.cpp:758: error: `EGDC_GRAY_EDITABLE' undeclared (first use this function)
guiengine/widgets/CGUIEditBox.cpp:758: error: (Each undeclared identifier is reported only once for each function it appears in.)
guiengine/widgets/CGUIEditBox.cpp:760: error: `EGDC_FOCUSED_EDITABLE' undeclared (first use this function)
guiengine/widgets/CGUIEditBox.cpp:760: error: `EGDC_EDITABLE' undeclared (first use this function)
gmake[2]: *** [CGUIEditBox.o] Error 1
gmake[2]: Leaving directory `/export/home/xeno74/Desktop/supertuxkart-0.7.1b /src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/export/home/xeno74/Desktop/supertuxkart-0.7.1b /src'
gmake: *** [all-recursive] Error 1
Quax1102 {l Wrote}:HI there, I'm sorry if I managed to pick the wrong forum ... I do have a quite simple (noob's) question: I'm running Ubuntu 10.10 and added the STK 0.7.1 PPA to my software center. Then I installed STK, STK data and Irrlicht package from the PPA. However, STK wont even start. So my question now is: do I also have to install that OpenAL and OpenGL that are mentioned in the dependencies? I thought that would be opitional packages to run STK witt instead of Irrlicht?
Thx!!
xeno74 {l Wrote}:Hi,
I've a compiler error on Solaris:
- {l Code}: {l Select All Code}
g++ -DPACKAGE_NAME=\"supertuxkart\" -DPACKAGE_TARNAME=\"supertuxkart\" -DPACKAGE_VERSION=\"0.7.1b\" -DPACKAGE_STRING=\"supertuxkart\ 0.7.1b\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"supertuxkart\" -DVERSION=\"0.7.1b\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_AL_AL_H=1 -DHAVE_OGGVORBIS=1 -DENABLE_BIDI=1 -DSVNVERSION=\"exported\" -DBT_NO_PROFILE=/\*\*/ -DHAS_POLL=1 -DHAS_FCNTL=1 -DHAS_MSGHDR_FLAGS=1 -DHAS_SOCKLEN_T=1 -I. -DSUPERTUXKART_DATADIR="\"/usr/local/share/games/supertuxkart/\"" -I./bullet/src/ -I./enet/include/ -D_XPG4_2, -I/usr/local/include -I /opt/csw//include -I /opt/csw//include/irrlicht -I/usr/local/include -I/opt/csw/include -Wall -DNDEBUG -O2 -MT CGUIEditBox.o -MD -MP -MF .deps/CGUIEditBox.Tpo -c -o CGUIEditBox.o `test -f 'guiengine/widgets/CGUIEditBox.cpp' || echo './'`guiengine/widgets/CGUIEditBox.cpp
<command line>:28:8: warning: ISO C requires whitespace after the macro name
guiengine/widgets/CGUIEditBox.cpp: In member function `virtual void CGUIEditBox::draw()':
guiengine/widgets/CGUIEditBox.cpp:758: error: `EGDC_GRAY_EDITABLE' undeclared (first use this function)
guiengine/widgets/CGUIEditBox.cpp:758: error: (Each undeclared identifier is reported only once for each function it appears in.)
guiengine/widgets/CGUIEditBox.cpp:760: error: `EGDC_FOCUSED_EDITABLE' undeclared (first use this function)
guiengine/widgets/CGUIEditBox.cpp:760: error: `EGDC_EDITABLE' undeclared (first use this function)
gmake[2]: *** [CGUIEditBox.o] Error 1
gmake[2]: Leaving directory `/export/home/xeno74/Desktop/supertuxkart-0.7.1b /src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/export/home/xeno74/Desktop/supertuxkart-0.7.1b /src'
gmake: *** [all-recursive] Error 1
Users browsing this forum: No registered users and 0 guests