XNA与MDX,无人知晓的路线图

XNA与MDX,无人知晓的路线图

XNA的下一版本已经预期在4月发布,而对.NET上DX的前途仍是疑云重重。随着MDX1.1的冻结,人们期望的MDX2/.NET 2.0到MDX10/D3D10的路线图已随着MDX2项目的取消而湮灭。显然,微软不希望MDX抢了XNA计划的风头,而XNA计划的重头戏就是XBox360。MDX2被重新定位,改造成了XNA Framework,目标锁死XBox开发。这样,刹那间,刚刚兴起的.NET/DX开发出现大片真空地带,开发人员面临着要么转到XNA、要么回到C++、要么继续使用不再更新的MDX1.1的困境。

XNA是个设计得非常干净利索的API,它的好处就不用我多说了,C#上开发游戏的首选。但是XNA的一个目标是跨XBox和Windows平台并要达到99%的代码兼容,这使得它在很多地方受限于XBox。最重要的是它不能去支持D3D10,因为XBox360是DX9级的硬件。这些限制使得Windows平台游戏和3D程序的开发受到牵连。而对游戏制作工具和非游戏类3D应用来讲,XNA太过于针对游戏开发了。大量的D3DX辅助功能都被排除在外,而且用DirectSound、DirectInput、DirectShow的话还必须使用MDX1.1。官方的解释是,现阶段的重点是“简化业余人士基于爱好的开发”。

尽管这些做法不能让大家都满意,但确实实现了微软的Vision。这个Vision就是:当今游戏变得越来越复杂,开发成本越来越大,已经达到制作电影的规模,降低开发成本、提高开发速度成为一个迫切的需求。游戏引擎的开发要求很高,人力时间成本也最高,所以将可以预处理的部分转移到开发成本和质量要求较低的制作工具上,可以精简引擎节约成本。这很正确,但这也意味着它假定游戏工具都是内部使用的,同时也完全忽视了非游戏类3D应用。

D3D10则向着更专业的方向前进。不再有D3D9里的简化的初始化过程,接口更贴近硬件的管线模型。特别的一点是,它不再基于COM,而只是单纯的接口。当然对大多数开发人员来讲,D3D10目前不是问题,毕竟它只能在Vista和DX10级显卡上存在。但随着时间推进,它会越来越成问题。

尽管不断有人追问,微软没有透漏一点官方消息。不过从行动上,它的意图却很明显,XNA Framework!在XBox360和PS3的市场争夺战中,XNA Framework是支援XBox的重要力量。将开发人员拉入XBox阵营,利用大众的创造力建立群众基础,经济学术语叫Creative Commons。如果MDX2存在的话,它必然会抢走绝大多数Windows平台的开发人员。而对专业游戏开发来说,绝大多数引擎是基于C++的,.NET的API对他们并不很重要,所以MDX10可以暂缓。一旦XNA现阶段目标完成,他们便可以做一个Windows平台专用的扩展,或者和下一代的基于D3D11的XBox一起推出。但这就变成了一个等待的游戏,也许是一年,也许是五年。另一方面,MDX10似乎和XNA没有多大冲突,毕竟D3D10只能在Vista上使用,和MDX2、XNA的用户群的交集较小。DX10开发组流露了一些制作MDX10的想法,但似乎还是有些犹豫。这样的情况让人很困窘,以致有人威胁说要转到OpenGL。

不管怎么说,开发人员应该已经习惯了DX的跳跃式前进,各个版本都是不兼容的。在引擎设计上隔离好底层API和引擎逻辑,以便日后移植,所谓有备无患。
 
### 关于ArcGIS License Server无法启动的解决方案 当遇到ArcGIS License Server无法启动的情况,可以从以下几个方面排查并解决问题: #### 1. **检查网络配置** 确保License Server所在的计算机能够被其他客户端正常访问。如果是在局域网环境中部署了ArcGIS Server Local,则需要确认该环境下的网络设置是否允许远程连接AO组件[^1]。 #### 2. **验证服务状态** 检查ArcGIS Server Object Manager (SOM) 的运行情况。通常情况下,在Host SOM机器上需将此服务更改为由本地系统账户登录,并重启相关服务来恢复其正常工作流程[^2]。 #### 3. **审查日志文件** 查看ArcGIS License Manager的日志记录,寻找任何可能指示错误原因的信息。这些日志可以帮助识别具体是什么阻止了许可服务器的成功初始化。 #### 4. **权限问题** 确认用于启动ArcGIS License Server的服务账号具有足够的权限执行所需操作。这包括但不限于读取/写入特定目录的权利以及与其他必要进程通信的能力。 #### 5. **软件版本兼容性** 保证所使用的ArcGIS产品及其依赖项之间存在良好的版本匹配度。不一致可能会导致意外行为完全失败激活license server的功能。 #### 示例代码片段:修改服务登录身份 以下是更改Windows服务登录凭据的一个简单PowerShell脚本例子: ```powershell $serviceName = "ArcGISServerObjectManager" $newUsername = ".\LocalSystemUser" # 替换为实际用户名 $newPassword = ConvertTo-SecureString "" -AsPlainText -Force Set-Service -Name $serviceName -StartupType Automatic New-ServiceCredential -ServiceName $serviceName -Account $newUsername -Password $newPassword Restart-Service -Name $serviceName ``` 上述脚本仅作为示范用途,请依据实际情况调整参数值后再实施。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值