首页| 论坛| 消息
主题:Direct3D导致QWebView使用百度地图出现怪异问题
yyzq发表于 2018-05-17 17:54
开发环境:VS2012 + qt-opensource-windows-x86-msvc2012_opengl-5.4.0.exe + qt-vs-addin-1.2.5.exe
问题描述:使用QWebView基于百度地图的相关功能,在没有使用Direct3D之前功能一些正常,但是现在软件内另一个模块需要使用Direct3D渲染视频通话,结果地图这块就出问题了,加载异常缓慢,而且拖放等效果也慢的基本没法用,Direct3D我也不熟,照猫画虎,现在实在搞不清楚是什么问题,不知道有没有遇见过的给个指导。。。

这是初始化Direct3D的代码
IDirect3D9 *_d3d = Direct3DCreate9(D3D_SDK_VERSION);
if (_d3d == NULL)
{
return ;
}
D3DCAPS9 caps;
_d3d->GetDeviceCaps(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, &caps);
int vp = 0;
if (caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT)
{
vp = D3DCREATE_HARDWARE_VERTEXPROCESSING;
}
else
{
vp = D3DCREATE_SOFTWARE_VERTEXPROCESSING;
}
D3DPRESENT_PARAMETERS d3dpp;//D3DPRESENT_PARAMETERS设置,设置IDirect3DDevice的特性
::ZeroMemory(&d3dpp, sizeof(D3DPRESENT_PARAMETERS));
d3dpp.BackBufferWidth = 1920;
d3dpp.BackBufferHeight = 1080;
d3dpp.BackBufferFormat = D3DFMT_A8R8G8B8;
d3dpp.BackBufferCount = 1;
d3dpp.MultiSampleType = D3DMULTISAMPLE_NONE;
d3dpp.MultiSampleQuality = 0;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.hDeviceWindow = (HWND)AppHelper.mainWindow()->winId();
d3dpp.Windowed = TRUE;
d3dpp.EnableAutoDepthStencil = true;
d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8;
d3dpp.Flags = 0;
d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
IDirect3DDevice9* d3d_device;
if (_d3d->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, (HWND)AppHelper.mainWindow()->winId(), vp, &d3dpp, &d3d_device) != D3D_OK)
{
int i = 0;
return ;
}
回帖(2):
2楼:weinkym:5.7.1遇到过,跟webengine冲突了(2018-06-05 14:21)
请问你们最后是如何解决的,我 ..
1楼:5.7.1遇到过,跟webengine冲突了

全部回帖(2)»
最新回帖
收藏本帖
发新帖