照片上传或绘图

Photo uplaod or Drawing

当我上传 img 或通过 GUI(pygame 或 tkinter)绘制相同图像时,尝试了解 Python 中效率和 运行 时间的差异。

此外,如果我在我的应用程序循环中的不同位置使用多种字体。它也降低了 运行 速度?(一直比较 运行 与相同的字体?)

Also, if i use many fonts in different locatin in my app loop . it is also reduce run speed?

避免在每一帧中创建字体对象。创建字体对象是一项非常昂贵的操作,因为需要从卷中读取字体文件并进行解释。在初始化时创建一次字体对象并将它们用于渲染文本:

font1 = pygame.font.SysFont(pygame.font.get_fonts()[55],23)
font2 = pygame.font.SysFont(pygame.font.get_fonts()[55],22)

font4 = pygame.font.SysFont(pygame.font.get_fonts()[8],25)
font5 = pygame.font.SysFont(pygame.font.get_fonts()[8],27)
def draw(self,health):
    # [...]

    if self.gender in ['male','Male','MALE']:
        gender = font4.render('\u2642',True,(0,153,153)) #male
        gender2 = font5.render('\u2642',True,(25,25,25))
            
    else:
        gender = font4.render(chr(0x2640),True,(255,0,0)) #female
        gender2 = font5.render(chr(0x2640),True,(25,25,25))

    # [...]