mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 04:44:11 +02:00
Merge branch 'master' of github.com:highfidelity/hifi into shadowControlsOffZvork
This commit is contained in:
commit
d72f46ec3e
10 changed files with 29 additions and 52 deletions
|
@ -257,11 +257,7 @@ Item {
|
|||
id: octreeCol
|
||||
spacing: 4; x: 4; y: 4;
|
||||
StatText {
|
||||
text: "Render Engine: " + root.engineFrameTime.toFixed(1) + " ms"
|
||||
}
|
||||
StatText {
|
||||
visible: root.expanded
|
||||
text: root.renderEngineStats
|
||||
text: "Engine: " + root.engineFrameTime.toFixed(1) + " ms"
|
||||
}
|
||||
StatText {
|
||||
text: "Batch: " + root.batchFrameTime.toFixed(1) + " ms"
|
||||
|
|
|
@ -69,6 +69,10 @@ Item {
|
|||
hoverEnabled: true;
|
||||
}
|
||||
|
||||
Component.onDestruction: {
|
||||
sendSignalToParent({method: 'maybeEnableHmdPreview'});
|
||||
}
|
||||
|
||||
// This will cause a bug -- if you bring up passphrase selection in HUD mode while
|
||||
// in HMD while having HMD preview enabled, then move, then finish passphrase selection,
|
||||
// HMD preview will stay off.
|
||||
|
|
|
@ -236,6 +236,8 @@ Rectangle {
|
|||
} else {
|
||||
sendToScript(msg);
|
||||
}
|
||||
} else if (msg.method === 'maybeEnableHmdPreview') {
|
||||
sendToScript(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -482,7 +482,7 @@ void Stats::updateStats(bool force) {
|
|||
float dt = (float)itr.value().getMovingAverage() / (float)USECS_PER_MSEC;
|
||||
_gameUpdateStats = QString("/idle/update = %1 ms").arg(dt);
|
||||
|
||||
QVector<QString> categories = { "devices", "physics", "otherAvatars", "MyAvatar", "pickManager", "postUpdateLambdas", "misc" };
|
||||
QVector<QString> categories = { "devices", "physics", "otherAvatars", "MyAvatar", "misc" };
|
||||
for (int32_t j = 0; j < categories.size(); ++j) {
|
||||
QString recordKey = "/idle/update/" + categories[j];
|
||||
itr = allRecords.find(recordKey);
|
||||
|
@ -502,39 +502,10 @@ void Stats::updateStats(bool force) {
|
|||
_gameUpdateStats = "";
|
||||
emit gameUpdateStatsChanged();
|
||||
}
|
||||
|
||||
itr = allRecords.find("/paintGL/display/EngineRun/Engine");
|
||||
std::priority_queue<SortableStat> renderEngineStats;
|
||||
if (itr != allRecords.end()) {
|
||||
float dt = (float)itr.value().getMovingAverage() / (float)USECS_PER_MSEC;
|
||||
_renderEngineStats = QString("/render = %1 ms").arg(dt);
|
||||
|
||||
QVector<QString> categories = { "RenderMainView", "SecondaryCameraJob", "UpdateScene"};
|
||||
for (int32_t j = 0; j < categories.size(); ++j) {
|
||||
QString recordKey = "/paintGL/display/EngineRun/Engine/" + categories[j];
|
||||
itr = allRecords.find(recordKey);
|
||||
if (itr != allRecords.end()) {
|
||||
float dt = (float)itr.value().getMovingAverage() / (float)USECS_PER_MSEC;
|
||||
QString message = QString("\n %1 = %2").arg(categories[j]).arg(dt);
|
||||
renderEngineStats.push(SortableStat(message, dt));
|
||||
}
|
||||
}
|
||||
while (!renderEngineStats.empty()) {
|
||||
SortableStat stat = renderEngineStats.top();
|
||||
_renderEngineStats += stat.message;
|
||||
renderEngineStats.pop();
|
||||
}
|
||||
emit renderEngineStatsChanged();
|
||||
} else if (_renderEngineStats != "") {
|
||||
_renderEngineStats = "";
|
||||
emit renderEngineStatsChanged();
|
||||
}
|
||||
} else if (_showGameUpdateStats) {
|
||||
_showGameUpdateStats = false;
|
||||
_gameUpdateStats = "";
|
||||
_renderEngineStats = "";
|
||||
emit gameUpdateStatsChanged();
|
||||
emit renderEngineStatsChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -106,7 +106,6 @@ class Stats : public QQuickItem {
|
|||
STATS_PROPERTY(QString, lodStatus, QString())
|
||||
STATS_PROPERTY(QString, timingStats, QString())
|
||||
STATS_PROPERTY(QString, gameUpdateStats, QString())
|
||||
STATS_PROPERTY(QString, renderEngineStats, QString())
|
||||
STATS_PROPERTY(int, serverElements, 0)
|
||||
STATS_PROPERTY(int, serverInternal, 0)
|
||||
STATS_PROPERTY(int, serverLeaves, 0)
|
||||
|
@ -240,7 +239,6 @@ signals:
|
|||
void localLeavesChanged();
|
||||
void timingStatsChanged();
|
||||
void gameUpdateStatsChanged();
|
||||
void renderEngineStatsChanged();
|
||||
void glContextSwapchainMemoryChanged();
|
||||
void qmlTextureMemoryChanged();
|
||||
void texturePendingTransfersChanged();
|
||||
|
|
|
@ -1778,7 +1778,7 @@ bool Octree::writeToFile(const char* fileName, const OctreeElementPointer& eleme
|
|||
return success;
|
||||
}
|
||||
|
||||
bool Octree::toJSON(QJsonDocument* doc, const OctreeElementPointer& element) {
|
||||
bool Octree::toJSONDocument(QJsonDocument* doc, const OctreeElementPointer& element) {
|
||||
QVariantMap entityDescription;
|
||||
|
||||
OctreeElementPointer top;
|
||||
|
@ -1804,18 +1804,22 @@ bool Octree::toJSON(QJsonDocument* doc, const OctreeElementPointer& element) {
|
|||
return true;
|
||||
}
|
||||
|
||||
bool Octree::toGzippedJSON(QByteArray* data, const OctreeElementPointer& element) {
|
||||
bool Octree::toJSON(QByteArray* data, const OctreeElementPointer& element, bool doGzip) {
|
||||
QJsonDocument doc;
|
||||
if (!toJSON(&doc, element)) {
|
||||
if (!toJSONDocument(&doc, element)) {
|
||||
qCritical("Failed to convert Entities to QVariantMap while converting to json.");
|
||||
return false;
|
||||
}
|
||||
|
||||
QByteArray jsonData = doc.toJson();
|
||||
if (doGzip) {
|
||||
QByteArray jsonData = doc.toJson();
|
||||
|
||||
if (!gzip(jsonData, *data, -1)) {
|
||||
qCritical("Unable to gzip data while saving to json.");
|
||||
return false;
|
||||
if (!gzip(jsonData, *data, -1)) {
|
||||
qCritical("Unable to gzip data while saving to json.");
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
*data = doc.toJson();
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -1825,7 +1829,7 @@ bool Octree::writeToJSONFile(const char* fileName, const OctreeElementPointer& e
|
|||
qCDebug(octree, "Saving JSON SVO to file %s...", fileName);
|
||||
|
||||
QByteArray jsonDataForFile;
|
||||
if (!toGzippedJSON(&jsonDataForFile)) {
|
||||
if (!toJSON(&jsonDataForFile, element, doGzip)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -1837,7 +1841,6 @@ bool Octree::writeToJSONFile(const char* fileName, const OctreeElementPointer& e
|
|||
qCritical("Could not write to JSON description of entities.");
|
||||
}
|
||||
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
|
|
|
@ -284,8 +284,8 @@ public:
|
|||
void loadOctreeFile(const char* fileName);
|
||||
|
||||
// Octree exporters
|
||||
bool toJSON(QJsonDocument* doc, const OctreeElementPointer& element = nullptr);
|
||||
bool toGzippedJSON(QByteArray* data, const OctreeElementPointer& element = nullptr);
|
||||
bool toJSONDocument(QJsonDocument* doc, const OctreeElementPointer& element = nullptr);
|
||||
bool toJSON(QByteArray* data, const OctreeElementPointer& element = nullptr, bool doGzip = false);
|
||||
bool writeToFile(const char* filename, const OctreeElementPointer& element = nullptr, QString persistAsFileType = "json.gz");
|
||||
bool writeToJSONFile(const char* filename, const OctreeElementPointer& element = nullptr, bool doGzip = false);
|
||||
virtual bool writeToMap(QVariantMap& entityDescription, OctreeElementPointer element, bool skipDefaultValues,
|
||||
|
|
|
@ -341,7 +341,7 @@ void OctreePersistThread::sendLatestEntityDataToDS() {
|
|||
const DomainHandler& domainHandler = nodeList->getDomainHandler();
|
||||
|
||||
QByteArray data;
|
||||
if (_tree->toGzippedJSON(&data)) {
|
||||
if (_tree->toJSON(&data, nullptr, true)) {
|
||||
auto message = NLPacketList::create(PacketType::OctreeDataPersist, QByteArray(), true, true);
|
||||
message->write(data);
|
||||
nodeList->sendPacketList(std::move(message), domainHandler.getSockAddr());
|
||||
|
|
|
@ -1299,7 +1299,7 @@ function loaded() {
|
|||
if (elCloneable.checked) {
|
||||
elGrabbable.checked = false;
|
||||
}
|
||||
userDataChanger("grabbableKey", "grabbable", elGrabbable, elUserData, properties.dynamic);
|
||||
userDataChanger("grabbableKey", "grabbable", elGrabbable, elUserData, true);
|
||||
});
|
||||
elCloneableDynamic.addEventListener('change', function(event) {
|
||||
userDataChanger("grabbableKey", "cloneDynamic", event.target, elUserData, -1);
|
||||
|
|
|
@ -115,13 +115,15 @@ var selectionDisplay = null; // for gridTool.js to ignore
|
|||
var filterText; // Used for updating Purchases QML
|
||||
|
||||
var onWalletScreen = false;
|
||||
var onCommerceScreen = false;
|
||||
|
||||
function onScreenChanged(type, url) {
|
||||
onMarketplaceScreen = type === "Web" && url.indexOf(MARKETPLACE_URL) !== -1;
|
||||
var onWalletScreenNow = url.indexOf(MARKETPLACE_WALLET_QML_PATH) !== -1;
|
||||
onCommerceScreen = type === "QML" && (url.indexOf(MARKETPLACE_CHECKOUT_QML_PATH) !== -1 || url === MARKETPLACE_PURCHASES_QML_PATH
|
||||
var onCommerceScreenNow = type === "QML" && (url.indexOf(MARKETPLACE_CHECKOUT_QML_PATH) !== -1 || url === MARKETPLACE_PURCHASES_QML_PATH
|
||||
|| url.indexOf(MARKETPLACE_INSPECTIONCERTIFICATE_QML_PATH) !== -1);
|
||||
|
||||
if (!onWalletScreenNow && onWalletScreen) { // exiting wallet screen
|
||||
if ((!onWalletScreenNow && onWalletScreen) || (!onCommerceScreenNow && onCommerceScreen)) { // exiting wallet or commerce screen
|
||||
if (isHmdPreviewDisabledBySecurity) {
|
||||
DesktopPreviewProvider.setPreviewDisabledReason("USER");
|
||||
Menu.setIsOptionChecked("Disable Preview", false);
|
||||
|
@ -129,6 +131,7 @@ var selectionDisplay = null; // for gridTool.js to ignore
|
|||
}
|
||||
}
|
||||
|
||||
onCommerceScreen = onCommerceScreenNow;
|
||||
onWalletScreen = onWalletScreenNow;
|
||||
wireEventBridge(onMarketplaceScreen || onCommerceScreen || onWalletScreen);
|
||||
|
||||
|
|
Loading…
Reference in a new issue