[Bf-committers] GPU texture painting design doc

Campbell Barton ideasman42 at gmail.com
Thu Jun 21 10:04:54 CEST 2012


Interesting, though this could be because how we measure the times differently.

rather then using a typical profiler I just disabled viewport-drawing
and updating the OpenGL texture.
Then timed a fairly long stroke created with grease pencil ---
with/without display updates disabled.

Even so my time could have been skewed by some driver/hardware blah
blah - or just the test case I ran.

On Wed, Jun 20, 2012 at 6:02 PM, Antony Riakiotakis <kalast at gmail.com> wrote:
> I did some profiling of my own. Looks like upload is not currently the
> bottleneck. I am pasting the gprof output after an ultra paint-intensive
> session.
>
>
>
> -----------------------------------------------
> index % time    self  children    called     name
> [1]     15.8    0.07    0.90  103000+208919  <cycle 19 as a whole> [1]
>                0.04    0.81      21             do_projectpaint_thread
> <cycle 19> [4]
>                0.00    0.08  246842+98310
> nearest_point_in_tri_surface <cycle 19> [67]
>                0.02    0.01   16258             GPU_default_lights <cycle
> 19> [133]
>                0.01    0.00   41824             BLI_uvproject_from_view
> <cycle 19> [325]
>                0.00    0.00       9             project_paint_op <cycle
> 19> [828]
>                0.00    0.00     124             GPU_enable_material <cycle
> 19> [1480]
>                0.00    0.00    6491+6350        GPU_verify_image <cycle
> 19> [3067]
>                0.00    0.00     226             project_bucket_iter_init
> <cycle 19> [3476]
>                0.00    0.00     124             imapaint_ibuf_rgb_get
> <cycle 19> [3555]
> -----------------------------------------------
>
> -----------------------------------------------
>                                  21             BLI_uvproject_from_view
> <cycle 19> [325]
> [4]     13.8    0.04    0.81      21         do_projectpaint_thread <cycle
> 19> [4]
>                0.00    0.70      51/51          project_bucket_init [9]
>                0.04    0.02  204244/204244      brush_painter_do_partial
> [83]
>                0.03    0.00  327313/327370      normalize_v3_v3 [139]
>                0.02    0.00  211135/211135      do_projectpaint_draw [204]
>                0.00    0.00  225082/412009
> brush_painter_refresh_cache [2919]
>                0.00    0.00  198160/642564      mul_v2_fl [2913]
>                              192223
> nearest_point_in_tri_surface <cycle 19> [67]
> -----------------------------------------------
>                0.08    0.76      24/24          zbufshadeDA_tile [3]
> [5]     13.8    0.08    0.76      24         zbuffer_transp_shade [5]
>                0.02    0.36  149371/149371      addtosamp_shr [18]
>                0.00    0.27  159469/159469      shade_tra_samples [26]
>                0.12    0.00  763472/858921      add_filt_fmask [52]
>                0.00    0.00      24/24          zbuffer_abuf_render [1216]
>                0.00    0.00      39/568017      BL_ConvertMesh(Mesh*,
> Object*, KX_Scene*, KX_BlenderSceneConverter*) <cycle 29> [66]
>                0.00    0.00    1433/3272        stats_background [3138]
>                0.00    0.00      26/134         sky_tile [3551]
>                0.00    0.00      18/33          shade_sample_initialize
> [3732]
> -----------------------------------------------
>                0.01    0.27  242107/683541      shade_input_set_viewco [24]
>                0.03    0.49  441434/683541      shade_input_do_shade [11]
> [6]     13.1    0.04    0.76  683541         shade_material_loop [6]
>                0.11    0.65  260525/260525      shade_lamp_loop [7]
>                0.00    0.00  245234/245234      shade_input_init_material
> [560]
>                0.00    0.00  232094/232094      negate_v3_v3 [2931]
> -----------------------------------------------
>                0.11    0.65  260525/260525      shade_material_loop [6]
> [7]     12.4    0.11    0.65  260525         shade_lamp_loop [7]
>                0.16    0.46  241325/241325      do_material_tex [10]
>                0.01    0.01   98763/98763       shade_one_light [213]
>                0.01    0.00  210550/210550      sub_v3_v3v3 [345]
>                0.00    0.00  107056/107056      mistfactor [2949]
>                0.00    0.00  103417/295699      add_v3_v3 [2924]
> -----------------------------------------------
>                0.08    0.62     108/108         project_bucket_init [9]
> [8]     11.4    0.08    0.62     108         project_paint_face_init [8]
>                0.14    0.00  317868/319473      project_paint_uvpixel_mask
> [46]
>                0.12    0.02  251184/252651      project_paint_uvpixel_init
> [50]
>                0.04    0.02 1084653/1552970     undo_copy_tile [61]
>                0.05    0.01  298694/298694
> project_bucket_point_occluded [81]
>                0.01    0.04  280339/280339      screen_px_from_persp [97]
>                0.04    0.01  265699/268422      BLI_dlrbTree_search_prev
> [95]
>                0.00    0.04     200/200         project_bucket_clip_face
> [123]
>                0.00    0.03       5/5           uv_image_outset [129]
>                0.00    0.03  370619/370619      IsectPoly2Df_twoside [156]
>                0.01    0.00      74/74          normalize_v2_v2 [326]
>                0.00    0.00      67/654         line_clip_rect2f [111]
>                0.00    0.00    8183/1004600
> isect_sweeping_sphere_tri_v3 [53]
>                0.00    0.00    1538/265582      resolve_quad_uv [112]
>                0.00    0.00    1680/1680        interp_weights_face_v3
> [948]
>                0.00    0.00    1891/1891        barycentric_weights [955]
>                0.00    0.00     182/34021       BLI_uvproject_camera_info
> [307]
>                0.00    0.00      76/642         angle_quad_v3 [2732]
>                0.00    0.00    2089/48155       invert_m4_m4 [2976]
>                0.00    0.00    1479/1884        angle_poly_v3 [3208]
>                0.00    0.00     176/176         pixel_bounds_array [3521]
>                0.00    0.00      76/76          scale_quad [3597]
>                0.00    0.00      25/264095      add_v2_v2v2 [2927]
>                0.00    0.00      15/15          project_face_seams_init
> [3866]
>                0.00    0.00      15/15          pixel_bounds_uv [3865]
> -----------------------------------------------
>                0.00    0.70      51/51          do_projectpaint_thread
> <cycle 19> [4]
> [9]     11.4    0.00    0.70      51         project_bucket_init [9]
>                0.08    0.62     108/108         project_paint_face_init [8]
> -----------------------------------------------
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers



-- 
- Campbell


More information about the Bf-committers mailing list