Commit graph

70 commits

Author SHA1 Message Date
Seth Alves
d243132b5c quiet some logging 2015-12-10 10:28:24 -08:00
Atlante45
b7ba99380a Pretty up loading debug 2015-10-12 15:32:44 -07:00
Sam Gateau
d0f7ddd3a6 Merge branch 'master' of https://github.com/highfidelity/hifi into orange 2015-09-18 00:03:19 -07:00
Atlante45
9678e70444 Asset caching 2015-09-16 15:17:15 +02:00
Sam Gateau
c37cdce750 Merging back with master 2015-09-10 17:53:50 -07:00
Atlante45
0de4c02e8d Add time unit in debug 2015-08-31 23:24:14 +02:00
Atlante45
3f5394281b Fix HTTPS timeout issue 2015-08-31 23:20:07 +02:00
Atlante45
8f74935e96 Don't reload on error 2015-08-31 22:34:16 +02:00
Atlante45
9a9c703a78 Some code cleanup 2015-08-31 22:31:24 +02:00
Atlante45
15e9797827 CR 2015-08-31 22:12:42 +02:00
Atlante45
729fd96539 Fix bug where _requestLimit is stuck at 0 2015-08-28 22:10:33 +02:00
Atlante45
993217491f Retry to load only on timeout 2015-08-28 20:35:39 +02:00
Ryan Huffman
c6d98f3c67 Update ResourceCache to retry an asset request when the node is unavailable 2015-08-28 10:59:38 -07:00
Atlante45
ea05fcea0c Forward AssetResourceRequest loading errors 2015-08-28 16:03:31 +02:00
Ryan Huffman
2a4b25dd76 Update names of ResourceRequest enums 2015-08-27 22:23:06 -07:00
Ryan Huffman
147fbd4b54 Update ResourceCache to only emit failure when not retrying 2015-08-27 21:11:12 -07:00
Ryan Huffman
4bbbd892bd Fix atp scheme checking in ResourceCache 2015-08-27 16:46:33 -07:00
Ryan Huffman
31bdeed396 Remove cache limit for atp urls 2015-08-27 16:43:40 -07:00
Ryan Huffman
dabea21d66 Remove unused variable 2015-08-27 14:30:48 -07:00
Ryan Huffman
b401a62d7f Disable request limiting for ATP requests in ResourceCache 2015-08-27 13:58:17 -07:00
Ryan Huffman
33d6f561eb Reintroduce request limit in ResourceCache 2015-08-27 12:52:11 -07:00
Ryan Huffman
b30a008162 Fix bug with NetworkTexture occasionally breaking on assert 2015-08-27 12:48:55 -07:00
Ryan Huffman
667db200c0 Cleanup BatchLoader 2015-08-27 09:39:12 -07:00
Ryan Huffman
269d5bb6da Resolve bugs with *Cache changes 2015-08-26 14:04:55 -07:00
Ryan Huffman
aa7d8678e1 Merge branch 'protocol' of github.com:birarda/hifi into atp-server 2015-08-26 12:26:11 -07:00
Sam Gateau
1e9fce2a61 Drafting the materials for FBXReader 2015-08-25 22:12:51 -07:00
Ryan Huffman
3959928bbb Update ResourceRequest::moveData to getData 2015-08-25 15:20:00 -07:00
Anthony J. Thibault
1b3d7fabc8 ResourceCache, NetworkGeometry and Model refactoring and optimizations.
* Removed validation logic from Resource class, Qt does this internally and is more
  standards compliant.  This should result in more accurate caching and faster resource
  fetching when cache is stale and validation fails.
* Added loaded and failed slots to Resource class, so it does not have to be polled.

* NetworkGeometry now uses multiple Resource objects to download
  the fst/mapping file and the fbx/obj models.
* NetworkGeometry is no longer a subclass of Resource
* NetworkGeometry now has signals for success and failure, you no longer
  have to poll it to determine when loading is complete (except for textures *sigh*)

Some functionality was removed

* NetworkGeometry no longer has a fallback
* NetworkGeometry no longer loads LODs or has lod logic.
* The number of FBXGeometry copies is greatly reduced.

* Model::setURL no supports fallback URL, delayLoad or retainCurrent option.
  This can result in a pop when switching avatars, and there's no longer a default
  if avatar loading fails.
2015-08-20 18:59:51 -07:00
Ryan Huffman
4827d326f4 Update ResourceCache to allow multiple downloads on the same resource 2015-08-19 12:11:47 -07:00
Ryan Huffman
ccc0000fd0 Update ResourceCache to use ResourceRequest 2015-08-03 16:26:16 -07:00
Atlante45
6c591131ba Made Animations safe for resource reload 2015-07-10 12:01:51 -07:00
Atlante45
90edf055f7 Clear unused resources before refresh 2015-07-09 18:00:07 -07:00
Atlante45
ee3a8b1b6e Clear resource caches instead of restarting 2015-07-08 18:23:16 -07:00
Howard Stearns
cdef09c9dd Add comment (and force previous change to the right branch). 2015-05-11 10:12:03 -07:00
Howard Stearns
aed165809c Use resource cache as long as it is no older than network resource.
This allows chache to be used when cdn provides different values for get-vs-head, or for cdn with different resource times in different requests of different sessions.
2015-05-11 10:01:49 -07:00
Seth Alves
e6023c59c1 if _reply is NULL, it doesn't make sense to worry about if it's finished loading or not. 2015-05-10 17:15:48 -07:00
Seth Alves
cb7ff86386 put networking library into its own QLoggingCategory 2015-04-06 15:11:48 -07:00
Brad Hefta-Gaub
d77333953e Merge pull request #4552 from sethalves/island
Fix various collision-model related bugs
2015-03-31 15:47:53 -07:00
David Rowe
154dacf791 Fix typo 2015-03-31 14:21:56 -07:00
Seth Alves
9e0118492e make sure to not leave in-use resources in UnusedResource list 2015-03-31 14:04:21 -07:00
Seth Alves
087248dffc fix locking in ResourceCache::checkAsynchronousGets 2015-03-27 13:14:20 -07:00
Seth Alves
7da87d6e15 set up a way to request ResourceCache downloads from a non-networking thread. 2015-03-26 18:37:55 -07:00
Seth Alves
069c358aa3 Work around a deadlock:
thread 15 locks Octree
thread 1 blocks waiting for Octree lock
thread 15 tries to pass a message to thread 1 with QMetaObject::invokeMethod, and hangs

thread 15 is blocked on qt message passing to thread 1
  ResourceCache::getResource                       libraries/networking/src/ResourceCache.cpp:57
  GeometryCache::getGeometry                       libraries/render-utils/src/GeometryCache.cpp:1774
  ModelEntityItem::isReadyToComputeShape           libraries/entities/src/ModelEntityItem.cpp:431
  PhysicsEngine::addEntityInternal                 libraries/physics/src/PhysicsEngine.cpp:67
  EntitySimulation::addEntity                      libraries/entities/src/EntitySimulation.cpp:129
  EntityTree::postAddEntity                        libraries/entities/src/EntityTree.cpp:91
        ^ locks simulation
  EntityTreeElement::readElementDataFromBuffer     libraries/entities/src/EntityTreeElement.cpp:773
  Octree::readElementData                          libraries/octree/src/Octree.cpp:301
  Octree::readElementData                          libraries/octree/src/Octree.cpp:354
  ...
  Octree::readBitstreamToTree                      libraries/octree/src/Octree.cpp:439
  OctreeRenderer::processDatagram                  libraries/octree/src/OctreeRenderer.cpp:136
        ^ lockForWrite Octree::_lock
  OctreePacketProcessor::processPacket             interface/src/octree/OctreePacketProcessor.cpp:91
  ReceivedPacketProcessor::process                 libraries/networking/src/ReceivedPacketProcessor.cpp:51

thread 1 is blocked on lockForWrite of Octree::_lock
  Octree::lockForWrite                             libraries/octree/src/Octree.h:292
  EntityTree::update                               libraries/entities/src/EntityTree.cpp:668
        ^ lockForWrite on Octree:_lock
  EntityTreeRenderer::update                       libraries/entities-renderer/src/EntityTreeRenderer.cpp:258
  Application::update                              interface/src/Application.cpp:2189
        ^ calls _physicsEngine.stepSimulation() before this
  Application::idle                                interface/src/Application.cpp:1535
  timer
2015-03-17 11:38:42 -07:00
Seth Alves
019ea55d24 minimize diff 2015-03-15 08:21:57 -07:00
Seth Alves
50798398ff merge from upstream 2015-03-13 18:04:55 -07:00
Atlante45
405301f861 Don't refresh if no lastModified tag in http request 2015-03-13 20:24:52 +01:00
Atlante45
691b078efc Fix the timeout crash 2015-03-13 18:43:51 +01:00
Seth Alves
89b58e2681 trying to get loaded callback for model hooked up to PhysicsEngine 2015-03-13 09:11:15 -07:00
Atlante45
1b7fdf5d16 Improve disk cache usage
Now we always load from the disk cache if the file is in there.
	Then we check the last modidied date from the network file
against the one in the cache.
	If needed, we redownload.
2015-03-05 18:49:52 +01:00
ZappoMan
698fcd8116 fix crash on shutdown 2015-02-04 13:54:14 -08:00