diff --git a/libraries/animation/src/AnimationCache.cpp b/libraries/animation/src/AnimationCache.cpp index 7b15f0df26..149e1a3761 100644 --- a/libraries/animation/src/AnimationCache.cpp +++ b/libraries/animation/src/AnimationCache.cpp @@ -51,6 +51,7 @@ void AnimationReader::run() { if (originalPriority == QThread::InheritPriority) { originalPriority = QThread::NormalPriority; } + QThread::currentThread()->setPriority(QThread::LowPriority); try { if (_data.isEmpty()) { throw QString("Reply is NULL ?!"); diff --git a/libraries/model/src/model/TextureMap.cpp b/libraries/model/src/model/TextureMap.cpp index e59d9716e6..cd42419f6a 100755 --- a/libraries/model/src/model/TextureMap.cpp +++ b/libraries/model/src/model/TextureMap.cpp @@ -53,32 +53,26 @@ void TextureMap::setLightmapOffsetScale(float offset, float scale) { // FIXME why is this in the model library? Move to GPU or GPU_GL gpu::Texture* TextureUsage::create2DTextureFromImage(const QImage& srcImage, const std::string& srcImageName) { QImage image = srcImage; + bool validAlpha = false; if (image.hasAlphaChannel()) { if (image.format() != QImage::Format_ARGB32) { image = image.convertToFormat(QImage::Format_ARGB32); } // Actual alpha channel? - bool transparent { false }; for (int y = 0; y < image.height(); ++y) { const QRgb* data = reinterpret_cast(image.constScanLine(y)); for (int x = 0; x < image.width(); ++x) { auto alpha = qAlpha(data[x]); if (alpha != 255) { - transparent = true; + validAlpha = true; break; } } } - - // or bullshit alpha channel? - if (!transparent) { - qCDebug(modelLog) << "Image with alpha channel is completely opaque:" << QString(srcImageName.c_str()); - image = image.convertToFormat(QImage::Format_RGB888); - } } - if (!image.hasAlphaChannel() && image.format() != QImage::Format_RGB888) { + if (!validAlpha && image.format() != QImage::Format_RGB888) { image = image.convertToFormat(QImage::Format_RGB888); }