| Anonymous | Login | Signup for a new account | 2013-05-23 20:21 PDT | ![]() |
| Main | My View | View Issues | Change Log | Roadmap |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||
| 0000614 | LuxRender | Core | public | 2009-11-05 22:56 | 2012-09-11 06:11 | ||||
| Reporter | psor | ||||||||
| Assigned To | Lord Crc | ||||||||
| Priority | normal | Severity | feature | Reproducibility | N/A | ||||
| Status | closed | Resolution | fixed | ||||||
| Platform | OS | OS Version | |||||||
| Product Version | |||||||||
| Target Version | 1.0 | Fixed in Version | 1.0RC1 | ||||||
| Summary | 0000614: REQ: Check sum like function to avoid transfering the same data (network) | ||||||||
| Description | I'd like to avoid transfer the same data over and over again. So lets say I have a scene that is quite heavy poly wise and I'm setting up the scene. Then even when I just change a material or other small setting, the whole geometry gets transferred again and again. This is a big waste of network resources and much more it's wasting my time. So please consider to introduce some kinda check. If that's to hard to do, maybe introduce some switches that let us decide what to transfer again. ie. material/geometry/settings Of course the check sum would be better because it would avoid mistakes. | ||||||||
| Tags | No tags attached. | ||||||||
| Mercurial Changeset # | cb3265a7cf69 | ||||||||
| Requires Documentation Update | No | ||||||||
| Requires Exporter Update | |||||||||
| Attached Files | |||||||||
Relationships |
||||||
|
||||||
Notes |
|
|
(0001685) jeanphi (administrator) 2009-11-06 00:47 |
Currently the geometry isn't stored on the receiving computer, only external data files are stored (textures, nk files, ies files). The lux data is sent and immediately processed at the receiving end. Given the versatile nature of the lux input (file, but also standard input or even API), it'll be quite difficult to define the behaviour. I do agree though that such a feature could save ressources. |
|
(0003290) Omniflux (developer) 2012-01-14 18:28 |
Currently textures are stored with a new filename and an incrementing number. It would be nice if the files were given a less volatile name such as a hash so if I have a queue of several scenes all using the same textures each texture would only have to be transferred once. |
|
(0003292) Lord Crc (administrator) 2012-01-14 20:08 |
We already use Boost.Uuid, so we could use it for this as well. We could generate a uuid based on the file name and file contents (which we read in anyway), and send this uuid. The slave could then reply if it has a file with matching uuid or if the master should continue the file transmission. |
|
(0003294) Omniflux (developer) 2012-01-15 11:30 |
Rather than waiting for a reply from the slave for each file, I would rather see the master send a list of all necessary files and then have the slave request the ones it needs. This is only because I would eventually like to see the protocol support multicast. |
|
(0003316) Lord Crc (administrator) 2012-01-19 00:52 |
I think multicast will require a rather big change anyway, so going the easy route for now is preferable. If we implement 0000552 then I don't think it's a big issue that it's serial. |
|
(0003317) Lord Crc (administrator) 2012-01-19 02:42 edited on: 2012-01-19 02:44 |
Using Boost.Uuid for this may be impractical as it doesn't have any way to compute a Uuid from an iterator or stream. I'm looking into the Tiger hash which has a small and free PD implementation available, and which seems to be pretty fast. Computing the hash from the stream would be essential for sending files in parallel as loading multiple copies of large files into memory may exhaust master's available memory. |
|
(0003392) Lord Crc (administrator) 2012-05-10 19:00 |
I've pushed an initial implementation of this, see changeset for details. There's currently no management of the cached files, so manual cleanup is required. However I plan to add a few different methods. |
|
(0003419) Lord Crc (administrator) 2012-05-25 14:37 |
Seems the implementation works as expected, I'm resolving this. Additional caching schemes can be added as new requests. |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2009-11-05 22:56 | psor | New Issue | |
| 2009-11-06 00:47 | jeanphi | Note Added: 0001685 | |
| 2010-03-17 07:13 | jeanphi | Target Version | => 0.8RC1 |
| 2011-02-03 00:39 | jeanphi | Target Version | 0.8RC1 => 1.0 |
| 2012-01-14 18:28 | Omniflux | Note Added: 0003290 | |
| 2012-01-14 20:08 | Lord Crc | Note Added: 0003292 | |
| 2012-01-15 11:30 | Omniflux | Note Added: 0003294 | |
| 2012-01-19 00:52 | Lord Crc | Note Added: 0003316 | |
| 2012-01-19 02:40 | Lord Crc | Assigned To | => Lord Crc |
| 2012-01-19 02:40 | Lord Crc | Status | new => assigned |
| 2012-01-19 02:42 | Lord Crc | Note Added: 0003317 | |
| 2012-01-19 02:44 | Lord Crc | Note Edited: 0003317 | View Revisions |
| 2012-01-19 16:20 | Omniflux | Relationship added | related to 0001188 |
| 2012-05-10 19:00 | Lord Crc | Note Added: 0003392 | |
| 2012-05-10 19:00 | Lord Crc | Status | assigned => feedback |
| 2012-05-10 19:00 | Lord Crc | Mercurial Changeset # | => cb3265a7cf69 |
| 2012-05-10 19:00 | Lord Crc | Requires Documentation Update | => No |
| 2012-05-25 14:37 | Lord Crc | Note Added: 0003419 | |
| 2012-05-25 14:37 | Lord Crc | Status | feedback => resolved |
| 2012-05-25 14:37 | Lord Crc | Fixed in Version | => 1.0RC1 |
| 2012-05-25 14:37 | Lord Crc | Resolution | open => fixed |
| 2012-09-11 06:11 | jeanphi | Status | resolved => closed |
| Copyright © 2000 - 2012 MantisBT Group |