E:在OS X和

Linux上测试相同后,我可以确认以下内容只发生在OS X上.在Linux上,它实际上以千fps运行,因为我碰巧想知道.任何解释?感谢TextMate,我更喜欢在Mac上进行开发.

这是一个几乎没有任何作用的简单循环,并且运行速度非常慢.有人可以解释为什么吗FPS平均值略高于30,每次通过循环需要30多分钟.窗口大小似乎根本不会影响这一点,因为即使设置像(50,50)这样的小窗口大小也具有相同的fps.

我发现这很奇怪,我希望任何现代硬件都可以为这样一个简单的循环做一千fps,即使我们每次都更新每个像素.从配置文件中我可以看到{内置方法get}和{内置方法更新}组合似乎每次调用大约需要30ms的时间,这是否真的是我们可以在不使用脏的情况下获得的最佳效果?

pygame.init()

clock = pygame.time.Clock()

fps = 1000

#milliseconds from last frame

new_time, old_time = None, None

done = False

while not done:

clock.tick(fps)

for event in pygame.event.get():

if event.type == pygame.QUIT:

done = True

# show fps and milliseconds

if new_time:

old_time = new_time

new_time = pygame.time.get_ticks()

if new_time and old_time:

pygame.display.set_caption("fps: " + str(int(clock.get_fps())) + " ms: " + str(new_time-old_time))

pygame.display.update()

这是主要功能的cProfile的开头.

94503 function calls (92211 primitive calls) in 21.011 seconds

Ordered by: cumulative time

ncalls tottime percall cumtime percall filename:lineno(function)

1 0.026 0.026 21.011 21.011 new_main.py:34(main)

652 14.048 0.022 14.048 0.022 {built-in method get}

652 5.864 0.009 5.864 0.009 {built-in method update}

1 0.444 0.444 0.634 0.634 {built-in method init}

651 0.278 0.000 0.278 0.000 {built-in method set_caption}

72/1 0.000 0.000 0.151 0.151 :2234(_find_and_load)

72/1 0.000 0.000 0.151 0.151 :2207(_find_and_load_unlocked)

71/1 0.000 0.000 0.151 0.151 :1186(_load_unlocked)

46/1 0.000 0.000 0.151 0.151 :1122(_exec)

46/1 0.000 0.000 0.151 0.151 :1465(exec_module)

74/1 0.000 0.000 0.151 0.151 :313(_call_with_frames_removed)

54/1 0.004 0.000 0.151 0.151 {built-in method exec}

1 0.000 0.000 0.151 0.151 macosx.py:1()

1 0.000 0.000 0.150 0.150 pkgdata.py:18()

25/3 0.000 0.000 0.122 0.041 :1156(_load_backward_compatible)

8/1 0.026 0.003 0.121 0.121 {method 'load_module' of 'zipimport.zipimporter' objects}

1 0.000 0.000 0.101 0.101 __init__.py:15()

1 0.000 0.000 0.079 0.079 config_reader.py:115(build_from_config)

2 0.000 0.000 0.056 0.028 common.py:43(reset_screen)

2 0.055 0.027 0.055 0.027 {built-in method set_mode}

72/71 0.001 0.000 0.045 0.001 :2147(_find_spec)

70/69 0.000 0.000 0.043 0.001 :1934(find_spec)

70/69 0.001 0.000 0.043 0.001 :1902(_get_spec)

92 0.041 0.000 0.041 0.000 {built-in method load_extended}

6 0.000 0.000 0.041 0.007 new_map.py:74(add_character)

6 0.000 0.000 0.041 0.007 new_character.py:32(added_to_map)

6 0.001 0.000 0.041 0.007 new_character.py:265(__init__)

1 0.000 0.000 0.038 0.038 macosx.py:14(Video_AutoInit)

1 0.038 0.038 0.038 0.038 {built-in method InstallNSApplication}

1 0.036 0.036 0.036 0.036 {built-in method quit}

65 0.001 0.000 0.036 0.001 re.py:277(_compile)

49 0.000 0.000 0.036 0.001 re.py:221(compile)

mac运行python速度慢_python-3.x – Pygame简单循环在Mac上运行得非常慢相关推荐

  1. 如何在cmd运行python文件夹_python怎么在cmd运行文件夹

    学习Python的人都知道数组是最常用的的数据类型,为了保证程序的正确性,需要调试程序. 因此,需要在程序中控制台中打印数组的全部元素,如果数组的容量较小,例如 只含有10个元素,采用print命令或 ...

  2. pythonspark集群模式运行_有关python numpy pandas scipy 等 能在YARN集群上 运行PySpark

    有关这个问题,似乎这个在某些时候,用python写好,且spark没有响应的算法支持, 能否能在YARN集群上 运行PySpark方式, 将python分析程序提交上去? Spark Applicat ...

  3. win10运行python 速度慢_Win 10 使用 Python遇到奇怪的问题

    最近在使用 Python 的时候发生了很奇怪的现象:从命令行执行python.exe并不会进入 REPL,似乎也没有其他反应,然而稍等片刻,会看到系统弹出 Windows Store 页面,并定位到 ...

  4. linux 运行python效率高还是windows高_为什么使用Mac开发比Windows效率高?

    开发模式清晰简单 Windows 发展了这么久,期间经历了很多变迁. 拿 API 来说,最早是简单的 DLL 暴露 C 接口,后来加入支持 C++ 的 DLL,接着又开始推崇 COM,接下来又是 C# ...

  5. cmd运行python脚本处理其他文件_如何在cmd命令行里运行python脚本

    在电脑安装好python软件之后即可通过cmd命令行运行python脚本文件.不过有些小伙伴不懂,今天小编我就来说一下cmd命令行如何运行python脚本文件. 工具/原料 电脑 python 3 方 ...

  6. python代码编辑器android_三款可以在安卓手机上运行Python代码的软件

    导 语 READ 我相信大家平时大多数时间肯定都是在电脑上面敲Python代码,有时候出门外或者不方便使用电脑的时候,你是否曾想用手机就能编写和运行Python代码呢?本文将会介绍3款不同的安卓软件帮 ...

  7. python编辑器安卓下载-三款可以在安卓手机上运行Python代码的软件

    导 语 READ 我相信大家平时大多数时间肯定都是在电脑上面敲Python代码,有时候出门外或者不方便使用电脑的时候,你是否曾想用手机就能编写和运行Python代码呢?本文将会介绍3款不同的安卓软件帮 ...

  8. idea运行android usb调试,android-Intellij Idea不允许在真实设备上运行应...

    我拥有配置了Oracle SDK 1.6和Android SDK的Idea 12, $./adb devices List of devices attached S5830c10eb068 devi ...

  9. 开机提示小娜无法在本计算机运行,win10 20h2提示此应用无法在你的电脑上运行解决方法...

    日常操作的win10 20h2电脑时都需要运行所需的程序, 同时也会在系统中安装一些游戏之类的,但是最近有用户在运行win10 20h2电脑中的程序时却遇到提示此应用无法在你的电脑上运行,对此应该怎么 ...

  10. 组态软件运行在云服务器_哪些软件可以在云服务器上运行?

    哪些软件可以在云服务器上运行?可以在云服务器上运行的软件很多,使用云服务器具有完全的独立性和灵活性,用户可以根据自身需求,配置所需要的服务器环境.安装各类应用软件. 比如,Windows系统的云服务器 ...

最新文章

  1. Mask_RCNN安装与踩过的坑
  2. JavaScript对象数组示例
  3. 常见的数据结构——栈、队列、数组、链表和红黑树
  4. Spring管理session的一些认识和用法心得
  5. 数据仓库—数据仓库—Sybase IQ 介绍
  6. springboot 启动退出终端不停止
  7. 第23章:MongoDB-聚合操作--聚合命令
  8. linux 添加软连接、查看软连接、增加文件的执行权限
  9. 高等数学(第七版)同济大学 习题3-3 个人解答
  10. 解决Linux环境下idea、webstorm等编辑器中文无效
  11. ExpandableListView使用方法详解
  12. 视频编码中CBR和VBR的区别,CRF和CQP的区别
  13. ML面试1000题系列(71-80)
  14. O - Buns(混合背包)
  15. 国内外快递公司名称一览表
  16. 关于Docker以及安装方法
  17. 神经网络的英文缩写是啥,神经网络的英文是什么
  18. C++随机产生任意类型某个区间范围的随机数
  19. 计算机麦克风,简易计算机麦克风的制作
  20. 必看,抖音小店无货源模式到底该怎么做?

热门文章

  1. JSP include指令和include动作的区别
  2. 一个免费调用的OData服务,无需用户名密码,适用于SAP UI5的学习
  3. OPA PropertyStrictEquals match check logic
  4. Commit request failed Commit failed. Ref must be HEAD and is HEAD
  5. CRM Fiori Launchpad初次登陆后返回的service metadata信息
  6. CRM呼叫中心异步搜索实现的调试截图
  7. IBASE timestamp conversion exit
  8. IPM: 使用代码删除Acquisition contract上的IP Product
  9. ABAP COMMIT WORK关键字在CRM content management应用里的使用场景
  10. ABAP, Java和JavaScript三种语言的比较