作者kuso0516 (隐)
看板GameDesign
标题[程式] 点阵图和记忆体
时间Fri Nov 21 22:17:50 2008
我有个程式要载入差不多6MB的24位元点阵图
载入的时候都会顿一下
是因为寻找足够记忆体所以花了点时间吗?
这样正常还是说有问题
是不是有比较好的处理方式
因为这是一张1600*1200的地图(以後有可能更大)
我想做类似即时战略的视窗和地图
画面可以上下左右移动
程式流程
1.把地图画到HDC上
┌──────────────┐
│ │
│ │
│ │
│ │1200
│ │
│ │
└──────────────┘
1600
2.把地图上的物件画出来
┌──────────────┐
│ │
│ <囧> │
│ │ │
│ /\ │1200
│ │
│ │
└──────────────┘
1600
3.把HDC某个部份画到视窗上
┌──────────────┐
│ │ ╭───_口X
│ <囧> │ │ <囧> │
│ │ │─→ │ │ │
│ /\ │1200 │ /\ │←视窗
│ │ ╰─────╯
│ │
│ │
└──────────────┘
1600
另外想问的就是
有些游戏会有LOADING的画面
是怎样写的?
fun work_1(); //某个会花很久时间的涵式
loading(40); //画面显示40%成功
fun work_2(); //某个会花很久时间的涵式
loading(40); //画面显示60%成功
fun work_3(); //某个会花很久时间的涵式
loading(20); //画面显示100%成功
这样吗XD
新手发问,请多指教
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.84.39
※ 编辑: kuso0516 来自: 114.32.84.39 (11/21 22:21)
1F:→ OpenBigJue:你写的那样算写死 不然可以开执行绪来作出动画效果 11/22 05:44
2F:→ func:如果是单线程,加载时,程序处於阻塞状态,载入的东西太大, 11/22 14:40
3F:→ func:自然就会停顿。 11/22 14:40
4F:→ func:加载进度条的显示,基本上就是你写的那样。是写程序的人估算 11/22 14:41
5F:→ func:的,不能反映真实时间耗费。如果干的事情单一,实际进度恒速 11/22 14:43
6F:→ func:的话,倒可以通过取系统若干参数,用公式计算并显示进度。 11/22 14:44
7F:→ func:但也只是一种估算方式。windows的copy进度对话框就是这样。 11/22 14:44
8F:→ func:载入文件时,硬盘磁头要寻找磁道,内存要找空闲空间,还要完 11/22 14:47
9F:→ func:成数据的移动,当然慢。硬盘的速度尤其慢,所以很多人把数据 11/22 14:48
10F:→ func:压缩打包,减少读盘时间。利用快速的内存和CPU,解开数据包, 11/22 14:49
11F:→ func:达到减少时间的目的。因为CPU算高压缩率的数据也很费时,所以 11/22 14:50
12F:→ func:打包压缩的数据不追求做到最小,平衡好各项耗时才是最优的。 11/22 14:51
13F:→ asoedarren:楼上是对岸的朋友? 11/22 15:54
14F:→ func:嗯~ 11/22 15:58
15F:→ kuso0516:恩 多绪真的还不太懂 用单绪偷懒一点好了囧 11/22 21:00
16F:推 sunneo:如果真的坚持单绪的话,可以试试看用Fiber达到user multask 11/27 22:55
17F:→ sunneo:压缩到是个好主意呢~~~~ 11/27 22:56