Commit Graph

15 Commits

Author SHA1 Message Date
ubuntu1804 cfd97e76ba Remove verbose debug logs from drawText
Eliminate periodic and per-frame debug prints to reduce console noise
and apply minor whitespace/formatting cleanup across VulkanRenderer.cpp
2025-11-11 13:29:24 +08:00
ubuntu1804 fb54be25ec 支持锁屏帧的绘制 2025-11-11 09:52:19 +08:00
ubuntu1804 d0ffdc4867 Use host-visible buffers for text rendering
Remove text caching logic and m_lastRenderedText. Switch to direct
memory-mapped updates of dynamic vertex and index buffers each frame,
eliminating staging/caching paths and simplifying debug/update logic.
2025-11-11 09:38:47 +08:00
ubuntu1804 9786baed86 Use host-visible dynamic buffers for geometry
Move geometry and text to single host-visible vertex/index buffers
created once and updated via vkMapMemory (no staging). Add
createDynamic*/updateDynamicBuffer helpers. Reduce vkWaitForFences
timeout from 5s to 100ms and skip/log on timeout to avoid blocking.
2025-11-11 09:33:12 +08:00
ubuntu1804 fdb25ed816 Optimize geometry updates and cache text buffers
Update geometry only periodically (every 5 frames) and reduce logging
frequency. Destroy and null out old buffers before recreating them to
avoid double frees and leaks.

Cache lastRenderedText and only rebuild text vertex/index buffers when
the content or size changes; reuse buffers across frames and clean them
up on rebuild or shutdown.

Replace vkDeviceWaitIdle in copyBuffer with fence-based wait (longer
timeout) and remove noisy debug prints. Added members and cleanup for
text buffers and index count
2025-11-11 09:24:32 +08:00
ubuntu1804 95b83d5ed3 Support triple buffering and improve buffer sync
Increase MAX_FRAMES_IN_FLIGHT to 3 and cap swapchain images accordingly
Replace vkDeviceWaitIdle with per-copy fence, extend wait timeout and
add diagnostic logging and counters Add stronger error logging and
cleanup on vertex/index buffer creation and copy failures; reset handles
to VK_NULL_HANDLE on failure
2025-11-11 09:14:14 +08:00
ubuntu1804 90d770dd85 Sync device and add fence timeout for buffer copy
Wait for device idle before starting copy to avoid queue contention. Use
a 1s fence wait and handle VK_TIMEOUT with cleanup and logging.
2025-11-10 22:35:51 +08:00
ubuntu1804 fafe481365 Use fence to wait for buffer copy
Create a VkFence for the copy command, submit with that fence, wait with
vkWaitForFences instead of vkQueueWaitIdle, and destroy the fence after
completion. Ensure fence is destroyed and the command buffer is freed on
error paths.
2025-11-10 22:31:35 +08:00
ubuntu1804 d82fc95584 优化 MSAA 2025-11-10 21:51:11 +08:00
ubuntu1804 2f16c0b5e4 add msaa 2025-11-10 21:43:42 +08:00
ubuntu1804 4b04a1adf7 调整文字大小和位置 2025-11-10 21:01:35 +08:00
ubuntu1804 96a744bde0 修复文字显示bug 2025-11-10 20:26:57 +08:00
ubuntu1804 25e6159176 增加freetype支持 2025-11-10 20:00:34 +08:00
ubuntu1804 e8b9571d25 VulkanWidget 渲染问题完全解决 2025-11-10 17:01:06 +08:00
ubuntu1804 5dea0554b3 Add VulkanRenderer, shaders, and build scripts 2025-11-10 15:13:04 +08:00