易语言的计次循环cpu占用太高了
.版本2.支持库EdirectX.程序集窗口程序集1.全局变量屏幕,屏幕.全局变量页面,页面.全局变量后台,页面.子程序__启动窗口_创建完毕屏幕.创建全屏模式(取窗口句...
.版本 2
.支持库 EdirectX
.程序集 窗口程序集1
.全局变量 屏幕, 屏幕
.全局变量 页面, 页面
.全局变量 后台, 页面
.子程序 __启动窗口_创建完毕
屏幕.创建全屏模式 (取窗口句柄 (), 800, 600, 32, 假)
后台 = 屏幕.取后台页面 ()
.子程序 _时钟1_周期事件
后台.填充页面 (#白色)
打开 (取运行目录 () + “\data\地图1.edb”, , , , , , )
到首记录 ()
.计次循环首 (取记录数 (), )
页面.建位图页面 (屏幕, 取运行目录 () + 读 (“名称”), )
页面.块复制 (后台, 到整数 (读 (“横坐标”)), 到整数 (读 (“纵坐标”)), )
跳过 ()
.计次循环尾 ()
关闭 ()
屏幕.交换页面 (假, 假, 假)
cpu占到了50‰ 怎么实现效果让cpu占到很低
易语言自带的例程里的超级玛丽怎么cpu占不到2% 展开
.支持库 EdirectX
.程序集 窗口程序集1
.全局变量 屏幕, 屏幕
.全局变量 页面, 页面
.全局变量 后台, 页面
.子程序 __启动窗口_创建完毕
屏幕.创建全屏模式 (取窗口句柄 (), 800, 600, 32, 假)
后台 = 屏幕.取后台页面 ()
.子程序 _时钟1_周期事件
后台.填充页面 (#白色)
打开 (取运行目录 () + “\data\地图1.edb”, , , , , , )
到首记录 ()
.计次循环首 (取记录数 (), )
页面.建位图页面 (屏幕, 取运行目录 () + 读 (“名称”), )
页面.块复制 (后台, 到整数 (读 (“横坐标”)), 到整数 (读 (“纵坐标”)), )
跳过 ()
.计次循环尾 ()
关闭 ()
屏幕.交换页面 (假, 假, 假)
cpu占到了50‰ 怎么实现效果让cpu占到很低
易语言自带的例程里的超级玛丽怎么cpu占不到2% 展开
3个回答
展开全部
你这样读法可能一秒钟就读了几百次硬盘,一分钟就读了一万多次硬盘!!!
你可以试试下面的数组方式,应该会好点!
.版本 2
.支持库 EdirectX
.程序集 窗口程序集1
.程序集变量 屏幕, 屏幕
.程序集变量 页面, 页面, , "0"
.程序集变量 横坐标, 整数型, , "0"
.程序集变量 纵坐标, 整数型, , "0"
.程序集变量 后台, 页面
.程序集变量 记录数, 整数型
.子程序 __启动窗口_创建完毕
.局部变量 n, 整数型
屏幕.创建全屏模式 (取窗口句柄 (), 800, 600, 32, 假)
后台 = 屏幕.取后台页面 ()
打开 (取运行目录 () + “\data\地图1.edb”, , , , , , )
记录数 = 取记录数 ()
重定义数组 (页面, 假, 记录数)
重定义数组 (横坐标, 假, 记录数)
重定义数组 (纵坐标, 假, 记录数)
到首记录 ()
.计次循环首 (记录数, n)
页面 [n].建位图页面 (屏幕, 取运行目录 () + 读 (“名称”), )
横坐标 [n] = 读 (“横坐标”) ' 按理数据库中的类型对应的话是不用再次转换的
纵坐标 [n] = 读 (“纵坐标”)
跳过 ()
.计次循环尾 ()
关闭 ()
时钟1.时钟周期=100
.子程序 _时钟1_周期事件
.局部变量 n, 整数型
时钟1.时钟周期=0'此两句可以去掉
后台.填充页面 (#白色)
.计次循环首 (记录数, n)
页面 [n].块复制 (后台, 横坐标 [n], 纵坐标 [n], )
.计次循环尾 ()
屏幕.交换页面 (假, 假, 假)
时钟1.时钟周期=100'此两句可以去掉
你可以试试下面的数组方式,应该会好点!
.版本 2
.支持库 EdirectX
.程序集 窗口程序集1
.程序集变量 屏幕, 屏幕
.程序集变量 页面, 页面, , "0"
.程序集变量 横坐标, 整数型, , "0"
.程序集变量 纵坐标, 整数型, , "0"
.程序集变量 后台, 页面
.程序集变量 记录数, 整数型
.子程序 __启动窗口_创建完毕
.局部变量 n, 整数型
屏幕.创建全屏模式 (取窗口句柄 (), 800, 600, 32, 假)
后台 = 屏幕.取后台页面 ()
打开 (取运行目录 () + “\data\地图1.edb”, , , , , , )
记录数 = 取记录数 ()
重定义数组 (页面, 假, 记录数)
重定义数组 (横坐标, 假, 记录数)
重定义数组 (纵坐标, 假, 记录数)
到首记录 ()
.计次循环首 (记录数, n)
页面 [n].建位图页面 (屏幕, 取运行目录 () + 读 (“名称”), )
横坐标 [n] = 读 (“横坐标”) ' 按理数据库中的类型对应的话是不用再次转换的
纵坐标 [n] = 读 (“纵坐标”)
跳过 ()
.计次循环尾 ()
关闭 ()
时钟1.时钟周期=100
.子程序 _时钟1_周期事件
.局部变量 n, 整数型
时钟1.时钟周期=0'此两句可以去掉
后台.填充页面 (#白色)
.计次循环首 (记录数, n)
页面 [n].块复制 (后台, 横坐标 [n], 纵坐标 [n], )
.计次循环尾 ()
屏幕.交换页面 (假, 假, 假)
时钟1.时钟周期=100'此两句可以去掉
追问
运行后出现信息框(内存“×××××××××××” 不能为“××××××××××××××”)
展开全部
多线程也是会卡的,(因为计次循环基本上是忽略延迟的,因此当系统执行完循环中的命令后就自动转回循环首继续循环……)
要不就使用超级模块里的 超级延迟()
个人还是建议用时钟吧(时钟最低1毫秒)
要不就使用超级模块里的 超级延迟()
个人还是建议用时钟吧(时钟最低1毫秒)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用不着他说的那么麻烦,提示你一个词。多线程
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询