易码技术论坛

 找回密码
 加入易码
搜索
查看: 290630|回复: 9

雪花的问题已经找到答案,yan请进来看一下

[复制链接]
发表于 2007-6-16 19:18:20 | 显示全部楼层
什么情况下?
截图看看?
发表于 2007-6-16 19:19:42 | 显示全部楼层
怎么截
PC上肯定截不出效果

拿个DC照张像?
发表于 2007-6-16 19:52:26 | 显示全部楼层
屏幕上有时会有类似云一样的东西~~~(不好形容)
l z 是不是用NC3K?
我的NC3K是有这种情况
估计是在 CheckKey()循环响应时会有
getchar()循环响应时不会有。
前者时实时响应。后者有中断。所以前者的CPU工作量大很多!
也就时为什么有些游戏费电,有些游戏不时很费电。
发表于 2007-6-16 20:05:31 | 显示全部楼层
编译器不使用getchar而使用Inkey或CheckKey,防止不小心按热键退出。
发表于 2007-6-16 20:08:35 | 显示全部楼层
引用第4楼yan2007-06-16 20:05发表的“”:
编译器不使用getchar而使用Inkey或CheckKey,防止不小心按热键退出。
对!getchar 就和 GVB的 INKEY$时一样的
而CheckKey 相当与读取 peek(199) 循环。
 楼主| 发表于 2007-6-17 06:38:41 | 显示全部楼层
我的确实是NC3K……
谢谢各位!我验证了一下,估计就是CheckKey的问题。但同时应该也是采用CheckKey的编程者就不存在这个问题(按热键不会退出就是用了CheckKey吧,而且也是闪烁光标)。瞎猜了一下:要不就是那跟竖线的原因(不大可能吧),还是含CheckKey的循环调用了什么函数(这个更没根据),又或者是在含CheckKey的循环中有ClearScreen和Refresh的操作(这个还值得信服一点,我研究了一下最新版编译器的演示程序,发现在移动的方块部分在方块移动期间有明显的两条横线,有NC3K的朋友可以验证。而我写的用GetBlock和WriteBlock保存恢复方块移动区下方图片的程序就不存在这个问题)?
发表于 2007-6-17 20:16:55 | 显示全部楼层
如果用汇编,每次赋给a不同的值,再去JSR $e024的话,重复的做,就会出现这个问题。最严重时可以达到整个屏幕显示错乱,模糊不清的效果。
估计是硬件线路设计得不好,信号干扰了。
 楼主| 发表于 2007-6-18 06:34:39 | 显示全部楼层
经过N次的修改编译测试,终于找到雪花元凶。可以肯定yan的编译器在编辑器按键循环中一定用到了一个较小的延迟值。不过Lumj的编程者又是怎么控制延迟使不产生雪花的呢?
发表于 2007-6-18 07:49:34 | 显示全部楼层
引用第4楼yan2007-06-16 20:05发表的“”:
编译器不使用getchar而使用Inkey或CheckKey,防止不小心按热键退出。
只对除TC800外的老机型适用的说
 楼主| 发表于 2007-6-16 17:35:33 | 显示全部楼层 |阅读模式
其实很久以前就发现这个问题了,经常是在玩一些Lava游戏的时候,屏幕空白部分会有黑色雪花闪动,但是作为编译器中编辑器部分也存在类似现象,但是EWayWriter,编程者都没有这个问题呀。似乎涉及到某种循环之类的技术性问题吧,有知情者请帮忙解答一下,我已经困惑很久了

  以下内容是重新编辑过的:

  昨天做了一系列试验,终于确定了雪花元凶!!过程如下:
   首先怀疑是频繁的ClearScreen和Refresh导致信号干扰产生雪花,于是在while(!Check(27))循环下不停ClearScreen,Block,Refresh.结果编译出的程序没有问题;加上按键判断,使方块动起来,也没有问题;最后怀疑到那个Delay(10)上来了(yan的编译器里演示程序就用到了Delay(10)),Refresh后加上Delay(10),两条明显的线状干扰出现了……然后每次从循环里去掉ClearScreen,Block,最后干脆循环体内只有一个Delay(10),每次都有干扰。

   结论出来了,循环中用到Delay(10),就会产生干扰,进而继续修改参数,发现延迟值越小干扰越严重,延迟值在100以上,需仔细看才能发现,再大就看不出来了。
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2025-7-5 16:05 , Processed in 0.010862 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表