[Python 原创] 电脑性能可视化工具

本来打算学习一下网上的开源项目,偶然发现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
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
Diinin·的头像 - 宋马
评论 抢沙发

请登录后发表评论

    暂无评论内容