Re: [osg-users] VPB and PagedDatabase performance.
ATI doesn't do display lists at all well, change the DatabasePager to use vertex arrays to see if that helps. Run osgviewer --help-env to list the env vars that you can use to enable the use of vertex arrays. We have the same issue on ATI cards. The paging problem never really got fixed in the ATI drivers unfortunately. Gert -- Gert van Maren Head of Research Development K2Vi Virtual Reality Software Data Interface Technologies Ltd Phone: +64 21 2855581 Email: [EMAIL PROTECTED] Web: http://www.k2vi.com ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VPB and PagedDatabase performance.
On Thu, Feb 28, 2008 at 1:24 AM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I built the data base as 16 tiles of 4kx4k each tile running osgdem -l 6 , would running -l 8 help performance? It won't make any real difference. Things should scale comfortable to level 18 and beyond. Level 6 and level 8 really rather small in the great scheme of things. Everything is local to a single machine. I have tried release and debug versions. The machines I have been using range from an athalon x2, 2gigs of ram + built in ati video (20-30 fps) to a 2.4 gig core 2 duo , with 4 gigs ram, GeForce 8800 GTX, and 2x raid0 hard drive array. (60 fps) ATI doesn't do display lists at all well, change the DatabasePager to use vertex arrays to see if that helps. Run osgviewer --help-env to list the env vars that you can use to enable the use of vertex arrays. In both cases the lag spikes occurs at various points as the camera is moving over the database. My FPS counter might be 60,60,60,10,18,60,60,60. As soon as the data has been loaded the app runs rock steady. There is something odd going on your machine. You should just get a solid 60Hz. The DatabasePager is designed to load balance to shouldn't get big frame drops. Is there another process running on your machine? What OS are you using? What other apps are running? I have tried playing with the LoDScale settings and can minimize the impact by lowering how much of the database gets loaded. Is there an easy way to tell the pagedLOD's to just load the data and never retire the unused data? I think if I kept the whole thing in memory I would be golden. See include/osgDB/DatabasePager and osgviewer --help-env for the vairous methods of control the load balancing. But.. you shouldn't really need to play with it much, you frame misses are likely to be due to something else. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VPB and PagedDatabase performance.
I built the data base as 16 tiles of 4kx4k each tile running osgdem -l 6 , would running -l 8 help performance? In the first case, you have 6 levels of detail, in the second you have 8. The presence of additional levels of detail will not affect the rendering performance of the existing 6 levels. -Paul ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VPB and PagedDatabase performance.
Q2: What are the parameters can I tweak in an OSG application to tweak how the program runs? Well there are hundreds of classes with dozens of methods in each... so a massive set of options you can tweak. First thing is to figure out what the actual performance problem is then to guide in the right direction. Also, there are several environment variables for controlling the DatabasePager that you might want to take a look at. The current OSG Ref Man v2.2 contains a section documenting all OSG environment variables: http://www.lulu.com/content/1669182 Paul Martz Skew Matrix Software LLC http://www.skew-matrix.com 303 859 9466 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VPB and PagedDatabase performance - compileGLObjects (UNCLASSIFIED)
Classification: UNCLASSIFIED Caveats: NONE I happened to be looking at that today. I noticed that the call in Renderer.cpp (2.2 and trunk): databasePager-compileGLObjects Always uses 0.004 for available time. So, unless you roll your own Viewer, your stuck with this time. Also, it doesn't seem that variables: minimumTimeAvailableForGLCompileAndDeletePerFrame Or targetFrameRate are used at all, not even as a hint. But, I could be missing something. Mike Dorsett - Software Engineer - SAIC -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Paul Martz Sent: Wednesday, February 27, 2008 8:53 AM To: 'OpenSceneGraph Users' Subject: Re: [osg-users] VPB and PagedDatabase performance. Q2: What are the parameters can I tweak in an OSG application to tweak how the program runs? Well there are hundreds of classes with dozens of methods in each... so a massive set of options you can tweak. First thing is to figure out what the actual performance problem is then to guide in the right direction. Also, there are several environment variables for controlling the DatabasePager that you might want to take a look at. The current OSG Ref Man v2.2 contains a section documenting all OSG environment variables: http://www.lulu.com/content/1669182 Paul Martz Skew Matrix Software LLC http://www.skew-matrix.com 303 859 9466 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or g Classification: UNCLASSIFIED Caveats: NONE ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VPB and PagedDatabase performance - compileGLObjects (UNCLASSIFIED)
HI Mike, Yes your analysis is correct, Renderer.cpp is still hardwired, and shouldn't be. I'll put this down on my TODO list to fix. Robert. On Wed, Feb 27, 2008 at 3:24 PM, Dorsett, Mike F AMRDEC/SAIC [EMAIL PROTECTED] wrote: Classification: UNCLASSIFIED Caveats: NONE I happened to be looking at that today. I noticed that the call in Renderer.cpp (2.2 and trunk): databasePager-compileGLObjects Always uses 0.004 for available time. So, unless you roll your own Viewer, your stuck with this time. Also, it doesn't seem that variables: minimumTimeAvailableForGLCompileAndDeletePerFrame Or targetFrameRate are used at all, not even as a hint. But, I could be missing something. Mike Dorsett - Software Engineer - SAIC -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Paul Martz Sent: Wednesday, February 27, 2008 8:53 AM To: 'OpenSceneGraph Users' Subject: Re: [osg-users] VPB and PagedDatabase performance. Q2: What are the parameters can I tweak in an OSG application to tweak how the program runs? Well there are hundreds of classes with dozens of methods in each... so a massive set of options you can tweak. First thing is to figure out what the actual performance problem is then to guide in the right direction. Also, there are several environment variables for controlling the DatabasePager that you might want to take a look at. The current OSG Ref Man v2.2 contains a section documenting all OSG environment variables: http://www.lulu.com/content/1669182 Paul Martz Skew Matrix Software LLC http://www.skew-matrix.com 303 859 9466 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or g Classification: UNCLASSIFIED Caveats: NONE ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VPB and PagedDatabase performance -compileGLObjects (UNCLASSIFIED)
I happened to be looking at that today. I noticed that the call in Renderer.cpp (2.2 and trunk): databasePager-compileGLObjects Always uses 0.004 for available time. So, unless you roll your own Viewer, your stuck with this time. Also, it doesn't seem that variables: minimumTimeAvailableForGLCompileAndDeletePerFrame Or targetFrameRate are used at all, not even as a hint. But, I could be missing something. If you believe the Reference Manual has incorrectly documented something, please point me to the page or section number, say what you think is wrong, and state how you think it should read. I'll be glad to look into it and make changes in a future revision. Paul Martz Skew Matrix Software LLC http://www.skew-matrix.com 303 859 9466 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VPB and PagedDatabase performance -compileGLObject (UNCLASSIFIED)
Classification: UNCLASSIFIED Caveats: NONE I don't have the 2.2 book to compare against, so I apoligize if I get something wrong. All this assumes you are using osgViewer::Viewer. Changing the environment variable OSG_MINIMUM_COMPILE_TIME_PER_FRAME wouldn't do anything right now. Same goes for the function equivalent. Setting targetFrameRate also isn't used. Here is the doxygen comment that talks about these 2 variables /** Set the target frame rate that the DatabasePager should assume. * Typically one would set this to the value refresh rate of your display system i.e. 60Hz. * Default value is 100. * Usage notes. The TargetFrameRate and the MinimumTimeAvailableForGLCompileAndDeletePerFrame * parameters are not directly used by DatabasePager, but are should be used as a guide for how * long to set aside per frame for compiling and deleting OpenGL objects - ie. the value to use * when calling DatabasePager::compileGLObjectgs(state,availableTime,). The longer amount of * time to set aside cthe faster databases will be paged in but with increased chance of frame drops, * the lower the amount of time the set aside the slower databases will paged it but with better * chance of avoid any frame drops. The default values are chosen to achieve the later when running * on a modern mid to high end PC. * The way to compute the amount of available time use a scheme such as : *availableTime = maximum(1.0/targetFrameRate - timeTakenDuringUpdateCullAndDraw, minimumTimeAvailableForGLCompileAndDeletePerFrame). */ So, if you used DatabasePager in your own viewer, using a different Renderer class, you could look up these variables and use them. Frankly, if you went to that much trouble, you probably already know what kind of time slice you would give to compileGLObjects. Mike Dorsett - Software Engineer - SAIC -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Paul Martz Sent: Wednesday, February 27, 2008 10:46 AM To: 'OpenSceneGraph Users' Subject: Re: [osg-users] VPB and PagedDatabase performance -compileGLObjects(UNCLASSIFIED) I happened to be looking at that today. I noticed that the call in Renderer.cpp (2.2 and trunk): databasePager-compileGLObjects Always uses 0.004 for available time. So, unless you roll your own Viewer, your stuck with this time. Also, it doesn't seem that variables: minimumTimeAvailableForGLCompileAndDeletePerFrame Or targetFrameRate are used at all, not even as a hint. But, I could be missing something. If you believe the Reference Manual has incorrectly documented something, please point me to the page or section number, say what you think is wrong, and state how you think it should read. I'll be glad to look into it and make changes in a future revision. Paul Martz Skew Matrix Software LLC http://www.skew-matrix.com 303 859 9466 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or g Classification: UNCLASSIFIED Caveats: NONE ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VPB and PagedDatabase performance -compileGLObject(UNCLASSIFIED)
I don't have the 2.2 book to compare against, so I apoligize if I get something wrong. Sorry, I must've misread your post. I tried to direct you to the env var ref for more controls, and I thought your reply to my post was suggesting that you had read it and found ti to be in error. Changing the environment variable OSG_MINIMUM_COMPILE_TIME_PER_FRAME wouldn't do anything right now. The env var section of the Ref Man already documents this as reserved for future use. Setting targetFrameRate also isn't used. I don't see an environment variable to control this. -Paul ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] VPB and PagedDatabase performance.
First, thank you to everyone for their work putting OSG and VPB, this is really an amazing piece of software. Q1: Is there any advantage to having a single large osga model built from say a 16kx16k input or having lots of smaller 4kx4k tiled sections in separate files? Q2: Will rebuilding the database with more levels help smooth out lag spikes when the various LOD nodes come into view ? Q2: What are the parameters can I tweak in an OSG application to tweak how the program runs? Q3: Can I force the OSG application not to swap out the database and just recalculate the mesh ? Background: I have a 16kx16 texture and 4kx4k height map that I have used VPB to build a model of following the walk through on the wiki. While using some simple dynamics to fly over the terrain, my frame rates will nose dive at certain points when database need to be paged in. The terrain takes up about 500 meg on disk and I think might all fight in memory. Thank you all, Eric ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org