The following warnings occurred:
Warning [2] Undefined array key "lockoutexpiry" - Line: 94 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 94 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "lockoutexpiry" - Line: 573 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 573 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined variable $can_access_moderationqueue - Line: 752 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 752 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "avatartype" - Line: 892 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 892 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "avatartype" - Line: 892 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 892 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined variable $awaitingusers - Line: 34 - File: global.php(959) : eval()'d code PHP 8.1.31 (Linux)
File Line Function
/global.php(959) : eval()'d code 34 errorHandler->error
/global.php 959 eval
/printthread.php 16 require_once
Warning [2] Undefined array key "style" - Line: 1024 - File: global.php PHP 8.1.31 (Linux)
File Line Function
/global.php 1024 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined property: MyLanguage::$lang_select_default - Line: 5308 - File: inc/functions.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions.php 5308 errorHandler->error
/global.php 1024 build_theme_select
/printthread.php 16 require_once
Warning [2] Undefined array key 1 - Line: 1474 - File: inc/functions.php PHP 8.1.31 (Linux)
File Line Function
/inc/functions.php 1474 errorHandler->error
/inc/functions.php 1429 fetch_forum_permissions
/printthread.php 76 forum_permissions
Warning [2] Undefined property: MyLanguage::$archive_pages - Line: 2 - File: printthread.php(257) : eval()'d code PHP 8.1.31 (Linux)
File Line Function
/printthread.php(257) : eval()'d code 2 errorHandler->error
/printthread.php 257 eval
/printthread.php 117 printthread_multipage
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key 1 - Line: 866 - File: inc/class_parser.php PHP 8.1.31 (Linux)
File Line Function
/inc/class_parser.php 866 errorHandler->error
/inc/class_parser.php 938 postParser->mycode_parse_post_quotes
[PHP] postParser->mycode_parse_post_quotes_callback1
/inc/class_parser.php 816 preg_replace_callback
/inc/class_parser.php 451 postParser->mycode_parse_quotes
/inc/class_parser.php 201 postParser->parse_mycode
/printthread.php 179 postParser->parse_message
Warning [2] Undefined array key 1 - Line: 885 - File: inc/class_parser.php PHP 8.1.31 (Linux)
File Line Function
/inc/class_parser.php 885 errorHandler->error
/inc/class_parser.php 938 postParser->mycode_parse_post_quotes
[PHP] postParser->mycode_parse_post_quotes_callback1
/inc/class_parser.php 816 preg_replace_callback
/inc/class_parser.php 451 postParser->mycode_parse_quotes
/inc/class_parser.php 201 postParser->parse_mycode
/printthread.php 179 postParser->parse_message
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key 1 - Line: 866 - File: inc/class_parser.php PHP 8.1.31 (Linux)
File Line Function
/inc/class_parser.php 866 errorHandler->error
/inc/class_parser.php 938 postParser->mycode_parse_post_quotes
[PHP] postParser->mycode_parse_post_quotes_callback1
/inc/class_parser.php 816 preg_replace_callback
/inc/class_parser.php 451 postParser->mycode_parse_quotes
/inc/class_parser.php 201 postParser->parse_mycode
/printthread.php 179 postParser->parse_message
Warning [2] Undefined array key 1 - Line: 885 - File: inc/class_parser.php PHP 8.1.31 (Linux)
File Line Function
/inc/class_parser.php 885 errorHandler->error
/inc/class_parser.php 938 postParser->mycode_parse_post_quotes
[PHP] postParser->mycode_parse_post_quotes_callback1
/inc/class_parser.php 816 preg_replace_callback
/inc/class_parser.php 451 postParser->mycode_parse_quotes
/inc/class_parser.php 201 postParser->parse_mycode
/printthread.php 179 postParser->parse_message
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.31 (Linux)
File Line Function
/printthread.php 165 errorHandler->error



Forums
To gain fps - Printable Version

+- Forums (https://www.vdrift.net/Forum)
+-- Forum: Project (https://www.vdrift.net/Forum/forumdisplay.php?fid=4)
+--- Forum: Development (https://www.vdrift.net/Forum/forumdisplay.php?fid=9)
+--- Thread: To gain fps (/showthread.php?tid=464)

Pages: 1 2


To gain fps - pwp71 - 12-03-2006

To gain fps in some circuits, my idea is to reduce quantity of objects used into track,
like: people, jumbo, etc...
I've tried it with Monza's circuit, and in some cases I gain up to 15/20fps with good gfx.
I would put in display menu or somewhere else also a menu called "Details quality"
where we can choose more or less details into track.
It should be simple (I hope), just need to use 3 (for example) file instead only one.

list.txt (old file with full details)

list_low.txt (low details)
list_high.txt (high details)
list_full.txt (full details)

What do you think about this idea?

pwp71

P.S.In these trials I've used Linux and an old XP1600 with 256MB of RAM, NVidia FX5200,
antialiasing and anisotropic filter OFF.

P.S.2 Sorry about my English Smile

P.S.3 In mailing list I've posted Monza example


- cotharyus - 12-03-2006

This seems like a good idea. I've played around with resolutions some to keep detail levels high and still get a decent frame rate. At 1024x768 I can get 60-100 fps depending on the track with anti-aliasing and anisotropic filtering cranked all the way up and detail levels on high.

I sort of like the idea of decreasing the detail of things that do nothing but blur past anyhow. I would consider the ability to keep the long distance viewing in high quality very important, as it makes driving easier. I'll probly give this a try and see how it works.


Don't worry about your English. It's quite good. Thank you for all of your work.


- joevenzon - 12-03-2006

I think this is a good idea, too.


- pwp71 - 12-03-2006

ok, try the example posted about Monza and tell me if your computer getting better or not.

pwp71.

P.S.
Little readme about trails:
just substiute list.txt of Monza.

monza_list_opt_0
Original

monza_list_opt_1
without:
crane
people

monza_list_opt2
without:
crane
people
trees shadow
jumbo

monza_list_opt3
without:
crane
people
trees shadow
some tribune
jumbo

monza_list_opt4
not good to see. It's only to compare fps


- pwp71 - 12-04-2006

I've posted 4 example files to mailing list, but I'm not able to see them.
could I resend files?

pwp71


- joevenzon - 12-04-2006

I see them.


- thelusiv - 12-12-2006

Is there a way we can automate this without really duplicating the object lists for each track? Consider this. Add a new setting "ObjectDensity" or something. Then add an integer value in each object field in the list.txt file that tells its group. Perhaps we could have 4 groups. Group 0 objects are those that must be there no matter what, even if ObjectDensity is set to Very Low. Group 1 objects are displayed with Group 0 objects if ObjectDensity is Low. Group 2 is added to 1 and 0 if ObjectDensity is Medium, and Group 3 would contain all the objects.


- pwp71 - 12-12-2006

This is a very good idea. Smile
In my opinion, the group should be in reverse order.
0 = full 1 = high 2 = medium 3 = low ..... .... ......

In this case is possible take off more and more particulars.


- pwp71 - 03-27-2007

I'm working about this feature. I've added 1 parameter to file list.txt.

0 = full
1 = medium
2 = low
...
... = only road

Where is it better to put the menu? Practice/Race menu or Display or Advanced or...?

pwp71


- thelusiv - 03-27-2007

I think this would be best set up as a Display option.


- joevenzon - 03-27-2007

By the way, I've also been thinking about a way to increase FPS for tracks with large amounts of objects called object batching. The problem is, OpenGL can only handle a couple thousand draw calls each frame without bogging down. Some of our tracks have several thousand objects, each which have their own draw call. By automatically grouping some objects in similar areas and the same texture together, we can decrease the number of draw calls, which should improve performance for tracks with many objects.


- abs1nth - 03-28-2007

joevenzon Wrote:Some of our tracks have several thousand objects, each which have their own draw call.

ok i always wanted to ask this, are we using occlusion culling in vdrift and if so which specific technique?


- joevenzon - 03-28-2007

There's currently no occlusion culling. I'd like to add it, though. The method I want to do is based on the opengl hardware occlusion queries (ARB_occlusion_query). There is a good article in GPU Gems 2 about how to use it effectively.


- abs1nth - 03-29-2007

joevenzon Wrote:There's currently no occlusion culling. I'd like to add it, though. The method I want to do is based on the opengl hardware occlusion queries (ARB_occlusion_query). There is a good article in GPU Gems 2 about how to use it effectively.

i bet you are referring to "Hardware Occlusion Queries Made Useful". i even know the people who developed this method as they are on my university. the benefit here is that there are already at least 3 implementations out there, e.g. in Ogre3D. the original paper is here and quite readable:
http://www.cg.tuwien.ac.at/research/vr/chcull/

supposedly there is a newer method that works even better (also based on occlusion queries), the paper is here:
http://www.cg.cs.uni-bonn.de/docs/publications/2006/guthe-2006-neal-optimal.pdf

btw i've written a small report about data structures and occlusion culling a few weeks ago ;-)
http://www.cg.tuwien.ac.at/courses/Seminar/WS2006/dynamicvisibility.pdf


- joevenzon - 03-29-2007

Yep, that's the one. I like your paper. Currently, VDrift's scene management is, in general, pretty abysmal, and it's definitely an area where there could be much improvement and optimization.