Better performance coming soon Razz

That's a huge improvement! How'd you manage that?
That is some very impressive performance. What's that line of text (?) scrolling by on the left side of the calculator screen?

Keep up the good work!
This looks really neat! I am very interested in how you increased the serial speed between the computer and calculator.

Overall, well done!
epsilon5 wrote:
That is some very impressive performance. What's that line of text (?) scrolling by on the left side of the calculator screen?

Keep up the good work!

I think those are mouse positions.
TheLastMillennial wrote:
That's a huge improvement! How'd you manage that?

I rewrote the PC side in C/C++ and switched to zx0 compression for each frame. I also switched to the Windows desktop duplication api for screen capture and performed image downscaling on the GPU.

epsilon5 wrote:
That is some very impressive performance. What's that line of text (?) scrolling by on the left side of the calculator screen?

I was just printing out frame times and the size of the sent data. Now, I'm trying out/learning Dear ImGui for a better interface:


I'm still using bulk usb transfers like before. Any ideas on how to speed them up would be helpful Very Happy
I don't think decompression/memcpy is a bottleneck because if I empty the transfer callback function and immediately schedule a new transfer, it somehow slows down the data transfer rate.

Splitting the send calls up on the PC to the usb frame size slightly increases speed:

Code:
      
for (size_t i = 0; i < sendLen; i += 64)
{
    libusb_bulk_transfer(devHandle, 2, sendBuf + i, 64, &sentLen, 0);
}


I've also been making sure transfers are a multiple of 64. Idk if it's really doing anything, but things seem to be more stable.
Quote:
Now, I'm trying out/learning Dear ImGui for a better interface:


I happen to use ImGui a lot, I can probably answer any issues you have with it (it can be kinda finicky)! If you want to graph stuff, ImPlot integrates really well with ImGui and is significantly easier to make plots with.
I pushed my latest code and published a release on Github.

https://github.com/dnmalenke/Calc2KeyCE/releases/tag/v2.0-beta

I need to do a lot of code cleanup, but it's stable.

It's going to be Windows only again for now.

New Features:
Automated driver installation
Faster compression via zx0
GPU accelerated screen capturing and downsizing
Improved UI
More supported connection/reconnection cases (shouldn't have to restart calc/pc program if one side gets disconnected)
Eliminated diagonal screen tearing line

Todo:
Lots of code cleanup
CPU profiling to determine optimal compression timeout per system
Dmalenke wrote:
I pushed my latest code and published a release on Github.

https://github.com/dnmalenke/Calc2KeyCE/releases/tag/v2.0-beta

I need to do a lot of code cleanup, but it's stable.

It's going to be Windows only again for now.

New Features:
Automated driver installation
Faster compression via zx0
GPU accelerated screen capturing and downsizing
Improved UI
More supported connection/reconnection cases (shouldn't have to restart calc/pc program if one side gets disconnected)
Eliminated diagonal screen tearing line

Todo:
Lots of code cleanup
CPU profiling to determine optimal compression timeout per system

Wow this is so nice to see. It's been a while since I thought about this project its nice to see big improvements.
Dmalenke wrote:
It's going to be Windows only again for now.

When can we expect it to be on MacOS?
Is there any way that something like this could be on the ti84 calculator? Ithink it would be hilarious to play pc games purely from te low qualioty screen
Is there any way to edit the keybinding? I am using version 1.5 on macOS Ventura, and the screen mirroring works fine but the keys on the calculator don't do anything that I can see. And I would like 2.0 for Mac as well.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 3 of 3
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement