设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3632|回复: 5
打印 上一主题 下一主题

[已经解决] 求解VX在win7下启动过于慢的问题

 关闭 [复制链接]

Lv2.观梦者 (管理员)

八云紫的式神

梦石
0
星屑
549
在线时间
1243 小时
注册时间
2008-1-1
帖子
4282

烫烫烫

跳转到指定楼层
1
发表于 2011-5-6 20:35:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
2星屑
在新装的win7(x86sp1旗舰)上,发现VX游戏居然会在一开始的黑屏卡25秒才能进入...于是如此忍受不能的时间问下谁解决过= =求分享

电脑不是顶级但是也不烂起码win7运行流畅,驱动似乎没啥问题(在RMVX以外暂时没发现异常,当然如果有可能的需要检查的东西也可以说下)

同一台电脑vista下<10s , 配置差不多的win7也<10s

最佳答案

查看完整内容

http://rpg.blue/forum.php?mod=viewthread&tid=163107 DirectShow 和 DirectMusic 皆是建立在 DirectSound 之上,辅车相依,唇亡齿寒。 调试的时候可以把 Audio.bgm_play 注释掉。也可以试试新建一个 OS 线程来做音频的初始化(这个应该还没人做过)。
rm for linux(wine)制作中,期待夏娜SAMA能实现到webrm上

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
2
发表于 2011-5-6 20:35:59 | 只看该作者
http://rpg.blue/forum.php?mod=viewthread&tid=163107

DirectShow 和 DirectMusic 皆是建立在 DirectSound 之上,辅车相依,唇亡齿寒。
调试的时候可以把 Audio.bgm_play 注释掉。也可以试试新建一个 OS 线程来做音频的初始化(这个应该还没人做过)。
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

3
发表于 2011-5-6 21:35:29 | 只看该作者
没错  Vista之后 除了openAL,其它音频库在W7下都失去硬件加速能力,DSound挂了。不过怎么确定是DSound的原因啊。
很多游戏目前都用DSound吧,我是W7 X64,运行RMXP正常,其他游戏正常,就VX出奇的慢,比进入使命召唤界面都慢。
我自己写的DSound或者相关游戏,也没出现这个情况。
一个OS线程、、有画面没音乐而且在其初始化完成之前,任何访问音频的函数必须信号堵塞。不是很坎坷。。

点评

- = VX的音频库做了什么吗。。。  发表于 2011-5-6 21:39
通过音乐测试已经确认  发表于 2011-5-6 21:36
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
4
发表于 2011-5-7 08:19:02 | 只看该作者
link006007 发表于 2011-5-6 21:35
没错  Vista之后 除了openAL,其它音频库在W7下都失去硬件加速能力,DSound挂了。不过怎么确定是DSound的原 ...

我的环境下 RMXP 也有这个问题,第一次 Audio.bgm_play 调用前后分别加上一句调试输出语句,中间阻塞了数十秒。这个大概是和环境有关,开发的时候在本机测试没问题不代表部署到玩家的系统下也没问题。

除了openAL,其它音频库在W7下都失去硬件加速能力

Creative 有一个叫 ALchemy 的项目将 DirectSound 的 API 调用拦截并翻译为 OpenAL 的调用,Realtek 和 C-Media 应该也各自有类似的救急方案,亡羊补牢。在 DirectSound 声卡普及了之后弄个 UAA 出来,不知道微软做市场决策的人怎么想的,可能是想让把焦点转换到 XAudio2?

一个OS线程、、有画面没音乐而且在其初始化完成之前,任何访问音频的函数必须信号堵塞。不是很坎坷。。

是啊,最好还是换个接口。
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

5
发表于 2011-5-7 17:52:29 | 只看该作者
这个大概是和环境有关

恩啊,这个很有可能。但是我觉得还是VX自身存在问题。都是调用DSound,就这小子不给力。
在 DirectSound 声卡普及了之后弄个 UAA 出来,不知道微软做市场决策的人怎么想的,可能是想让把焦点转换到 XAudio2?

哈哈,有可能。不过通用音频架构(UAA)自然有道理。在W7下很多的API都是类似的,这样可以保持各个API作用在不同架构上都具有良好的表现能力和稳定性。
像以前的MM API和DSound在XP上就差别很大。MM在很多机器上打开多次设备句柄,就会造成声音播放不能或者设备的抢占。DSound这一方面表现就好很多。然后再Win7下,MM,WAS,DSound表情就很一致了。
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
6
发表于 2011-5-7 21:57:47 | 只看该作者
回复 link006007 的帖子
都是调用DSound,就这小子不给力。

RM 应该没有直接调用 DirectSound,它处理 MIDI 用的是 DirectMusic(我的 RMXP 的问题也仅仅出现在播放 MIDI 时),其余则用 DirectShow,所以问题也可能出在高层。

不过通用音频架构(UAA)自然有道理。在W7下很多的API都是类似的,这样可以保持各个API作用在不同架构上都具有良好的表现能力和稳定性。

也是,提供一个标准化的接口后就不用各厂商自行提供内核模式的驱动程序,也就减少了导致稳定性下降的问题。
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-29 06:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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