kevin919
驱动牛犊
驱动牛犊
  • 注册日期2002-10-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分110分
  • 威望11点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
阅读:1631回复:9

请教怎么平滑移动屏幕!

楼主#
更多 发布于:2002-10-29 13:08
以前在Dos下可以改变显示数据的起始位置寄存器来实现屏幕的平滑移动。
例如:
mov ax,12c
mov dx,3d4
out dx,ax
但在win2000下一直不行,请教高手怎么实现这功能啊?
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-29 13:24
你说的太不清楚,怎么回答???
你滑动什么?窗口里的还是全屏的??? :mad: :mad: :mad:
要想高性能,去玩弄一下DirectX吧。
你那20分放了吧,犒劳一下大家
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
kevin919
驱动牛犊
驱动牛犊
  • 注册日期2002-10-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分110分
  • 威望11点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-10-29 14:19
不好意思!我说的是全屏幕向左或者右移动,要求看不到闪烁!
如果直接移动显存里数据的话,速度太慢!
我想直接对显卡进行操作,控制显卡的起始地址寄存器,我在驱动中控制USB的B000等端口都可以,就是显卡的端口不起作用,但在Dos下是可以的!
如果我知道怎么做当然会放分了!
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
地板#
发布于:2002-10-29 14:46
现在都用2000了,怎么还编写dos的程序?用DirectX吧。
我想就算你能移动窗口,恐怕你也只是能移动那个dos窗口吧?
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-10-29 15:13
不好意思!我说的是全屏幕向左或者右移动,要求看不到闪烁!
如果直接移动显存里数据的话,速度太慢!
我想直接对显卡进行操作,控制显卡的起始地址寄存器,我在驱动中控制USB的B000等端口都可以,就是显卡的端口不起作用,但在Dos下是可以的!
如果我知道怎么做当然会放分了!

这种情况不用驱动,DirectX可以搞定
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-10-29 15:14
2000下,在DOS窗口里,可以写端口,但写了也没用
所以你最好用DirectX,要不就用纯DOS
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
deltali
驱动小牛
驱动小牛
  • 注册日期2002-10-25
  • 最后登录2010-07-06
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望23点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-10-29 16:59
你这个问题好像不是什么驱动方面的问题嘛?看你要求图像移动的速度啦,如果要求不是太高的话,用bitblt(),再加上去背景应该可以达到要求了。如果是要求很高的话,在windows下最好用DirectX。因为DirectX就是直接操作硬件,他的出现就是为了提供高效的图像显示,并不只是专门针对游戏开发的。
我又来了,生命不息,驱动不止。
kevin919
驱动牛犊
驱动牛犊
  • 注册日期2002-10-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分110分
  • 威望11点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-10-29 18:15
自己搞定了!是输入数据的问题!
把WRITE_PORT_USHORT(port,0x120c)
写成了WRITE_PORT_USHORT(port,0x12c)
所以没有反应,呵呵!
谢谢各位了!
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-10-29 18:53
自己搞定了!是输入数据的问题!
把WRITE_PORT_USHORT(port,0x120c)
写成了WRITE_PORT_USHORT(port,0x12c)
所以没有反应,呵呵!
谢谢各位了!

说句谢谢就完了??? :mad: :mad: :mad:
放分庆祝! :mad: :mad: :mad:
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
9楼#
发布于:2002-10-30 10:01
早知道多灌几贴了!
游客

返回顶部