13 Nov 2024 |
GrantM11235 | Here we go https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=c213015c1f26db0cded55a8a2b8b5f89 | 00:13:37 |
almindor | I'm wondering what impact on performance is from all that tbh | 00:16:33 |
GrantM11235 | I think it should be decent-ish, as long as the interface trait doesn't force iterators to use dyn. Hopefully most stuff uses fill_contiguous or fill_solid though, so it doesn't need to be hyper-optimized | 00:21:58 |
almindor | any shape except for rects will use draw_iter | 00:29:18 |
GrantM11235 | It looks like circles and ellipses use fill_solid line-by-line | 23:14:49 |
15 Nov 2024 |
| @zeroeightsix:matrix.org left the room. | 09:58:19 |
GrantM11235 | almindor: Would you like to try my new interface? https://github.com/GrantM11235/mipidsi/blob/94323075dc4de20b97cc8b7f4464f9d2fc7ba03a/mipidsi/src/interface.rs | 16:28:51 |
almindor | In reply to @grantm11235:matrix.org almindor: Would you like to try my new interface? https://github.com/GrantM11235/mipidsi/blob/94323075dc4de20b97cc8b7f4464f9d2fc7ba03a/mipidsi/src/interface.rs NOTE: rfuest said that next version of e-g will support to_byte_slice() on all RgbColor types generically so we'll probably be able to get rid of the specialization hacks. I suspect it'll be something that expects a &mut [u8] to write into. He doesn't know when that might get released yet though | 18:17:12 |
GrantM11235 | That branch is a work in progress, but it should at least work for spi with Rgb565. Let me know how it performs in your benchmarks | 18:26:42 |
GrantM11235 | Actually, I think I might be missing a few flushes | 18:27:12 |
GrantM11235 | BTW, there are a bunch of things I want to do do clean up and simplify mipidsi. Do you prefer small self contained PRs, or one big PR? | 18:37:12 |
almindor | if it's self-containable then multiple works better | 20:42:16 |
almindor | you might also want to wait for https://github.com/almindor/mipidsi/pull/146 to merge (should be soon) | 20:42:35 |
16 Nov 2024 |
GrantM11235 | My PR is looking extremely promising in terms of performance. If anyone else is interested in trying it out, please let we know how it goes! https://github.com/almindor/mipidsi/pull/149 | 19:37:10 |
GrantM11235 | * My PR is looking extremely promising in terms of performance. If anyone else is interested in trying it out, please let me know how it goes! https://github.com/almindor/mipidsi/pull/149 | 20:00:13 |
17 Nov 2024 |
almindor | Got sick yesterday, I'll have a look asap | 16:00:24 |
GrantM11235 | I set up an spi display with an esp32-c3 and I have been doing some performance testing with it. fill_solid looks good, it's even slightly faster than #146, but fill_contiguous needs a bit more work | 16:03:30 |
| monheimx9 joined the room. | 19:35:18 |
18 Nov 2024 |
almindor | In reply to @grantm11235:matrix.org My PR is looking extremely promising in terms of performance. If anyone else is interested in trying it out, please let me know how it goes! https://github.com/almindor/mipidsi/pull/149 I should be able to give this a go tomorrow | 18:19:57 |
almindor | GrantM11235: on first glance looks good, I still need to test, probably tomorrow. In the meantime would it be possible to move the interface into a separate crate in the project? We already use a workspace setup for possible async, so this could just live in its own crate on the root level as well, seems to me like a better way to organize (and reuse). | 19:01:02 |
21 Nov 2024 |
almindor | GrantM11235: I seem to get almost 100% same performance from your change (just tested fill_solid so far). The one thing that's a blocker atm. is the nightly requirement for the chunks split. I do need to test a bit more though. Overall though I do like the interface definition | 17:34:25 |
almindor | * GrantM11235: I seem to get almost 100% same performance from your change compared to #146 (just tested fill_solid so far). The one thing that's a blocker atm. is the nightly requirement for the chunks split. I do need to test a bit more though. Overall though I do like the interface definition | 17:34:52 |
almindor | * GrantM11235: I seem to get almost 100% same performance from your change compared to #146 (just tested fill_solid so far). The one thing that's a blocker atm. is the nightly requirement for the chunks split. I do need to test a bit more though. I do like the interface definition overall | 17:35:25 |
22 Nov 2024 |
GrantM11235 | It would be possible to move the interface trait into it's own crate, but I'm not sure how much benefit there would be. TBH, I think it would make more sense to move the dcs module into it's own crate, that might be my next project. | 01:05:29 |
GrantM11235 | The split_chunks thing was for my own convenience, I'll replace it with something non-nightly. I'll try to have everything mostly cleaned up in the next few days | 01:08:50 |
| James Sizeland joined the room. | 22:47:04 |
26 Nov 2024 |
| Anaximeno changed their profile picture. | 20:14:11 |
27 Nov 2024 |
| Fabrizio Guglielmino joined the room. | 16:56:56 |
3 Dec 2024 |
| wuycn joined the room. | 08:09:30 |
5 Dec 2024 |
| scorpion2185 joined the room. | 16:14:42 |