1
0
Fork 0
forked from suyu/suyu
suyu/src/video_core/renderer_vulkan
ameerj 5bef54618a perf_stats: Rework FPS counter to be more accurate
The FPS counter was based on metrics in the nvdisp swapbuffers call. This metric would be accurate if the gpu thread/renderer were synchronous with the nvdisp service, but that's no longer the case.

This commit moves the frame counting responsibility onto the concrete renderers after their frame draw calls. Resulting in more meaningful metrics.
The displayed FPS is now made up of the average framerate between the previous and most recent update, in order to avoid distracting FPS counter updates when framerate is oscillating between close values.

The status bar update frequency was also changed from 2 seconds to 500ms.
2021-05-15 20:34:20 -04:00
..
blit_image.cpp renderer_vulkan: Move device abstraction to vulkan_common 2021-01-04 02:22:22 -03:00
blit_image.h renderer_vulkan: Rename VKDevice to Device 2021-01-03 17:51:48 -03:00
fixed_pipeline_state.cpp fixed_pipeline_cache: Use dirty flags to lazily update key 2021-02-13 17:44:47 -03:00
fixed_pipeline_state.h fixed_pipeline_cache: Use dirty flags to lazily update key 2021-02-13 17:44:47 -03:00
maxwell_to_vk.cpp renderer_vulkan: Accelerate ASTC decoding 2021-03-13 12:16:03 -05:00
maxwell_to_vk.h video_core: Reimplement the buffer cache 2021-02-13 02:17:22 -03:00
renderer_vulkan.cpp perf_stats: Rework FPS counter to be more accurate 2021-05-15 20:34:20 -04:00
renderer_vulkan.h video_core: Reimplement the buffer cache 2021-02-13 02:17:22 -03:00
vk_blit_screen.cpp video_core: Reimplement the buffer cache 2021-02-13 02:17:22 -03:00
vk_blit_screen.h gpu: Report renderer errors with exceptions 2021-02-13 02:16:19 -03:00
vk_buffer_cache.cpp vk_buffer_cache: Fix offset for NULL vertex buffers 2021-04-11 10:34:52 +01:00
vk_buffer_cache.h vk_update_descriptor: Inline and improve code for binding buffers 2021-02-13 17:46:24 -03:00
vk_command_pool.cpp vk_command_pool: Reduce the command pool size from 4096 to 4 2021-02-23 19:08:24 -03:00
vk_command_pool.h renderer_vulkan: Rename VKDevice to Device 2021-01-03 17:51:48 -03:00
vk_compute_pass.cpp astc_decoder: Refactor for style and more efficient memory use 2021-03-25 16:53:51 -04:00
vk_compute_pass.h renderer_vulkan: Accelerate ASTC decoding 2021-03-13 12:16:03 -05:00
vk_compute_pipeline.cpp renderer_vulkan: Move device abstraction to vulkan_common 2021-01-04 02:22:22 -03:00
vk_compute_pipeline.h renderer_vulkan: Rename VKDevice to Device 2021-01-03 17:51:48 -03:00
vk_descriptor_pool.cpp renderer_vulkan: Move device abstraction to vulkan_common 2021-01-04 02:22:22 -03:00
vk_descriptor_pool.h renderer_vulkan: Rename VKDevice to Device 2021-01-03 17:51:48 -03:00
vk_fence_manager.cpp video_core: Reimplement the buffer cache 2021-02-13 02:17:22 -03:00
vk_fence_manager.h video_core: Reimplement the buffer cache 2021-02-13 02:17:22 -03:00
vk_graphics_pipeline.cpp fixed_pipeline_cache: Use dirty flags to lazily update key 2021-02-13 17:44:47 -03:00
vk_graphics_pipeline.h renderer_vulkan: Rename VKDevice to Device 2021-01-03 17:51:48 -03:00
vk_master_semaphore.cpp common: Move settings to common from core. 2021-04-14 16:24:03 -07:00
vk_master_semaphore.h vk_master_semaphore: Deduplicate atomic access within IsFree() 2021-04-12 09:41:55 -04:00
vk_pipeline_cache.cpp vk_pipeline_cache: Properly bypass VertexA shaders 2021-01-23 03:59:59 -03:00
vk_pipeline_cache.h renderer_vulkan: Rename VKDevice to Device 2021-01-03 17:51:48 -03:00
vk_query_cache.cpp renderer_vulkan: Move device abstraction to vulkan_common 2021-01-04 02:22:22 -03:00
vk_query_cache.h renderer_vulkan: Rename VKDevice to Device 2021-01-03 17:51:48 -03:00
vk_rasterizer.cpp common: Move settings to common from core. 2021-04-14 16:24:03 -07:00
vk_rasterizer.h renderer_vulkan: Accelerate ASTC decoding 2021-03-13 12:16:03 -05:00
vk_resource_pool.cpp vk_resource_pool: Load GPU tick once and compare with it 2021-02-13 17:53:58 -03:00
vk_resource_pool.h vk_resource_pool: Load GPU tick once and compare with it 2021-02-13 17:53:58 -03:00
vk_scheduler.cpp video_core: Reimplement the buffer cache 2021-02-13 02:17:22 -03:00
vk_scheduler.h video_core: Reimplement the buffer cache 2021-02-13 02:17:22 -03:00
vk_shader_decompiler.cpp Review 1 2021-02-15 05:26:28 +00:00
vk_shader_decompiler.h video_core: Reimplement the buffer cache 2021-02-13 02:17:22 -03:00
vk_shader_util.cpp renderer_vulkan: Move device abstraction to vulkan_common 2021-01-04 02:22:22 -03:00
vk_shader_util.h renderer_vulkan: Rename VKDevice to Device 2021-01-03 17:51:48 -03:00
vk_staging_buffer_pool.cpp vk_staging_buffer_pool: Inline tick tests 2021-02-13 05:14:11 -03:00
vk_staging_buffer_pool.h vk_staging_buffer_pool: Fix softlock when stream buffer overflows 2021-02-13 02:18:38 -03:00
vk_state_tracker.cpp fixed_pipeline_cache: Use dirty flags to lazily update key 2021-02-13 17:44:47 -03:00
vk_state_tracker.h fixed_pipeline_cache: Use dirty flags to lazily update key 2021-02-13 17:44:47 -03:00
vk_stream_buffer.cpp renderer_vulkan: Move device abstraction to vulkan_common 2021-01-04 02:22:22 -03:00
vk_stream_buffer.h renderer_vulkan: Rename VKDevice to Device 2021-01-03 17:51:48 -03:00
vk_swapchain.cpp renderer_vulkan: Check return value of AcquireNextImage 2021-04-11 09:27:50 +01:00
vk_swapchain.h renderer_vulkan: Check return value of AcquireNextImage 2021-04-11 09:27:50 +01:00
vk_texture_cache.cpp vk_texture_cache: Swap R and B channels of color flipped format 2021-04-24 23:59:42 -04:00
vk_texture_cache.h astc_decoder: Reimplement Layers 2021-03-13 12:16:03 -05:00
vk_update_descriptor.cpp vk_update_descriptor: Inline and improve code for binding buffers 2021-02-13 17:46:24 -03:00
vk_update_descriptor.h vk_update_descriptor: Inline and improve code for binding buffers 2021-02-13 17:46:24 -03:00