Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] Re: Speed problem and event handling


Chronological Thread 
  • From: Abe Stephens < >
  • To:
  • Subject: [Manta] Re: Speed problem and event handling
  • Date: Thu, 2 Oct 2008 11:31:56 -0600

Hi,

In general it will be difficult for people on the list to help with problems on Windows, just because no one here uses the platform. We also don't have access to the Intel compiler on the platform so it's difficult to even perform simple tests. Fortunately, other groups have developed products based on Manta in Visual Studio, so I'm pretty confident it should be possible.

Comments inline:

On Oct 2, 2008, at 10:45 AM, Bo Huang wrote:

1)
A problem of mine happens only for a processor intensive material I created.
 
The debug build in Visual Studio can run and animate in about one FPS consistently.
 
The minSizeRel build however is sporadic. Though faster speed wise, it may animate for two seconds, and then stops animating for five seconds, and repeat the process in a non-uniform fashion. During this pause it would be hard to drag the window, as if the Windows message loop is too busy to process mouse/keyboard data. Nonetheless, the default test scene, using the same set up, doesn’t exhibit this problem. Nor is my material using SSE optimizations yet.
 
Other configurations such as Release have never worked for me.
 

Are you using the python viewer or something else on windows? How does Release mode fail for the default scene?

Common performance pitfalls include things like allocating memory in a material shader or intersection routine, pushing items on to a stl container, or engaging in fine grained synchronization....


2)
To solve my problem, I wish to study how Manta handles rendering and keyboard/mouse events without bottlenecking one or the other. For example, are these tasks running on different threads? Are the keyboard/mouse events implemented in Python only?
 

Manta doesn't handle keyboard and mouse events (just like OpenGL doesn't handle keyboard and mouse events). The GUI library (raw X11, wxPython, Fox, etc.) can turn the event into a Manta transaction, say to update the camera. The GUI threads sends the transaction to the Manta engine using MantaInterface::addTransaction(). The callback contained within the transaction is executed before the next frame starts rendering. There are several different types of callbacks for small state changes, as well as parallel and serial state changes. See:


Though I have Manta working for Xcode, Xcode just refuses on break at many break points I have set up, which is echoed by other Xcode developers.
 
I wish to try EclipseCDT to see if debugging is better. I built Manta for EclipseCDT in CMake but do not see a project file I can open or import. Any guidance is appreciated.
 

I've always edited in emacs and used GDB on the command line. I think one or two people here use XCode to develop Manta- so they might be able to respond with advice.

Abe






Archive powered by MHonArc 2.6.16.

Top of page