mirror of
https://github.com/overte-org/overte.git
synced 2025-04-14 07:47:30 +02:00
Include config.h in ResourceImageItem.cpp. Minor fixes
This commit is contained in:
parent
78f2a8c566
commit
ef8ba1cad0
3 changed files with 399 additions and 3 deletions
|
@ -438,8 +438,8 @@ task extractGvrBinaries(dependsOn: extractDependencies) {
|
||||||
task qtBundle {
|
task qtBundle {
|
||||||
doLast {
|
doLast {
|
||||||
parseQtDependencies(QT5_DEPS)
|
parseQtDependencies(QT5_DEPS)
|
||||||
//def qmlImportFolder = new File("${appDir}/../../interface/resources/qml/")
|
def qmlImportFolder = new File("${appDir}/../../interface/resources/qml/")
|
||||||
def qmlImportFolder = new File("${projectDir}/app/src/main/cpp")
|
//def qmlImportFolder = new File("${projectDir}/app/src/main/cpp")
|
||||||
scanQmlImports(qmlImportFolder)
|
scanQmlImports(qmlImportFolder)
|
||||||
generateLibsXml()
|
generateLibsXml()
|
||||||
}
|
}
|
||||||
|
|
394
interface/resources/qml/+android/Stats.qml
Normal file
394
interface/resources/qml/+android/Stats.qml
Normal file
|
@ -0,0 +1,394 @@
|
||||||
|
import Hifi 1.0 as Hifi
|
||||||
|
import QtQuick 2.3
|
||||||
|
import '.'
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: stats
|
||||||
|
|
||||||
|
anchors.leftMargin: 300
|
||||||
|
objectName: "StatsItem"
|
||||||
|
property int modality: Qt.NonModal
|
||||||
|
implicitHeight: row.height
|
||||||
|
implicitWidth: row.width
|
||||||
|
|
||||||
|
Component.onCompleted: {
|
||||||
|
stats.parentChanged.connect(fill);
|
||||||
|
fill();
|
||||||
|
}
|
||||||
|
Component.onDestruction: {
|
||||||
|
stats.parentChanged.disconnect(fill);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fill() {
|
||||||
|
// This will cause a warning at shutdown, need to find another way to remove
|
||||||
|
// the warning other than filling the anchors to the parent
|
||||||
|
anchors.horizontalCenter = parent.horizontalCenter
|
||||||
|
}
|
||||||
|
|
||||||
|
Hifi.Stats {
|
||||||
|
id: root
|
||||||
|
objectName: "Stats"
|
||||||
|
implicitHeight: row.height
|
||||||
|
implicitWidth: row.width
|
||||||
|
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
readonly property string bgColor: "#AA111111"
|
||||||
|
|
||||||
|
Row {
|
||||||
|
id: row
|
||||||
|
spacing: 8
|
||||||
|
Rectangle {
|
||||||
|
width: generalCol.width + 8;
|
||||||
|
height: generalCol.height + 8;
|
||||||
|
color: root.bgColor;
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: { root.expanded = !root.expanded; }
|
||||||
|
hoverEnabled: true
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
id: generalCol
|
||||||
|
spacing: 4; x: 4; y: 4;
|
||||||
|
StatText {
|
||||||
|
text: "Servers: " + root.serverCount
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Avatars: " + root.avatarCount
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Game Rate: " + root.gameLoopRate
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded
|
||||||
|
text: root.gameUpdateStats
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Render Rate: " + root.renderrate.toFixed(2);
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Present Rate: " + root.presentrate.toFixed(2);
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded
|
||||||
|
text: " Present New Rate: " + root.presentnewrate.toFixed(2);
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded
|
||||||
|
text: " Present Drop Rate: " + root.presentdroprate.toFixed(2);
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Stutter Rate: " + root.stutterrate.toFixed(3);
|
||||||
|
visible: root.stutterrate != -1;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Missed Frame Count: " + root.appdropped;
|
||||||
|
visible: root.appdropped > 0;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Long Render Count: " + root.longrenders;
|
||||||
|
visible: root.longrenders > 0;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Long Submit Count: " + root.longsubmits;
|
||||||
|
visible: root.longsubmits > 0;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Long Frame Count: " + root.longframes;
|
||||||
|
visible: root.longframes > 0;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Packets In/Out: " + root.packetInCount + "/" + root.packetOutCount
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Mbps In/Out: " + root.mbpsIn.toFixed(2) + "/" + root.mbpsOut.toFixed(2)
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded
|
||||||
|
text: "Asset Mbps In/Out: " + root.assetMbpsIn.toFixed(2) + "/" + root.assetMbpsOut.toFixed(2)
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded
|
||||||
|
text: "Avatars Updated: " + root.updatedAvatarCount
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded
|
||||||
|
text: "Avatars NOT Updated: " + root.notUpdatedAvatarCount
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
width: pingCol.width + 8
|
||||||
|
height: pingCol.height + 8
|
||||||
|
color: root.bgColor;
|
||||||
|
visible: root.audioPing != -2
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: { root.expanded = !root.expanded; }
|
||||||
|
hoverEnabled: true
|
||||||
|
}
|
||||||
|
Column {
|
||||||
|
id: pingCol
|
||||||
|
spacing: 4; x: 4; y: 4;
|
||||||
|
StatText {
|
||||||
|
text: "Audio ping/loss: " + root.audioPing + "/" + root.audioPacketLoss + "%"
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Avatar ping: " + root.avatarPing
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Entities avg ping: " + root.entitiesPing
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Asset ping: " + root.assetPing
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: "Messages max ping: " + root.messagePing
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
width: geoCol.width + 8
|
||||||
|
height: geoCol.height + 8
|
||||||
|
color: root.bgColor;
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: { root.expanded = !root.expanded; }
|
||||||
|
hoverEnabled: true
|
||||||
|
}
|
||||||
|
Column {
|
||||||
|
id: geoCol
|
||||||
|
spacing: 4; x: 4; y: 4;
|
||||||
|
StatText {
|
||||||
|
text: "Position: " + root.position.x.toFixed(1) + ", " +
|
||||||
|
root.position.y.toFixed(1) + ", " + root.position.z.toFixed(1)
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Speed: " + root.speed.toFixed(1)
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Yaw: " + root.yaw.toFixed(1)
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: "Avatar Mixer In: " + root.avatarMixerInKbps + " kbps, " +
|
||||||
|
root.avatarMixerInPps + "pps";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: "Avatar Mixer Out: " + root.avatarMixerOutKbps + " kbps, " +
|
||||||
|
root.avatarMixerOutPps + "pps, " +
|
||||||
|
root.myAvatarSendRate.toFixed(2) + "hz";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: "Audio Mixer In: " + root.audioMixerInKbps + " kbps, " +
|
||||||
|
root.audioMixerInPps + "pps";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: "Audio In Audio: " + root.audioAudioInboundPPS + " pps, " +
|
||||||
|
"Silent: " + root.audioSilentInboundPPS + " pps";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: "Audio Mixer Out: " + root.audioMixerOutKbps + " kbps, " +
|
||||||
|
root.audioMixerOutPps + "pps";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: "Audio Out Mic: " + root.audioOutboundPPS + " pps, " +
|
||||||
|
"Silent: " + root.audioSilentOutboundPPS + " pps";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: "Audio Codec: " + root.audioCodec + " Noise Gate: " +
|
||||||
|
root.audioNoiseGate;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: "Entity Servers In: " + root.entityPacketsInKbps + " kbps";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: "Downloads: " + root.downloads + "/" + root.downloadLimit +
|
||||||
|
", Pending: " + root.downloadsPending;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: "Processing: " + root.processing +
|
||||||
|
", Pending: " + root.processingPending;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded && root.downloadUrls.length > 0;
|
||||||
|
text: "Download URLs:"
|
||||||
|
}
|
||||||
|
ListView {
|
||||||
|
width: geoCol.width
|
||||||
|
height: root.downloadUrls.length * 15
|
||||||
|
|
||||||
|
visible: root.expanded && root.downloadUrls.length > 0;
|
||||||
|
|
||||||
|
model: root.downloadUrls
|
||||||
|
delegate: StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: modelData.length > 30
|
||||||
|
? modelData.substring(0, 5) + "..." + modelData.substring(modelData.length - 22)
|
||||||
|
: modelData
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Rectangle {
|
||||||
|
width: octreeCol.width + 8
|
||||||
|
height: octreeCol.height + 8
|
||||||
|
color: root.bgColor;
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: { root.expanded = !root.expanded; }
|
||||||
|
hoverEnabled: true
|
||||||
|
}
|
||||||
|
Column {
|
||||||
|
id: octreeCol
|
||||||
|
spacing: 4; x: 4; y: 4;
|
||||||
|
StatText {
|
||||||
|
text: "Engine: " + root.engineFrameTime.toFixed(1) + " ms"
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Batch: " + root.batchFrameTime.toFixed(1) + " ms"
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "GPU: " + root.gpuFrameTime.toFixed(1) + " ms"
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "Triangles: " + root.triangles +
|
||||||
|
" / Material Switches: " + root.materialSwitches
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "GPU Free Memory: " + root.gpuFreeMemory + " MB";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "GPU Textures: ";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: " Count: " + root.gpuTextures;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: " Pressure State: " + root.gpuTextureMemoryPressureState;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: " Resource Allocated / Populated / Pending: ";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: " " + root.gpuTextureResourceMemory + " / " + root.gpuTextureResourcePopulatedMemory + " / " + root.texturePendingTransfers + " MB";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: " Resident Memory: " + root.gpuTextureResidentMemory + " MB";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: " Framebuffer Memory: " + root.gpuTextureFramebufferMemory + " MB";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: " External Memory: " + root.gpuTextureExternalMemory + " MB";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "GPU Buffers: "
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: " Count: " + root.gpuBuffers;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: " Memory: " + root.gpuBufferMemory + " MB";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "GL Swapchain Memory: " + root.glContextSwapchainMemory + " MB";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
text: "QML Texture Memory: " + root.qmlTextureMemory + " MB";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: "Items rendered / considered: " +
|
||||||
|
root.itemRendered + " / " + root.itemConsidered;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: " out of view: " + root.itemOutOfView +
|
||||||
|
" too small: " + root.itemTooSmall;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: "Shadows rendered / considered: " +
|
||||||
|
root.shadowRendered + " / " + root.shadowConsidered;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded;
|
||||||
|
text: " out of view: " + root.shadowOutOfView +
|
||||||
|
" too small: " + root.shadowTooSmall;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: !root.expanded
|
||||||
|
text: "Octree Elements Server: " + root.serverElements +
|
||||||
|
" Local: " + root.localElements;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded
|
||||||
|
text: "Octree Sending Mode: " + root.sendingMode;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded
|
||||||
|
text: "Octree Packets to Process: " + root.packetStats;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded
|
||||||
|
text: "Octree Elements - ";
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded
|
||||||
|
text: "\tServer: " + root.serverElements +
|
||||||
|
" Internal: " + root.serverInternal +
|
||||||
|
" Leaves: " + root.serverLeaves;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded
|
||||||
|
text: "\tLocal: " + root.localElements +
|
||||||
|
" Internal: " + root.localInternal +
|
||||||
|
" Leaves: " + root.localLeaves;
|
||||||
|
}
|
||||||
|
StatText {
|
||||||
|
visible: root.expanded
|
||||||
|
text: "LOD: " + root.lodStatus;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
y: 250
|
||||||
|
visible: root.timingExpanded
|
||||||
|
width: perfText.width + 8
|
||||||
|
height: perfText.height + 8
|
||||||
|
color: root.bgColor;
|
||||||
|
StatText {
|
||||||
|
x: 4; y: 4
|
||||||
|
id: perfText
|
||||||
|
font.family: root.monospaceFont
|
||||||
|
text: "------------------------------------------ Function " +
|
||||||
|
"--------------------------------------- --msecs- -calls--\n" +
|
||||||
|
root.timingStats;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
target: root.parent
|
||||||
|
onWidthChanged: {
|
||||||
|
root.x = root.parent.width - root.width;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -16,7 +16,9 @@
|
||||||
#include <QOpenGLContext>
|
#include <QOpenGLContext>
|
||||||
|
|
||||||
#include <plugins/DisplayPlugin.h>
|
#include <plugins/DisplayPlugin.h>
|
||||||
|
#ifdef Q_OS_ANDROID
|
||||||
|
#include <gl/Config.h>
|
||||||
|
#endif
|
||||||
ResourceImageItem::ResourceImageItem() : QQuickFramebufferObject() {
|
ResourceImageItem::ResourceImageItem() : QQuickFramebufferObject() {
|
||||||
auto textureCache = DependencyManager::get<TextureCache>();
|
auto textureCache = DependencyManager::get<TextureCache>();
|
||||||
connect(textureCache.data(), SIGNAL(spectatorCameraFramebufferReset()), this, SLOT(update()));
|
connect(textureCache.data(), SIGNAL(spectatorCameraFramebufferReset()), this, SLOT(update()));
|
||||||
|
|
Loading…
Reference in a new issue