{"id":19207497,"url":"https://github.com/lechevspace/embedded-fps","last_synced_at":"2026-06-13T01:31:55.133Z","repository":{"id":62444795,"uuid":"502967532","full_name":"LechevSpace/embedded-fps","owner":"LechevSpace","description":"Frames per second counter for embedded devices","archived":false,"fork":false,"pushed_at":"2022-06-16T08:55:14.000Z","size":88,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-05T10:03:15.925Z","etag":null,"topics":["2d","2d-graphics","crates","draw","embedded","graphics","graphics-library","iot","rust"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/embedded-fps","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LechevSpace.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-13T13:27:04.000Z","updated_at":"2024-02-25T19:46:01.000Z","dependencies_parsed_at":"2022-11-01T22:01:49.871Z","dependency_job_id":null,"html_url":"https://github.com/LechevSpace/embedded-fps","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LechevSpace%2Fembedded-fps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LechevSpace%2Fembedded-fps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LechevSpace%2Fembedded-fps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LechevSpace%2Fembedded-fps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LechevSpace","download_url":"https://codeload.github.com/LechevSpace/embedded-fps/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240280826,"owners_count":19776414,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2d","2d-graphics","crates","draw","embedded","graphics","graphics-library","iot","rust"],"created_at":"2024-11-09T13:20:24.152Z","updated_at":"2026-06-13T01:31:55.078Z","avatar_url":"https://github.com/LechevSpace.png","language":"Rust","funding_links":["https://github.com/sponsors/LechevSpace)\u0026ensp;"],"categories":[],"sub_categories":[],"readme":"# `embedded-fps`\n[![sponsor-us]](https://github.com/sponsors/LechevSpace)\u0026ensp;[![crates-io]](https://crates.io/crates/embedded-fps)\u0026ensp;[![docs-rs]](https://docs.rs/embedded-fps)\n\n\n## Frames Per Second counter for embedded devices\n\nCreate an `FPS` struct by passing the `MAX_FPS` (maximum frames per seconds)\nthat you expect to hit and a [`embedded_time`][embedded-time-docs] `Clock` implementation.\n\n![FPS counter with Embedded-graphics \u0026 simulator](./assets/eg_recording.gif)\n\n[embedded-time-docs]: https://docs.rs/embedded-time/\n[crates-io]: https://img.shields.io/crates/v/embedded-fps?logo=rust\u0026style=for-the-badge\n[docs-rs]: https://img.shields.io/badge/docs.rs-66c2a5?style=for-the-badge\u0026labelColor=555555\u0026logoColor=white\u0026logo=data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGZpbGw9IiNmNWY1ZjUiIGQ9Ik00ODguNiAyNTAuMkwzOTIgMjE0VjEwNS41YzAtMTUtOS4zLTI4LjQtMjMuNC0zMy43bC0xMDAtMzcuNWMtOC4xLTMuMS0xNy4xLTMuMS0yNS4zIDBsLTEwMCAzNy41Yy0xNC4xIDUuMy0yMy40IDE4LjctMjMuNCAzMy43VjIxNGwtOTYuNiAzNi4yQzkuMyAyNTUuNSAwIDI2OC45IDAgMjgzLjlWMzk0YzAgMTMuNiA3LjcgMjYuMSAxOS45IDMyLjJsMTAwIDUwYzEwLjEgNS4xIDIyLjEgNS4xIDMyLjIgMGwxMDMuOS01MiAxMDMuOSA1MmMxMC4xIDUuMSAyMi4xIDUuMSAzMi4yIDBsMTAwLTUwYzEyLjItNi4xIDE5LjktMTguNiAxOS45LTMyLjJWMjgzLjljMC0xNS05LjMtMjguNC0yMy40LTMzLjd6TTM1OCAyMTQuOGwtODUgMzEuOXYtNjguMmw4NS0zN3Y3My4zek0xNTQgMTA0LjFsMTAyLTM4LjIgMTAyIDM4LjJ2LjZsLTEwMiA0MS40LTEwMi00MS40di0uNnptODQgMjkxLjFsLTg1IDQyLjV2LTc5LjFsODUtMzguOHY3NS40em0wLTExMmwtMTAyIDQxLjQtMTAyLTQxLjR2LS42bDEwMi0zOC4yIDEwMiAzOC4ydi42em0yNDAgMTEybC04NSA0Mi41di03OS4xbDg1LTM4Ljh2NzUuNHptMC0xMTJsLTEwMiA0MS40LTEwMi00MS40di0uNmwxMDItMzguMiAxMDIgMzguMnYuNnoiPjwvcGF0aD48L3N2Zz4K\n[sponsor-us]: https://img.shields.io/github/sponsors/LechevSpace?color=bf3989\u0026label=Sponsor%20us\u0026style=for-the-badge\u0026logoColor=bf3989\u0026logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHZlcnNpb249IjEuMSIgd2lkdGg9IjE2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPHBhdGggZmlsbD0iI2JmMzk4OSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNC4yNSAyLjVjLTEuMzM2IDAtMi43NSAxLjE2NC0yLjc1IDMgMCAyLjE1IDEuNTggNC4xNDQgMy4zNjUgNS42ODJBMjAuNTY1IDIwLjU2NSAwIDAwOCAxMy4zOTNhMjAuNTYxIDIwLjU2MSAwIDAwMy4xMzUtMi4yMTFDMTIuOTIgOS42NDQgMTQuNSA3LjY1IDE0LjUgNS41YzAtMS44MzYtMS40MTQtMy0yLjc1LTMtMS4zNzMgMC0yLjYwOS45ODYtMy4wMjkgMi40NTZhLjc1Ljc1IDAgMDEtMS40NDIgMEM2Ljg1OSAzLjQ4NiA1LjYyMyAyLjUgNC4yNSAyLjV6TTggMTQuMjVsLS4zNDUuNjY2LS4wMDItLjAwMS0uMDA2LS4wMDMtLjAxOC0uMDFhNy42NDMgNy42NDMgMCAwMS0uMzEtLjE3IDIyLjA3NSAyMi4wNzUgMCAwMS0zLjQzNC0yLjQxNEMyLjA0NSAxMC43MzEgMCA4LjM1IDAgNS41IDAgMi44MzYgMi4wODYgMSA0LjI1IDEgNS43OTcgMSA3LjE1MyAxLjgwMiA4IDMuMDIgOC44NDcgMS44MDIgMTAuMjAzIDEgMTEuNzUgMSAxMy45MTQgMSAxNiAyLjgzNiAxNiA1LjVjMCAyLjg1LTIuMDQ1IDUuMjMxLTMuODg1IDYuODE4YTIyLjA4IDIyLjA4IDAgMDEtMy43NDQgMi41ODRsLS4wMTguMDEtLjAwNi4wMDNoLS4wMDJMOCAxNC4yNXptMCAwbC4zNDUuNjY2YS43NTIuNzUyIDAgMDEtLjY5IDBMOCAxNC4yNXoiPjwvcGF0aD4KPC9zdmc%2BCg%3D%3D\n\n## Examples\n\n### Frames Per Second with a simple for-loop\n\nRun the example from the `examples` directory using:\n\n`cargo run --features=std --example fps_counter`\n\n### Frames Per Second with `embedded-graphics`\n\nThis crate is suitable for usage with the [`embedded-graphics`] crate\nwhen you want to know, log or even show the frames per second of a\ndisplay with an embedded device.\n\nNote: This example requires [`embedded-graphics-simulator`] and `SDL2` installed\non your machine.\n\nRefer to the [`embedded-graphics-simulator` documentation][simulator-docs]\nfor detailed instructions.\n\nYou can run this example from the `examples` directory using:\n\n`cargo run --features=std --example embedded_graphics`\n\n## Crate features\n\n- `std` - enables `StdClock` - a `Clock` implementation using `std` for usage on a host machine.\n\n## License\n\nLicensed under either of [Apache License, Version 2.0](./LICENSE-APACHE)\nor [MIT license](./LICENSE-MIT) at your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in this project by you, as defined in the Apache-2.0 license,\nshall be dual licensed as above, without any additional terms or conditions.\n\n[`embedded-graphics`]: https://crates.io/crates/embedded-graphics\n[`embedded-graphics-simulator`]: https://crates.io/crates/embedded-graphics-simulator\n[simulator-docs]: https://docs.rs/embedded-graphics-simulator/latest/embedded_graphics_simulator/#setup\n[`StdClock`]: crate::StdClock","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flechevspace%2Fembedded-fps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flechevspace%2Fembedded-fps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flechevspace%2Fembedded-fps/lists"}