Commit Graph
61 Commits
Author SHA1 Message Date
Ivan 5da81e5f93 Fix resource leak and CPU performance issues
- Fix integer underflow panic in LED color publisher by adding bounds checking
- Reduce screenshot capture frequency from 15 FPS to 5 FPS for better CPU performance
- Reduce WebSocket force-send frequency from 200ms to 500ms
- Fix WebSocket resource leak by properly cleaning up streams when connections end
- Add proper stream lifecycle management with is_running flag checks
- Ensure background tasks exit when streams are stopped

This resolves the issue where CPU usage remained above 100% after visiting
the LED strip configuration page, even when navigating to other pages.
2025-07-04 21:49:05 +08:00
Ivan 5f12b8312a feat: enhance white balance interface with expandable help content
- Add comprehensive expandable help section in normal mode with detailed instructions
- Include usage recommendations, adjustment tips, and comparison methods
- Add simplified tooltip in fullscreen mode for quick reference
- Improve user guidance for LED strip color calibration process
- Maintain dual-mode functionality (normal/fullscreen) with appropriate help content
2025-07-04 18:31:44 +08:00
Ivan 1944c88b55 Optimize screen streaming performance and clean up debug logs
- Reduced image processing time from 7-8 seconds to 340-420ms (15-20x improvement)
- Optimized BGRA->RGBA conversion with unsafe pointer operations and batch processing
- Changed image resize filter from Lanczos3 to Nearest for maximum speed
- Reduced target resolution from 400x225 to 320x180 for better performance
- Reduced JPEG quality from 75 to 50 for faster compression
- Fixed force-send mechanism timing from 500ms to 200ms intervals
- Improved frame rate from 0 FPS to ~2.5 FPS
- Cleaned up extensive debug logging and performance instrumentation
- Removed unused imports and variables to reduce compiler warnings
2025-07-04 14:45:50 +08:00
Ivan 93ad9ae46c feat: implement real-time LED strip preview
- Add LED strip visualization around display previews
- Show real-time color status for each LED pixel
- Support multi-display LED strip configurations
- Use elegant 16px thin LED strip design
- Real-time LED color sync via WebSocket
- Responsive layout with display scaling support
2025-07-03 02:09:19 +08:00
Ivan ddf61c861d feat: update dependencies to latest compatible versions
- Update frontend dependencies (SolidJS, Vite, Tailwind, etc.)
- Update backend dependencies (Tauri 1.8.3, Tokio, Serde, etc.)
- Fix thread safety issues with SafeDisplay wrapper for ddc-hi::Display
- Resolve display-info API compatibility issues
- All dependencies updated within major version constraints
2025-06-30 17:35:03 +08:00
Ivan b1fd751090 Fix LED color events and improve screenshot capture
- Fix LED color publisher: uncomment display_colors_tx.send() to enable LED color events
- Replace rust_swift_screencapture with screen-capture-kit for better macOS compatibility
- Add bounds checking in LED color processing to prevent array index errors
- Update screenshot manager to use CGDisplay as fallback implementation
- Fix frontend screenshot URL protocol to use ambient-light://
- Add debug logging for LED color events in frontend
- Remove debug logs that were added for troubleshooting
- Update dependencies and remove CMake-dependent paho-mqtt temporarily

This resolves the issue where LED color events were not being sent to the frontend,
enabling real-time LED color visualization in the UI.
2025-06-30 14:35:03 +08:00
Ivan 91983e6728 feat: 电脑睡眠后唤醒,支持重新开始捕捉屏幕内容。 2023-06-17 17:36:32 +08:00
Ivan bab3b8941e fix: 临时避免 CPU 占用率高的问题。 2023-06-10 21:09:36 +08:00
Ivan 268ec1df81 feat: 使用 ScreenCaptureKit 获取屏幕帧数据。 2023-06-05 22:34:32 +08:00
Ivan ed72bdfdb1 feat: 改用 udp 向板子发送颜色校准信息。 2023-05-12 20:38:24 +08:00
Ivan 98d2f7891a feat: 支持定期向板子发送显示器亮度信息。 2023-05-11 21:52:50 +08:00
Ivan 3a23e1760b feat: 支持记住显示器配置。 2023-05-11 14:13:14 +08:00
Ivan 8b124f8182 feat: 当新板子上线或音量变化时,推送当前音量给板子。 2023-05-10 21:50:51 +08:00
Ivan 878180ed5b fix: 亮度调节指令频繁时通道被关闭。 2023-05-10 21:18:55 +08:00
Ivan 5ddd704c9d chore: 完善。 2023-05-09 21:57:52 +08:00
Ivan 2c5ac11579 feat: 支持设置音量。 2023-05-07 18:18:34 +08:00
Ivan 9109518822 chore: 清理代码。 2023-05-07 15:21:27 +08:00
Ivan d9d73f01d7 feat: 支持控制显示器参数。 2023-05-07 14:48:06 +08:00
Ivan 239144a446 feat: 支持调整程序内存中暂存的显示器配置。 2023-05-07 14:32:31 +08:00
Ivan 3a430716d6 feat: 支持读取显示器配置。 2023-05-07 09:56:00 +08:00
Ivan 800c0d3fc4 feat: 支持列出显示器。 2023-05-07 01:18:48 +08:00
Ivan 091bcf33da feat: 支持收取来自板子要求的显示器亮度和电脑音量。 2023-05-06 20:14:31 +08:00
Ivan 9b863508e4 build: update deps. 2023-05-04 23:31:39 +08:00
Ivan 174840403f pref: 调整发送数据的逻辑,改善丢包问题。 2023-05-04 21:56:56 +08:00
Ivan ca9a2ba34d feat: skip send colors for disconnected board. 2023-04-30 22:48:25 +08:00
Ivan 82d4adfe0f feat: 增强连接状态。 2023-04-30 22:30:24 +08:00
Ivan 6c90a5e655 feat: 支持获取和查看板子连接的情况。 2023-04-30 18:44:26 +08:00
Ivan 11045f27d8 feat: 通过新的 udp 逻辑发送灯带颜色。 2023-04-29 18:07:21 +08:00
Ivan f6e3257670 feat: 前端显示 mdns 搜索到的板子连接信息。 2023-04-29 15:09:45 +08:00
Ivan e5527ce3c3 feat: mdns search. 2023-04-29 12:40:34 +08:00
Ivan 3deb14823d chore: 改为单独 task 推送灯条颜色。 2023-04-28 21:24:46 +08:00
Ivan 7a87748cf1 feat: 使用 UDP 发送颜色。 2023-04-28 00:26:49 +08:00
Ivan effcb1e192 chore: 期望以 30 fps 捕获屏幕。 2023-04-16 23:15:26 +08:00
Ivan 1c08c17fd4 feat: 支持将校准的色彩发送到 MQTT 中。 2023-04-16 21:55:24 +08:00
Ivan 81d666557b chore: clean code. 2023-04-16 18:23:56 +08:00
Ivan 6e6160fc0a feat: 支持将色彩校准的值写入本地配置文件。 2023-04-16 18:17:49 +08:00
Ivan fc8b3164d8 feat(GUI): 色彩调整界面。 2023-04-16 12:53:03 +08:00
Ivan 782f3bf029 fix: wrong sample points on mac os 13. 2023-04-15 13:45:30 +08:00
Ivan a905c98823 fix: 更新配置时无法应用配置到灯带颜色获取逻辑。 2023-04-14 22:18:59 +08:00
Ivan 9cbccedc72 fix: wrong sample points on mac os 13. 2023-04-14 21:27:14 +08:00
Ivan aa7430c54e build: update deps. 2023-04-12 23:43:41 +08:00
Ivan 6c3ce607e0 pref: 针对 HiDPI 屏幕捕获的优化。 2023-04-05 12:25:14 +08:00
Ivan 3ec983cd95 boardcast + interval tick. 2023-04-03 23:19:45 +08:00
Ivan a1e6c6e5fb fix: 灯条段长度为0时,崩溃问题。 2023-04-02 18:36:22 +08:00
Ivan 822d470605 feat: 支持翻转灯条段。 2023-04-02 17:45:18 +08:00
Ivan 86e9b072bc feat: 灯条段排序。 2023-04-02 16:08:33 +08:00
Ivan 535f731770 feat: 后端发布未映射排序的色彩。 2023-04-02 14:52:08 +08:00
Ivan 9ec030488a feat: 发布灯条颜色到 MQTT。 2023-04-02 14:05:53 +08:00
Ivan 0d47911355 feat: 拖拽排序。 2023-04-01 23:32:31 +08:00
Ivan d053185cc2 chore: 代码清理。 2023-04-01 18:43:49 +08:00