{"id":47161,"date":"2019-05-09T15:47:04","date_gmt":"2019-05-09T15:47:04","guid":{"rendered":"https:\/\/www.libretro.com\/?p=47161"},"modified":"2019-05-09T18:20:10","modified_gmt":"2019-05-09T18:20:10","slug":"retroarch-1-7-7-ui-updates","status":"publish","type":"post","link":"https:\/\/www.libretro.com\/index.php\/retroarch-1-7-7-ui-updates\/","title":{"rendered":"RetroArch 1.7.7 \u2013 UI Updates"},"content":{"rendered":"<p>RetroArch 1.7.7 includes many user interface tweaks and improvements. Here is a brief round-up of important changes:<\/p>\n<h2>Playlist Enhancements<\/h2>\n<p>Playlist display has been tidied up with some general housekeeping:<\/p>\n<ul>\n<li>Content metadata can now be displayed via playlist &#8216;sublabels&#8217;. These have been added to all menu drivers apart from Ozone (which employs a side panel instead), and at the most basic level are used to show current core associations. This greatly improves the appearance of history and favourites playlists &#8211; for example:<\/li>\n<\/ul>\n<p style=\"text-indent: 40px\"><strong>Sublabels OFF<\/strong><\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/sublabels_off-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-47162\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/sublabels_off-1-1024x601.png\" alt=\"Sublabels OFF\" width=\"750\" height=\"440\" srcset=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/sublabels_off-1-1024x601.png 1024w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/sublabels_off-1-300x176.png 300w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/sublabels_off-1-768x451.png 768w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/sublabels_off-1.png 1362w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p style=\"text-indent: 40px\"><strong>Sublabels ON<\/strong><\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/sublabels_on-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-47163\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/sublabels_on-1-1024x601.png\" alt=\"Sublabels ON\" width=\"750\" height=\"440\" srcset=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/sublabels_on-1-1024x601.png 1024w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/sublabels_on-1-300x176.png 300w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/sublabels_on-1-768x451.png 768w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/sublabels_on-1.png 1362w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p style=\"margin-left: 30px\">Sublabels can be enabled\/disabled via the <code>Show playlist sublabels<\/code> option under <code>Settings &gt; Playlists<\/code>. (Note: Users who disable sublabels but still want a &#8216;clean&#8217; history\/favourites can hide core associations via the <code>Show associated cores in playlists<\/code> option)<\/p>\n<ul>\n<li>Playlist sorting is now consistent, and controlled via a <code>Sort playlists alphabetically<\/code> toggle under <code>Settings &gt; Playlists<\/code>. When enabled, all content playlists (excluding histories) are presented in alphabetical order. When disabled, entry display order may be set manually by editing playlist files with an external editor.<\/li>\n<li>All menu drivers now show identical playlist information in all cases.<\/li>\n<li>Playlist titles have been shortened\/cleaned up.<\/li>\n<li>Various bug fixes have been implemented, including proper sorting of playlists with blank labels, and the prevention of duplicate history entries.<\/li>\n<\/ul>\n<h2>Content Runtime Logging<\/h2>\n<p>RetroArch can now keep track of your playtime. For most menu drivers, this information is presented via playlist sublabels:<\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/runtime_xmb-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-47164\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/runtime_xmb-1-1024x601.png\" alt=\"Content Runtime: XMB\" width=\"750\" height=\"440\" srcset=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/runtime_xmb-1-1024x601.png 1024w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/runtime_xmb-1-300x176.png 300w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/runtime_xmb-1-768x451.png 768w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/runtime_xmb-1.png 1362w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p>&#8230;whereas Ozone uses a side panel:<\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/runtime_ozone-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-47165\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/runtime_ozone-1-1024x601.png\" alt=\"Content Runtime: Ozone\" width=\"750\" height=\"440\" srcset=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/runtime_ozone-1-1024x601.png 1024w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/runtime_ozone-1-300x176.png 300w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/runtime_ozone-1-768x451.png 768w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/runtime_ozone-1.png 1362w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p>Content runtime logs are enabled\/disabled via two new options under <code>Settings &gt; Saving<\/code>:<\/p>\n<ul>\n<li><code>Save runtime log (per core)<\/code>: Generates a separate log file for each core+content combination (standard behaviour)<\/li>\n<li><code>Save runtime log (aggregate)<\/code>: Logs playtime for each item of content independently of the associated core (handy for users who like to run the same content with multiple cores)<\/li>\n<\/ul>\n<p>A <code>Playlist sublabel runtime<\/code> option under <code>Settings &gt; Playlists<\/code> allows either log type to be displayed in the menu.<\/p>\n<p>Runtime files are saved in JSON format, and may be edited by hand should users wish to add existing playtime accumulated before this logging feature was added. By default they are written to the following locations:<\/p>\n<ul>\n<li>Per core logs: <code>[playlist_dir]\/logs\/[core_name]\/[content_name].lrtl<\/code><\/li>\n<li>Aggregate logs: <code>[playlist_dir]\/logs\/[content_name].lrtl<\/code><\/li>\n<\/ul>\n<p>&#8230;with the following example content:<\/p>\n<pre><code>{\r\n  \"version\": \"1.0\",\r\n  \"runtime\": \"1:28:27\",\r\n  \"last_played\": \"2019-05-08 14:59:56\"\r\n}\r\n<\/code><\/pre>\n<h2>Thumbnail Additions<\/h2>\n<p>A small but significant improvement: thumbnails can now be displayed on &#8216;mixed content&#8217; playlists &#8211; most notably history and favourites.<\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/history_thumbnails-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-47166\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/history_thumbnails-1-1024x601.png\" alt=\"Content History Thumbnails\" width=\"750\" height=\"440\" srcset=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/history_thumbnails-1-1024x601.png 1024w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/history_thumbnails-1-300x176.png 300w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/history_thumbnails-1-768x451.png 768w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/history_thumbnails-1.png 1362w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p>This works by correctly utilising the <code>db_name<\/code> field of playlist entries when searching for thumbnails. This information (when available) is now automatically added to history\/favourites whenever new entries are created. (Note that history\/favourites generated with the previous 1.7.6 release will need to be deleted\/recreated for proper thumbnail support)<\/p>\n<p>A caveat here is that content launched via the file browser (or command line) has no associated <code>db_name<\/code> &#8211; but we&#8217;ve added a workaround for this. Provided that the content directory and thumbnail directory have the same name, thumbnails will be identified and shown. This requires some external organisation (e.g. SNES ROMs must be placed in a <code>Nintendo - Super Nintendo Entertainment System<\/code> folder), but it means that &#8211; for the first time &#8211; users who rely exclusively on the file browser can still view thumbnails on their content history playlists.<\/p>\n<h2>Menu &#8216;Ticker Text&#8217; Improvements<\/h2>\n<p>Another small yet important addition&#8230;<\/p>\n<p>RetroArch veterans will be familiar with menu &#8216;ticker text&#8217; &#8211; i.e. the slow &#8216;back and forth&#8217; scrolling method used to display text strings that are too long to fit on screen:<\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/ticker_text_bounce-1.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-47167\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/ticker_text_bounce-1.gif\" alt=\"Menu Ticker Text: Bounce Left\/Right\" width=\"1360\" height=\"768\" \/><\/a><\/p>\n<p>Many users think this is too slow, and reading text backwards is awkward &#8211; so now both the scroll speed and method can be adjusted via two new options under <code>Settings &gt; User Interface &gt; Appearance<\/code>:<\/p>\n<ul>\n<li><code>Ticker Text Animation<\/code>: Can be set to either <code>Bounce Left\/Right<\/code> (existing behaviour) or <code>Scroll Left<\/code><\/li>\n<li><code>Ticker Text Speed<\/code>: <code>0.1x<\/code> -&gt; <code>9.9x<\/code><\/li>\n<\/ul>\n<p>The <code>Scroll Left<\/code> animation is a standard scrolling marquee, and combining this with a higher speed provides a more comfortable viewing experience:<\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/ticker_text_loop-1.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-47168\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/ticker_text_loop-1.gif\" alt=\"Menu Ticker Text: Scroll Left\" width=\"1360\" height=\"768\" \/><\/a><\/p>\n<p>(The new ticker is available for all menu drivers, and looks best with RGUI due its use of a fixed width font)<\/p>\n<h2>RGUI Remastered<\/h2>\n<p>The venerable RGUI is often considered the ugly duckling of the RetroArch family, but with this release it can stand head and shoulders with XMB and Ozone. Here&#8217;s a highlight reel of the most significant changes:<\/p>\n<h3>Menu Sublabel Support<\/h3>\n<p>Previously, RGUI had no way of displaying sublabels. These are commonly used in XMB\/Ozone\/GLUI to show informative &#8216;help&#8217; text for each menu entry, but they also (for example) provide netplay room information and the content runtime metadata mentioned above. In other words, they are an important aspect of the user experience.<\/p>\n<p>To remedy this shortcoming, we now have a <code>Show menu sublabels<\/code> option under <code>Settings &gt; User Interface &gt; Views<\/code>. When enabled, sublabels are printed in the space at the bottom of the screen where the core name would normally be shown:<\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_sublabels-1.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-47169\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_sublabels-1.gif\" alt=\"RGUI: Menu Sublabels\" width=\"1360\" height=\"768\" \/><\/a><\/p>\n<h3>Shadow Effects<\/h3>\n<p>A new <code>Shadow Effects<\/code> option can be found under <code>Settings &gt; User Interface &gt; Appearance<\/code>, which may be used to add drop shadows to all menu elements. This really makes RGUI &#8216;pop&#8217;, and greatly increases text legibility when using colour themes or wallpapers with lighter backgrounds:<\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_shadow_effects-1.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-47170\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_shadow_effects-1.gif\" alt=\"RGUI: Shadow Effects\" width=\"1362\" height=\"799\" \/><\/a><\/p>\n<h3>Widescreen Support<\/h3>\n<p>RGUI now has proper support for <code>16:9<\/code> and <code>16:10<\/code> displays:<\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_aspect_ratio-1.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-47171\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_aspect_ratio-1.gif\" alt=\"RGUI Aspect Ratio Settings\" width=\"1360\" height=\"768\" \/><\/a><\/p>\n<p>The new <code>Menu Aspect Ratio<\/code> option under <code>Settings &gt; User Interface &gt; Appearance<\/code> allows the selection of both &#8216;regular&#8217; <code>16:9<\/code>\/<code>16:10<\/code> ratios and &#8216;centred&#8217; variants &#8211; the latter can be used in conjunction with wallpaper themes to enable fancy border effects:<\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_gb_pocket-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-47172\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_gb_pocket-1-1024x601.png\" alt=\"RGUI Menu Preset: GB Pocket\" width=\"750\" height=\"440\" srcset=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_gb_pocket-1-1024x601.png 1024w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_gb_pocket-1-300x176.png 300w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_gb_pocket-1-768x451.png 768w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_gb_pocket-1.png 1362w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_vt2_amber-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-47173\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_vt2_amber-1-1024x601.png\" alt=\"RGUI Menu Preset: VT2 Amber\" width=\"750\" height=\"440\" srcset=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_vt2_amber-1-1024x601.png 1024w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_vt2_amber-1-300x176.png 300w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_vt2_amber-1-768x451.png 768w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_vt2_amber-1.png 1362w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p>(These and a number of other custom menu presets are available via the online assets updater &#8211; they can be found in the <code>rgui<\/code> folder inside the assets directory)<\/p>\n<p>Closely related to this is the new <code>Lock Menu Aspect Ratio<\/code> option. By default, RGUI will stretch to fit the aspect ratio of the currently running content, which means the &#8216;Quick Menu&#8217; is frequently distorted &#8211; for example:<\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_lock_aspect_off-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-47174\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_lock_aspect_off-1-1024x601.png\" alt=\"RGUI Lock Menu Aspect Ratio: OFF\" width=\"750\" height=\"440\" srcset=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_lock_aspect_off-1-1024x601.png 1024w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_lock_aspect_off-1-300x176.png 300w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_lock_aspect_off-1-768x451.png 768w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_lock_aspect_off-1.png 1362w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<p>By setting <code>Lock Menu Aspect Ratio<\/code> to either <code>Fit Screen<\/code> or <code>Integer Scale<\/code>, RGUI will always be displayed with the correct <code>Menu Aspect Ratio<\/code> value:<\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_lock_aspect_settings-1.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-47175\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_lock_aspect_settings-1.gif\" alt=\"RGUI Lock Menu Aspect Ratio Settings\" width=\"1360\" height=\"768\" \/><\/a><\/p>\n<p>(Note that <code>Integer Scale<\/code> is recommended on most platforms, since it ensures that menu pixels are always perfectly square and free of scaling artefacts)<\/p>\n<h3>Thumbnail Support<\/h3>\n<p>RGUI now has full playlist thumbnail support:<\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_playlist_thumbnails-1.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-47176\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_playlist_thumbnails-1.gif\" alt=\"RGUI Playlist Thumbnails\" width=\"1360\" height=\"768\" \/><\/a><\/p>\n<p>This is controlled via the following new options under <code>Settings &gt; User Interface &gt; Appearance<\/code>:<\/p>\n<ul>\n<li><code>Show Playlist Thumbnails<\/code>: When enabled, mini &#8216;scaled down&#8217; thumbnails are displayed to the right of playlist entries. When disabled, it is still possible to toggle a fullscreen thumbnail by pressing RetroPad <strong>Y<\/strong> while a playlist entry is highlighted.<\/li>\n<li><code>Top Thumbnail<\/code>: Thumbnail type to be shown at the top of the screen. This is also the type of thumbnail that is presented fullscreen whenever RetroPad <strong>Y<\/strong> is pressed.<\/li>\n<li><code>Bottom Thumbnail<\/code>: Thumbnail type to be shown at the bottom of the screen.<\/li>\n<li><code>Swap Thumbnails<\/code>: Just swaps the draw positions of the top\/bottom thumbnails (allows the &#8216;fullscreen&#8217; thumbnail type to be shown at the bottom of the screen)<\/li>\n<li><code>Thumbnail Downscaling Method<\/code>: Selects which algorithm to use when &#8216;shrinking&#8217; thumbnail images to fit on screen. This allow a choice between performance (<code>Nearest Neighbour<\/code>) and quality (<code>Bilinear<\/code> or <code>Sinc\/Lanczos3<\/code>). Generally, the highest quality (<code>Sinc\/Lanczos3<\/code>) option may used without issue.<\/li>\n<\/ul>\n<p>Of course, loading thumbnail images incurs a performance penalty. This is utterly insignificant on most platforms, but on devices with <em>very<\/em> slow storage (e.g. old Nintendo consoles, such as the 3DS) the overheads of handling thumbnails can produce lag when scrolling rapidly through playlists.<\/p>\n<p>But this is RGUI: the inclusive menu driver. All kinds of hardware are accounted for. To this end, an additional <code>Thumbnail Delay (ms)<\/code> option is provided, which prevents thumbnails from loading until the selection pointer has been idle for the specified amount of time. Setting this to ~256 ms (or higher) essentially removes all overheads during menu navigation, while still providing responsive thumbnail display. This enables lag free, thumbnail-enriched playlists on even the weakest of hardware.<\/p>\n<h3>On-Screen Keyboard<\/h3>\n<p>Prior to this release, the only way to enter usernames\/passwords or perform searches in RGUI was to make use of a physical keyboard. Not any more. RGUI now has a proper gamepad-controllable on-screen keyboard, just like all the other menu drivers:<\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_osk-1.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-47177\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_osk-1.gif\" alt=\"RGUI On-Screen Keyboard\" width=\"1360\" height=\"768\" \/><\/a><\/p>\n<h3>Battery Notifications<\/h3>\n<p>RGUI has also gained an optional battery indicator, complete with &#8216;icons&#8217; showing charging status\/battery level:<\/p>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_battery_indicator-1.gif\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-47178\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_battery_indicator-1.gif\" alt=\"RGUI Battery Indicator\" width=\"1282\" height=\"751\" \/><\/a><\/p>\n<h3>Extended ASCII Support<\/h3>\n<p>Traditionally, RGUI has only supported English as a display language, since it was limited to the 128 characters of the standard ASCII set. With the 1.7.7 release, a new <code>Extended ASCII Support<\/code> option has been added under <code>Settings &gt; User Interface &gt; Appearance<\/code>, which (at the cost of a miniscule performance hit) allows another 128 &#8216;special&#8217; characters to be shown. When this is enabled, RGUI gains full support for the following additional languages:<\/p>\n<ul>\n<li>French<\/li>\n<li>Spanish<\/li>\n<li>German<\/li>\n<li>Italian<\/li>\n<li>Dutch<\/li>\n<li>Portuguese<\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_extended_ascii-1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-large wp-image-47179\" src=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_extended_ascii-1-1024x601.png\" alt=\"RGUI Extended ASCII Support\" width=\"750\" height=\"440\" srcset=\"https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_extended_ascii-1-1024x601.png 1024w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_extended_ascii-1-300x176.png 300w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_extended_ascii-1-768x451.png 768w, https:\/\/www.libretro.com\/wp-content\/uploads\/2019\/05\/rgui_extended_ascii-1.png 1362w\" sizes=\"(max-width: 750px) 100vw, 750px\" \/><\/a><\/p>\n<h3>Performance Optimisations<\/h3>\n<p>Despite these enhancements and additions, the performance overheads of the RGUI &#8216;render&#8217; function have been reduced by almost an order of magnitude. This means RGUI is lighter and leaner than ever before, and users of (virtually) all platforms can enjoy the extra &#8216;bling&#8217; at no added cost.<\/p>\n<p>(Even 3DS &#8211; one of the weakest devices we support &#8211; runs full speed with every RGUI feature enabled, including the particle effect animations described <a href=\"https:\/\/www.patreon.com\/posts\/upcoming-1-7-7-26484709\">here<\/a>)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>RetroArch 1.7.7 includes many user interface tweaks and improvements. Here is a brief round-up of important changes: Playlist Enhancements Playlist display has been tidied up with some general housekeeping: Content metadata can now be displayed via playlist &#8216;sublabels&#8217;. These have been added to all menu drivers apart from Ozone (which employs a side panel instead), [&hellip;]<\/p>\n","protected":false},"author":8694,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[28,2,5],"tags":[],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts\/47161"}],"collection":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/users\/8694"}],"replies":[{"embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/comments?post=47161"}],"version-history":[{"count":3,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts\/47161\/revisions"}],"predecessor-version":[{"id":47182,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts\/47161\/revisions\/47182"}],"wp:attachment":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/media?parent=47161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/categories?post=47161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/tags?post=47161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}