RetroArch/gfx
Higor Eurípedes 0c9499a88e Implements small buffer optimization in font_driver_reshape_msg()
Use a stack-allocated 64 bytes long buffer to avoid so many temp heap
allocations when the menu is up. This size is more than enough store 75% of the
return values from msg_hash_to_str and 50% of the returned values from
msg_hash_get_help of any currently supported language (includes fallback to
English).

String size per type:
                     count       mean         std  ...   50%    75%    max
type                                               ...
msg_hash_get_help  83885.0  95.295476  106.331779  ...  54.0  103.0  842.0
msg_hash_to_str    83903.0  27.737959   33.389184  ...  19.0   31.0  440.0

string size per type and language:
                             count        mean         std  ...   50%    75%    max
type              language                                  ...
msg_hash_get_help 0         4415.0   89.922310   96.873902  ...  55.0  101.0  590.0
                  1         4415.0   97.555606  118.031412  ...  55.0  101.0  842.0
                  2         4415.0  118.459570  127.811760  ...  75.0  131.0  774.0
                  3         4415.0  111.978256  112.702991  ...  68.0  125.0  651.0
                  4         4415.0  106.040544  111.360658  ...  62.0  124.0  776.0
                  5         4415.0  100.129105  114.437432  ...  62.0  103.0  688.0
                  6         4415.0   32.987769   31.047851  ...  28.0   28.0  595.0
                  7         4415.0  109.366025  124.717259  ...  71.0  121.0  720.0
                  8         4415.0   98.023783  105.149942  ...  62.0  105.0  610.0
                  9         4415.0   93.834428  104.433820  ...  55.0  101.0  637.0
                  10        4415.0   93.657984   96.884429  ...  55.0  101.0  594.0
                  11        4415.0   93.452775  104.040553  ...  48.0  100.0  583.0
                  12        4415.0   89.729558  104.062959  ...  50.0  100.0  550.0
                  13        4415.0   91.462514   95.968107  ...  55.0  101.0  590.0
                  14        4415.0   92.062741   97.959207  ...  55.0  101.0  611.0
                  15        4415.0   92.597055   97.190835  ...  56.0  101.0  600.0
                  16        4415.0   92.088109   98.110738  ...  55.0  101.0  608.0
                  17        4415.0  102.483126  106.379639  ...  65.0  110.0  652.0
                  18        4415.0  104.782786  114.025678  ...  65.0  112.0  646.0
msg_hash_to_str   0         4415.0   24.591619   29.148312  ...  18.0   28.0  346.0
                  1         4416.0   31.247736   36.302532  ...  21.0   36.0  352.0
                  2         4416.0   31.853714   39.332395  ...  21.0   36.0  418.0
                  3         4416.0   28.270833   33.300996  ...  21.0   32.0  429.0
                  4         4416.0   27.139040   31.905206  ...  19.0   31.0  346.0
                  5         4416.0   27.380435   32.314188  ...  19.0   31.0  346.0
                  6         4416.0   25.028080   29.188490  ...  19.0   28.0  346.0
                  7         4416.0   29.660553   35.283592  ...  21.0   33.0  393.0
                  8         4416.0   27.685915   32.707466  ...  20.0   31.0  346.0
                  9         4416.0   34.786685   43.587766  ...  21.0   39.0  414.0
                  10        4416.0   28.769928   34.428596  ...  20.0   32.0  440.0
                  11        4416.0   24.407609   28.690934  ...  18.0   27.0  346.0
                  12        4416.0   23.970788   27.075638  ...  18.0   28.0  346.0
                  13        4416.0   24.587636   29.146213  ...  18.0   28.0  346.0
                  14        4416.0   27.642889   33.300451  ...  20.0   31.0  346.0
                  15        4416.0   25.036005   29.159115  ...  18.0   28.0  346.0
                  16        4416.0   24.732111   29.134002  ...  18.0   28.0  346.0
                  17        4416.0   32.068161   38.807095  ...  21.0   36.0  407.0
                  18        4416.0   28.160779   34.013300  ...  20.0   31.0  432.0
2020-05-23 22:33:45 -03:00
..
common Cleanup != NULL comparisons 2020-05-19 21:15:06 +02:00
display_servers MSVC2003 buildfix 2020-05-24 00:05:14 +02:00
drivers Merge pull request #10691 from phcoder/rbxv 2020-05-23 05:47:57 +02:00
drivers_context Cleanup != NULL comparisons 2020-05-19 21:15:06 +02:00
drivers_display WiiU: gfx_display: fix non-vertex coordinates in draws using tex shader 2020-04-22 23:35:46 +10:00
drivers_font Adapt PS2 port to new SDK with newlib support (CDVDFS support is missing) 2020-05-20 20:13:19 +02:00
drivers_font_renderer Enable correct vertical alignment of text (+ font rendering fixes) 2020-03-31 16:55:22 +01:00
drivers_renderchain (D3D9 renderchain) Take out video_frame_info dependencies 2020-03-08 19:03:57 +01:00
drivers_shader Silence warnings 2020-05-23 03:19:25 +02:00
include Add more headers 2019-12-07 07:17:21 +01:00
video_filters Remove manual MSB_FIRST definitions and switch to retro_endianness.h 2020-04-21 04:16:55 +02:00
video_layout (Video layout) move init_string and set_string to stdstring - 2020-03-05 11:19:44 +01:00
widgets Widget text improvements 2020-04-06 11:39:30 +01:00
font_driver.c Implements small buffer optimization in font_driver_reshape_msg() 2020-05-23 22:33:45 -03:00
font_driver.h Enable correct vertical alignment of text (+ font rendering fixes) 2020-03-31 16:55:22 +01:00
gfx_animation.c Cleanup 2020-03-06 15:40:45 +01:00
gfx_animation.h Fix smooth (vertical) line ticker scroll speed 2020-03-03 14:33:26 +00:00
gfx_display.c Fix 'gfx_display_draw_texture_slice()' (i.e. prevent glitches when rendering Ozone's selection cursor) 2020-03-26 11:45:28 +00:00
gfx_display.h cleanups 2020-03-09 01:32:05 +01:00
gfx_thumbnail.c (gfx_thumbnail) Fix heap-use-after-free error 2020-05-19 14:03:02 +01:00
gfx_thumbnail.h (gfx_thumbnail) Fix heap-use-after-free error 2020-05-19 14:03:02 +01:00
gfx_thumbnail_path.c Header cleanups 2020-03-05 14:06:04 +01:00
gfx_thumbnail_path.h menu_thumbnail and menu_thumbnail_path now decoupled from menu 2020-02-16 16:38:17 +01:00
gfx_widgets.c Move cheevos-new to cheevos/ 2020-05-21 23:23:01 +02:00
gfx_widgets.h Widget text improvements 2020-04-06 11:39:30 +01:00
video_coord_array.c Clean up trailing whitespace 2017-12-12 00:24:18 -08:00
video_coord_array.h Clean up trailing whitespace 2017-12-12 00:24:18 -08:00
video_crt_switch.c Move display_server code into retroarch.c 2020-03-08 18:48:15 +01:00
video_crt_switch.h Fix build warnings and cleanup 2019-02-12 10:26:17 +00:00
video_defines.h Get rid of unimplemented FPGA font driver 2020-03-09 22:13:17 +01:00
video_display_server.h (display server) Cleanup 2020-02-16 17:34:26 +01:00
video_filter.c Only use threads when the number > 1 2020-01-04 16:36:54 +01:00
video_filter.h Fix some linkage errors with RA MSVC 2010 2017-12-30 13:00:08 +01:00
video_layout.c (Video layout) Get rid of video_frame_info dependency 2020-03-10 19:10:02 +01:00
video_layout.h (Video layout) Get rid of video_frame_info dependency 2020-03-10 19:10:02 +01:00
video_shader_parse.c Only write config files to disk when parameters change 2020-04-27 17:06:35 +01:00
video_shader_parse.h Get rid of menu_shader_set_modified - instead, add a single 2020-03-06 17:05:20 +01:00
video_thread_wrapper.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
video_thread_wrapper.h Update set keyboard mapping code for input driver 2019-07-27 02:21:24 +02:00