ijk123's Blog

Happy coding

windows azure的虚拟机配置

最近windows的Azure很火,我也凑了个热闹申请了一个来玩。

azure的功能挺多的,对我来说最感兴趣的是虚拟机功能。这个虚拟机功能说白了也就类似一台vps,不过这可是免费的哦,而且我试了一下访问的速度还是很给力的!

所以这篇文章主要就来说下azure的虚拟机怎么玩。(其实Windows Azure官方是有中文教程的,只不过配图都是英文界面的,所以这里我也写一篇,官方教程见这里)

好了,开始吧。

1. 选择左边的虚拟机,再点击下面的“新建”:




2. 在弹出的界面中依次选择“虚拟机”,“从库中”:

3. 在这里选择想要安装的系统映像,我这里选的是centos,大家可以看自己喜欢,有windows的,也有ubuntu的,点击下一步的箭头:

4. 这页里的配置比较重要,1的位置填的是自己的虚拟机的名字,这样可以随便写个,2的位置是你要建的用户的名字,这个名字一定要记住,因为在建完虚拟机后,貌似没有地方可以看到这个名字... 3的位置可以有两个选择,一个是手工设定密码,另外也提供上传ssh的密钥,总之都是用来在后面ssh登录时用的,我这里是设定的手工密码:

5.这一页可以直接点击下一步,

6.最后一步,直接点击对勾,这就完事了!

经过一小段时间的等待,你就会看到你的虚拟机运行起来了!

这个时候,你已经拥有一台免费的纯净的centos的vps了!

 

vps有了,怎么登录上去呢?注意看第5步的图中最下面,这里已经为我们把ssh的端口打开了,这时可以用上图中最右侧的那个链接地址作为ip来登录自己的机器了。

登录进来了,有木有。

 

一般vps上都会架上WP之类的供外网访问,这时需要在虚拟机的“端点”选项页里添加上tcp的端口就可以了,这一步比较简单就不上图了。

反复创建osgViewer,消息响应延迟的问题

之前出现过在ActiveX控件里,反复刷新IE的情况下,有的osg控件可以正常的工作,而有的则会出现再次刷新后,控件不再响应鼠标和键盘事件的问题。
因为把IE关掉再重新打开的话,这个问题就没有了,所以一直以为是IE的问题,一直没有管。
 
这两天在写一个程序原型的时候,需要在Qt的程序里,反复的创建并切换Viewer,这时问题又出现了:
第一个创建出来的Viewer工作正常,当销毁这个再创建出另一个后,就出现鼠标和键盘事件响应延迟的问题,延迟的时间很长,大概5秒以上。
 
翻出来之前网上下的osg例子程序,也改成多次创建viewer,结果跑起来却没有问题!
怪了,肯定是自己哪里删代码的时候改坏了,于是经过一个下午的代码对比后,发现了问题所在。
 
osgViewer::ViewBase::realize()
 
对,就是这个函数,对比后发现我的代码里没有这个函数的调用,加上后,一切正常了。
 
不过值得注意的是,我把例子里的realize()删掉后,它仍然能正常工作。我去翻了下这个函数的代码,发现确实是做了很多工作,不过在frame()函数里是有检查isRealized()的,如果没有实例化过的话,frame()函数是会调用realize()进行一次实例化的。
 
由于我自己的代码暂时没有debug的库,编一个出来估计要差不多一个小时,所以暂时偷个懒在这里记录一下,以后有时间的话还是要再过一次osg的框架代码的。