Engine causes strange sound and crash

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Post Reply
Mloren
Posts: 114
Joined: Mon Aug 07, 2006 2:30 am
Location: Australia
Contact:

Engine causes strange sound and crash

Post by Mloren »

I've used Irrlicht in the past without problem (version 1.3) however now I am having some issues. I have new hardware and version 1.5 so I'm not sure if its a hardware issue or the new version of Irrlicht.

Note this problem occurs with any irrlicht based project. I first noticed it on my own projects but have since tested it on the demos that come with irrlicht and I get it there as well.

The problem is that when i run an irrlicht based program I get a strange sound coming from my video card, a soft buzzing sound. After leaving the program running for several hours, my computer hard locks. The irrlicht rendering window goes all weird. (textures corrupted, verts stretched off into infinity, etc) everything outside of the irrlicht window is not visually effected. I can still move the mouse around but that's all, any attempt to interact with anything and my computer just beeps at me. I cant end the program in any way and have to restart.

This occurs in any program that has a window rendering with Irrlicht. I have tested both OpenGL and DirectX9, both do it. When running with the NULL driver, or without rendering in any way it doesn't occur.

Note I can run non-irrlicht based programs and games fine, leading me to conclude its something to do with irrlichts rendering and not a hardware problem.

My computer is:
Intel quad core CPU
2 gig ram
Geforce 8800 GT video card

Note I havent tested long enough to crash on all the demos (as it takes a long time), I tested a couple and it did and then i just tested if it made the buzzing sound on the rest.
things graphically complex like the Quake3Map demo, collision demo, per pixel lighting demo etc do cause the buzzing.
Hello World demo doesnt.
Graphical interface demo only does when the "new window" button has been clicked and its got the extra little window.
Shader demo causes a very high pitched buzz.
its possible that on the ones that dont seem to buzz its just too quiet, the pitch and volume of the buzz is slightly different for each demo and its never very loud anyway.

Anyone have any idea what could be causing this?
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

The same topic was just discussed in another forum. Moving to open discussion.
The problem is definitely hw related, and it's probably showing up because you use a non-idling render loop. The gfx card heats up and the gfx memory corrupts.
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

Does turning on vsync help?
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Dorth
Posts: 931
Joined: Sat May 26, 2007 11:03 pm

Post by Dorth »

Why not make it Sleep(1);?
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

Because that would reduce the framerate unconditionally, rather than capping it.

If your app is already running at less than the vsync rate, you probably don't want to punish your customer by making it even slower.
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Virion
Competition winner
Posts: 2148
Joined: Mon Dec 18, 2006 5:04 am

Post by Virion »

hey, my machine is exactly the same spec like yours. has buzz sound too, but I didn't know that it will crash if leave it like that. maybe I should try. :lol:
Dorth
Posts: 931
Joined: Sat May 26, 2007 11:03 pm

Post by Dorth »

I dunno, wasn't it discussed and found to be the appropriate way to do a yield on windows? I hate application that think they are the only thing running on a system, and with the multi-thread extension being worked on by a member, I dread an application withholding every cores. A proper yield would be much better anyway, but if your frame rate is for example 40 fps, you'll only delay 40 milliseconds per second, giving the chance to the system to do everything it must if need be.
Mloren
Posts: 114
Joined: Mon Aug 07, 2006 2:30 am
Location: Australia
Contact:

Post by Mloren »

I cant find the thread where this was discussed earlier.
Anyone got a link?

So if I understand this right, the problem is that it's rendering too many frames per second?

Was there a solution that didn't involve capping the framerate?

EDIT: So I think I found a solution. I didnt want to enable Vsync or use a Sleep() because I wanted the program to update as quickly as it can, but I don't need it to render that fast.
So I have de-synced the updates and renders. Updating as fast as it can (over 1000 updates per second) but I only render 60 frames per second by just keeping my own timer and only rendering about once every 16 milliseconds (gives a framerate of 63fps, good enough).
The sound has stopped, hopeful it wont crash although I haven't tested it.
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

Mloren wrote:I wanted the program to update as quickly as it can, but I don't need it to render that fast.
OK, I'm intrigued. Why do you want to perform processing if you can't see the results of it?
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Mloren
Posts: 114
Joined: Mon Aug 07, 2006 2:30 am
Location: Australia
Contact:

Post by Mloren »

I'm making a simulation for a scientific study I'm doing (purely as a hobby).
Each update represents 1 second in the simulation, so I want it to run as fast as possible to get as much data as quickly as possible.
I'm rendering a rough approximation of whats going on just so I can get a general idea of how the simulation is going. More accurate data is written out to log files which I can review later.
So rendering 60fps while updating much faster is adequate because I don't really need to see every simulated second.
Post Reply