阅读:2618回复:15
DOS下出现花屏
我在dos中的55ms中断中执行进度条显示功能,进度条的执行时间不超过1ms。但是有时会出现花屏现象,请问这是怎么回事?本人急需哪位高手能解决。
|
|
沙发#
发布于:2005-03-06 17:22
我在dos中的55ms中断中执行进度条显示功能,进度条的执行时间不超过1ms。但是有时会出现花屏现象,请问这是怎么回事?本人急需哪位高手能解决。 本人不是高手,但是愿意一起探讨。 你的进度条是通过什么方法显示的呢?是直接写屏吗? 如果是,那我猜是不是因为跨段的时候没有处理好? 或者说你的显示模式不需要跨段,但是由于代码某处的问题, 反复执行而产生了溢出? |
|
|
板凳#
发布于:2005-03-06 17:51
与光标定位有关!?
|
|
地板#
发布于:2005-03-06 18:21
与光标定位有关!? 你的意思说他的进度条是字符模拟的? 但是在文本模式怎么可能花屏呢? btw:同志,你怎么这么多星呀?:) |
|
|
地下室#
发布于:2005-03-06 19:04
[quote]与光标定位有关!? 你的意思说他的进度条是字符模拟的? 但是在文本模式怎么可能花屏呢? btw:同志,你怎么这么多星呀?:) [/quote] 嘿嘿,,你们认识啊。。。。。。 :D |
|
|
5楼#
发布于:2005-03-06 19:25
我是在dos的图形模式下执行程序的,程序中也有汉字显示,采用ucdos汉字库,用到了直接写屏技术(putpixel函数),在55ms中断中用进度条表示程序执行进度,进度条比较简单,只是画图形而已。
程序执行过程中无需人工干预,有时会出现花屏,但运行正常,而有时,运行好多遍也不出现花屏,我现在好无助啊,请高手门帮我吧。 我用的是win98的dos |
|
6楼#
发布于:2005-03-06 23:44
我是在dos的图形模式下执行程序的,程序中也有汉字显示,采用ucdos汉字库,用到了直接写屏技术(putpixel函数),在55ms中断中用进度条表示程序执行进度,进度条比较简单,只是画图形而已。 我想问一下,你的putpixel是自己写的还是ucdos的?或者是用的库函数?ucdos的直接写屏功能比较强,但是相对库函数稳定性稍差。 从稳定性来说,我的经验:自己写的<ucdos<tc库函数。 对了,你的图形模式是什么?有个建议,如果一开始不熟悉分段,可以先使用mode x,也就是320x200x256,因为它在一个段内,不涉及分段。但是如果采用了buffer,我当时做的时候,也一不小心就花屏(见笑了)。 能不能说一下,你花屏的现象? |
|
|
7楼#
发布于:2005-03-06 23:45
[quote][quote]与光标定位有关!? 你的意思说他的进度条是字符模拟的? 但是在文本模式怎么可能花屏呢? btw:同志,你怎么这么多星呀?:) [/quote] 嘿嘿,,你们认识啊。。。。。。 :D [/quote] 相逢何必曾相识。。。。。。:) |
|
|
8楼#
发布于:2005-03-07 19:20
我用的标准是库函数putpixel,只是用到了ucdos的汉字库(hzk16)。我不太明白怎么分段,能讲讲吗?
我用的图形模式就是用initgraph自动检测显卡的,可能是640*480*16的,怎么用mode x 但是我得程序有时运行一天也不出现花屏,一点也不频繁 [编辑 - 3/7/05 by lwj625] |
|
9楼#
发布于:2005-03-07 19:23
花屏的现象:显示器出现竖条,其他正常,程序也正常运行
哪儿有讲解分段技术的?告知老弟吧 |
|
10楼#
发布于:2005-03-08 07:54
请问lwj625 seahawk能否留下信箱?
lsn061@163.net :P |
|
|
11楼#
发布于:2005-03-08 08:41
我用的标准是库函数putpixel,只是用到了ucdos的汉字库(hzk16)。我不太明白怎么分段,能讲讲吗? 如果用的是tc库函数,那并不是直接写屏,这样所谓分段的担忧都多余了:)所谓直接写屏就是显存被映射到内存空间a00000这个地址,你直接对a000000-affffff这段64k内存读写,其结果就会显示出来。由于映射的地址只有64k,所以除了320x200x256,别的模式使用的现存都大于64k,你就只好调用10号中断来换页了。 设置显示模式也是采用调用10号中断。 据你的情况看,好像和显示操作方面关系不大,我觉得应该从别的地方找毛病。ucdos也是一个不定因素,你能不能试试运行时不加载ucdos? |
|
|
12楼#
发布于:2005-03-08 08:43
请问lwj625 seahawk能否留下信箱? 希望能跟你们学习驱动开发的知识:) tianyn@yahoo.com |
|
|
13楼#
发布于:2005-03-08 16:03
我在dos中的55ms中断中执行进度条显示功能,进度条的执行时间不超过1ms。但是有时会出现花屏现象,请问这是怎么回事?本人急需哪位高手能解决。 请确定是花屏还是闪烁 |
|
|
14楼#
发布于:2005-03-08 18:33
我的信箱lwj625@etang.com
我的程序启动时没有加载ucdos,只是在程序中用到了hzk16文件.运行中出现的是花屏,好多竖条,而不是闪烁 |
|
15楼#
发布于:2005-03-09 09:53
[quote]与光标定位有关!? 你的意思说他的进度条是字符模拟的? 但是在文本模式怎么可能花屏呢? btw:同志,你怎么这么多星呀?:) [/quote] MY GOD....小辉网上的么? :P |
|
|