From 4cb08fde9a3b5ad9599ea035b303b58f0c9a1944 Mon Sep 17 00:00:00 2001 From: JMS55 <47158642+JMS55@users.noreply.github.com> Date: Mon, 5 Apr 2021 06:14:36 -0400 Subject: [PATCH] N20: Add WhatTheFrame (#541) --- content/posts/newsletter-020/index.md | 24 ++++++++++++++++++ content/posts/newsletter-020/whattheframe.png | Bin 0 -> 52105 bytes 2 files changed, 24 insertions(+) create mode 100644 content/posts/newsletter-020/whattheframe.png diff --git a/content/posts/newsletter-020/index.md b/content/posts/newsletter-020/index.md index c8603f3a6..ab3c9af45 100644 --- a/content/posts/newsletter-020/index.md +++ b/content/posts/newsletter-020/index.md @@ -237,6 +237,30 @@ _Discussions: [/r/rust_gamedev](https://www.reddit.com/r/rust_gamedev/comments/m [@wumpf]: https://github.com/Wumpf [graphics team blog]: https://mozillagfx.wordpress.com/2021/03/10/webgpu-progress/ +### [WhatTheFrame] + +![whattheframe gui](whattheframe.png) + +[WhatTheFrame] by [@JMS55] +is a frame-based cpu profiler crate along with a [GTK] ([gtk4-rs]) based GUI. + +This project aims to answer the question: Which frames of my game are slow, and why? + +It aims to be simple to use, consisting of only 3 functions: Call `let _r = Profiler::new_frame()` +at the start of each frame, `let _r = Profiler::new_task("task_name")` whenever you +want to profile a task, and finally `Profiler::end_profiling()` once at the end. + +You can then open the resulting `.wtf` profile in the GUI and analyze the results. + +This month was spent designing and implementing both the GUI and profiler crate. +The core functionality of both programs are complete, and all that remains is +cleanup, tweaks, optimization, and finally packaging the GUI up. + +[WhatTheFrame]: https://github.com/JMS55/whattheframe +[@JMS55]: https://github.com/JMS55 +[GTK]: https://gtk.org/ +[gtk4-rs]: https://github.com/gtk-rs/gtk4-rs#gtk4-rs- + ## Popular Workgroup Issues in Github diff --git a/content/posts/newsletter-020/whattheframe.png b/content/posts/newsletter-020/whattheframe.png new file mode 100644 index 0000000000000000000000000000000000000000..6cbf3e2291336146c10c45ea2f41704371fae797 GIT binary patch literal 52105 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 literal 0 HcmV?d00001