History

Working on LRU cache for resources.

Andrzej Kapolka committed 12 years ago

Commit d2f947a1 parent 9d2758e7 files · +103 −25Browse files

Showing the changes to interface/src/renderer/GeometryCache.cpp (1 of 7 files). Show all

Unified · Split

interface/src/renderer/GeometryCache.cpp+11−1
@@ -294,7 +294,8 @@ QSharedPointer<NetworkGeometry> GeometryCache::getGeometry(const QUrl& url, cons · 293 unmodified lines
294QSharedPointer<Resource> GeometryCache::createResource(const QUrl& url,294QSharedPointer<Resource> GeometryCache::createResource(const QUrl& url,
295 const QSharedPointer<Resource>& fallback, bool delayLoad, const void* extra) {295 const QSharedPointer<Resource>& fallback, bool delayLoad, const void* extra) {
296 296
297 QSharedPointer<NetworkGeometry> geometry(new NetworkGeometry(url, fallback.staticCast<NetworkGeometry>(), delayLoad));297 QSharedPointer<NetworkGeometry> geometry(new NetworkGeometry(url, fallback.staticCast<NetworkGeometry>(), delayLoad),
298 &Resource::allReferencesCleared);
298 geometry->setLODParent(geometry);299 geometry->setLODParent(geometry);
299 return geometry.staticCast<Resource>();300 return geometry.staticCast<Resource>();
300}301}
@@ -536,6 +537,15 @@ void NetworkGeometry::downloadFinished(QNetworkReply* reply) { · 235 unmodified lines
536 QThreadPool::globalInstance()->start(new GeometryReader(_self, url, reply, _mapping));537 QThreadPool::globalInstance()->start(new GeometryReader(_self, url, reply, _mapping));
537}538}
538 539
540void NetworkGeometry::reinsert() {
541 Resource::reinsert();
542
543 _lodParent = qWeakPointerCast<NetworkGeometry, Resource>(_self);
544 foreach (const QSharedPointer<NetworkGeometry>& lod, _lods) {
545 lod->setLODParent(_lodParent);
546 }
547}
548
539void NetworkGeometry::setGeometry(const FBXGeometry& geometry) {549void NetworkGeometry::setGeometry(const FBXGeometry& geometry) {
540 _geometry = geometry;550 _geometry = geometry;
541 551