最近在做
IDirect3D9Device接口中有一个Setviewport方法,可以设置显示的区域,
不知道这个问题能不能解决1920*1080屏幕分辨率下渲染出现花屏的问题
(经过分析发现花屏其实不是渲染的问题,只是解码的时候出现错误,所以解码是很重要的)。
说明其实渲染实时流很简单:
①:首先创建一个后台缓存区;一个前台缓存区;
注明:后台缓存区内存;前台缓存区是保存在显存中的
②:将要渲染的数据填充到后台缓存区;注意在填充数据之前要进行lock操作,
填充结束后记得unlock解锁
③:前台缓存和后台缓存之间进行交换,也就是交换链之间进行交换;这边其实只是交换指针,有点是速度快
例如可以通过这个函数StrechRect
④:最后调用Present函数,将前台缓存数据拷贝到显示器进行渲染。
有了上述步骤之后就是一系列的循环了,②-④之间进行不断的循环就可以实现实时流的预览了