本来打算学习一下网上的开源项目,偶然发现mac上有一个性能分析工具,正好这段时间正在学习pygame,就想着制作一个类似的工具。目前实现了一个简化版本(相当简陋,求勿喷),并让认识的一个大佬改了一下代码,调整了一下结构,规范了一下变量名等内容。
import pygame
import psutil
import sys
def get_system_performance():
cpu_percent = psutil.cpu_percent(interval=1) # 获取CPU使用率
memory_info = psutil.virtual_memory() # 获取内存使用信息
memory_percent = memory_info.percent # 提取百分比使用率
return cpu_percent, memory_percent # 返回CPU和内存的使用率
def main():
pygame.init() # 初始化所pygame
size = (400, 300) # 定义窗口大小为400x300像素
screen = pygame.display.set_mode(size) # 创建一个显示窗口并设置尺寸
pygame.display.set_caption("系统性能可视化工具") # 设置窗口标题
clock = pygame.time.Clock() # 创建一个时钟对象,用于控制帧率
x, y = size[0] // 2, size[1] // 2 # 初始化圆心位置在窗口中心
while True:
for event in pygame.event.get(): # 遍历所有事件
if event.type == pygame.QUIT: # 如果用户点击关闭按钮
pygame.quit() # 退出
sys.exit() # 退出程序
# 获取系统性能信息
cpu_percent, memory_percent = get_system_performance() # 调用函数获取当前CPU和内存使用率
# 根据CPU和内存使用率分别调整速度
speed_x = int(cpu_percent / 20 + 1) # 使用CPU使用率调整水平速度
speed_y = int(memory_percent / 20 + 1) # 使用内存使用率调整垂直速度
# 更新位置
x += speed_x # 更新圆心的x坐标
y += speed_y # 更新圆心的y坐标
# 边界检测,如果圆超出窗口边界,则反向移动
if x >= size[0] or x <= 0:
speed_x = -speed_x
if y >= size[1] or y <= 0:
speed_y = -speed_y
screen.fill((0, 0, 0)) # 填充屏幕背景色为黑色
pygame.draw.circle(screen, (0, 255, 0), (x, y), 20) # 在新位置绘制绿色圆圈
pygame.display.flip() # 更新整个显示表面到屏幕上
clock.tick(60) # 控制帧率为每秒60帧
if __name__ == '__main__':
main() # 程序启动时调用main函数执行主程序逻辑
但是目前这个项目还有一个bug,小圆触碰边界后不会反弹,直接跑出界面,但是程序中已经增加了相应的处理逻辑,后续进行优化。
同时引入pygame模块应该也没有必要,再寻找一个简单的方法进行可视化。
另外还想制作一个程序性能的分析工具,已经同步进行,稍后也分享出代码,欢迎大家批评指正!
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END
![[Python 原创] 电脑性能可视化工具 - 宋马](https://bbs.songma.com/wp-content/uploads/2024/12/800.png)
















暂无评论内容