Open xwal opened 10 years ago
你原来代码用了离屏渲染?用目前我这个玩同一个Flash游戏是否也有卡顿呢?
用官方的卡顿的情况很少,用你的这个卡顿的现象比较多,特别是全屏的时候,现象很明显。
和官方比,区别有:
cefclient\cefclient.cpp
把SUB_PROCESS_DISABLED
启用来禁止。cefclient\qcefwebview.cpp
20行info.SetAsChild(this->winId(), rect);
。cefclient\cefclient.cpp
17行settings.multi_threaded_message_loop = true;
。不清楚是不是第2点造成的影响?其他应该不会有什么影响才对。
你另外看看QCefWebView在全屏下运行那个Flash游戏时,其resizeEvent是不是频繁触发了?
卡顿哦,是感觉UI阻塞了一下的那种卡顿?另外,你指的我这个卡顿较多,是添加了CefPostDelayedTask(TID_UI, NewCefRunnableMethod...
代码的么?
哦,你那段代码是指官方例子里的啊,那个没影响的。它是离屏渲染的相关代码,默认跑官方例子时走的也不是离屏。而我这边把离屏渲染的代码都去除掉了。
离屏渲染,我在做一些浏览器测试时,运行效果比较差。除非,你专门要渲染网页获得其输出内容,生成图片啊什么的。否则,就不要用了。
然后,卡顿的话,不清楚了。你还是先确认下:全屏跑那个flash游戏时,是不是总在做resize。
嗯嗯,现在确认的情况是resize是正常的,在全屏下没有总在resize,只有当窗口大小变化的时候才resize。卡顿感觉是UI阻塞了下。
webview_->load(QUrl("")) ;这个线load一个没flash的地址,然后再load一个带有flash的地址,flash就很快;如果直接载入带flash的就很卡
后来又测了下1650版本是正常的,17和18的版本有上述问题
当我在玩Flash游戏时,界面总是有种顿卡的感觉,我在原来的代码中找到了关于fps的代码,我想请问下是不是和这个有关呢。
// Render at 30fps. static const int kRenderDelay = 1000 / 30; CefPostDelayedTask(TID_UI, NewCefRunnableMethod(this, &OSRWindow::Render), kRenderDelay);