相关疑难解决方法(0)

Qt 4/5和Opengl API之间的opengl速度差异

我已经阅读了关于qt 4和5 opengl的所有关于SO的问题.这是Qt 5中最接近的OpenGL vs QOpenGL/QtOpenGL:差异和局限?,我不知道为什么它被关闭,因为它是一个很好的问题.我看到它缺少的唯一方面是速度差异.

我也读过这个https://qt-project.org/forums/viewthread/22921 ,它有类似的问题,但是来回约4比5,主要讨论新功能.

我的问题是,使用QT5的内置方法比直接使用opengl API制作自定义小部件要快吗?如果我担心性能,那么使用QT是一个糟糕的选择

编辑:

更具体一点,我需要使用physx,tcp/ip通信,以及大量快速更新顶点和网格.目标是尽可能接近实时.像渲染这样的东西不是一个问题,但qt的任何开销都是有害的.(一切都是使用C++的3D)

c++ opengl qt qt4 qt5

17
推荐指数
1
解决办法
9473
查看次数

Windows上Qt中的无边框窗口,支持本机功能:aero snap,DWM调整大小和最小化

我正在尝试在Windows上的Qt中创建一个无边框窗口,它支持本机功能:aero snap,DWM调整大小和最小化,抖动等.例如Office 2013或Visual Studio 2012.但它们是用wpf编写的.在wpf和纯WinApi中有很多例子,但是我找不到任何Qt例子.

最近我发现了暴雪的Battle.net App(截图).他们正在使用QT 4.8.5,他们的主窗口在我的应用程序中看起来和行为完全符合我的要求.

有谁知道这是怎么做到的吗?

谢谢你的帮助.

c++ windows qt aero borderless

8
推荐指数
1
解决办法
3757
查看次数

Ncurses和Qt互操作性

拥有基于Qt和ncurses的应用程序,在等待用户输入的同时每秒刷新屏幕的最佳方法是什么?(例如,显示时钟并获取用户输入).

我需要CPU使用率和应用程序响应能力之间的最佳折衷.

更具体的问题是,如何获得用户输入仍然使用QTimer和信号槽机制?

使用下面的代码时,计时器不起作用.

nodelay(stdscr,true); while(1) { sleep(1); getch(); processInput(); }
Run Code Online (Sandbox Code Playgroud)

c++ qt ncurses qtcore

6
推荐指数
1
解决办法
3706
查看次数

在Qt5中绘制大量独立角色的最佳方法是什么?

我正在编写一个显示大量文本的应用程序.这不是单词和句子,它是在CP437字符集中显示的二进制数据.目前的形式:

我当前应用程序的截图

我在绘制这些角色时遇到了问题.我需要逐个绘制每个角色,因为后来我想应用不同的颜色.这些角色也应该具有透明背景,因为稍后我想在背景中绘制具有不同颜色的部分和范围(根据某些标准对这些角色进行分组).

该应用程序同时支持多个打开的文件,但是当打开多个文件时,快速i7上的绘图开始变得明显,因此可能写得很糟糕.

在Qt5中绘制此类数据的最佳方法是什么?我应该将字符预先渲染到位图并从那里开始,或者实际上可以通过使用普通的Qt函数绘制文本来绘制大量字符吗?

编辑:我正在使用一个正常的QFrame小部件,它paintEvent使用QPainter.这是一种错误的做法吗?我已经阅读了一些文档QGraphicsScene,我记得它最适用于窗口小部件需要对它绘制的对象进行一些控制的情况.我不需要任何控制我画的东西; 我只需要绘制它,就是这样.我画完之后,我不会引用任何特定的字符.

小部件有2000行,所以我不会粘贴整个代码,但目前我的绘图方法是这样的:

  • 首先,创建一个cache包含256个条目的table(),将迭代器计数器放到i变量中,
  • 对于每个条目,创建一个QStaticText对象,其中包含有关由i变量中的ASCII代码标识的字符的绘图信息,
  • 后来,在绘图功能,对于输入流(即,从文件)中的每个字节,绘制使用所述数据QStaticText从所述cache的表.因此,要绘制ASCII字符0x7A,我将从表中的QStaticText索引0x7acache查找,并将此QStaticText对象提供给QPainter对象.

我也尝试了一种不同的方法,在一次QPainter::drawText调用中渲染整行,实际上它更快,但我已经失去了用不同颜色着色每个角色的可能性.我想有这种可能性.

user-interface qt draw

3
推荐指数
1
解决办法
790
查看次数

标签 统计

qt ×4

c++ ×3

aero ×1

borderless ×1

draw ×1

ncurses ×1

opengl ×1

qt4 ×1

qt5 ×1

qtcore ×1

user-interface ×1

windows ×1