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



Forums
profiling - 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: profiling (/showthread.php?tid=1264)

Pages: 1 2


- joevenzon - 07-19-2010

Yeah, that's line 836 in graphics_renderers.cpp. Probably only really needs to be done once, however it should only get called in the non-shader path.


- NaN - 12-23-2010

Have been profiling cardynamics changes lately and noticed that we are spending a lot of time in DRAWABLE_CONTAINER_HELPER::AccumulateSize::operator(). I wonder if we are missing an optimization opportunity here.

Code:
13.75      1.76     1.76 _mcount_private
12.11      3.31     1.55 16467397     0.00     0.00  void DRAWABLE_CONTAINER_HELPER::AccumulateSize::operator()<keyed_container<DRAWABLE> >(keyed_container<DRAWABLE> const&)
  7.73      4.30     0.99    30452     0.00     0.00  void SCENENODE::Traverse<PTRVECTOR>(DRAWABLE_CONTAINER<PTRVECTOR>&, MATRIX4<float> const&)
  3.75      4.78     0.48    16986     0.00     0.00  void AABB_SPACE_PARTITIONING_NODE<DRAWABLE*, 1u>::Query<FRUSTUM, std::vector<DRAWABLE*, std::allocator<DRAWABLE*> > >(FRUSTUM const&, std::vector<DRAWABLE*, std::allocator<DRAWABLE*> >&) const
  2.58      5.11     0.33  1333989     0.00     0.00  RENDER_INPUT_SCENE::SelectTexturing(DRAWABLE&, GLSTATEMANAGER&)
  2.34      5.41     0.30  1333964     0.00     0.00  RENDER_INPUT_SCENE::SelectTransformStart(DRAWABLE&, GLSTATEMANAGER&)



- joevenzon - 12-23-2010

Good catch. It was happening because the scenenode was doing an early out if its drawlist was empty, and empty() was calling size() which is more expensive than I realized. Traverse() is so fast (it just seems slow because it's called so frequently) that it's actually better to skip the early-out check entirely.


- thelusiv - 12-24-2010

We need a wiki page on how to profile VDrift. If anyone would like to start one, they could probably use some of the information in this thread.

http://wiki.vdrift.net/VDrift_Documentation_Wiki:Todo?title=Profiling&action=edit


- joevenzon - 12-24-2010

OK, I put something really simple there.