File Reference and scene assembly workflow load many small files which contain individual entities (model, material, texture, character, props and etc.,).
And it's a quite time consuming process with normal workflow. The following set of merge transaction functions could be used to improve the performance effectively.
A single file load / merge operation mainly includes the following three major stages:
The last step (post processing) often is quite heavy. With the merge transaction, however this step could be executed only once for multiple consecutive file merge operations. for example: [code] MergeTransacionBegin() File_Merge(filepath1) File_Merge(filepath1) File_Merge(filepath1) ... MergeTransactionEnd() [/code] This Merge Transaction could be nested.
Functions | |
void | FBPreventUIUpdateBegin () |
Call to prevent UI updates when creating/deleting/renaming objects. More... | |
void | FBPreventUIUpdateEnd () |
Call to end blocking the UI updates. More... | |
bool | FBPreventUIUpdateIsOn () |
Call to tell if UI updates are blocked. More... | |
void | FBMergeTransactionBegin () |
Call to begin the transaction for merging multiple files. More... | |
void | FBMergeTransactionEnd () |
Call to end the merge transaction. More... | |
bool | FBMergeTransactionIsOn () |
Call to tell if system is during Merge transaction. More... | |
void | FBMergeTransactionFileRefEditBegin () |
Call to begin the transaction for merging multiple files and applying File Reference edit at the same time. More... | |
void | FBMergeTransactionFileRefEditEnd () |
Call to end merge transaction with File Reference edit. More... | |
bool | FBMergeTransactionFileRefEditIsOn () |
Call to tell if system is during File Reference Edit Merge transaction. More... | |
void ORSDK2018::FBMergeTransactionBegin | ( | ) |
Call to begin the transaction for merging multiple files.
Useful to consecutively merge multiple files into scene.
void ORSDK2018::FBMergeTransactionEnd | ( | ) |
Call to end the merge transaction.
void ORSDK2018::FBMergeTransactionFileRefEditBegin | ( | ) |
Call to begin the transaction for merging multiple files and applying File Reference edit at the same time.
Useful to consecutively merge multiple files into scene with FileRef edit operation in between.
void ORSDK2018::FBMergeTransactionFileRefEditEnd | ( | ) |
Call to end merge transaction with File Reference edit.
bool ORSDK2018::FBMergeTransactionFileRefEditIsOn | ( | ) |
Call to tell if system is during File Reference Edit Merge transaction.
bool ORSDK2018::FBMergeTransactionIsOn | ( | ) |
Call to tell if system is during Merge transaction.
void ORSDK2018::FBPreventUIUpdateBegin | ( | ) |
Call to prevent UI updates when creating/deleting/renaming objects.
Useful to speed up script operations. Previously, FBMergeTransactionBegin()/ FBMergeTransactionEnd() could be used to do this kind of optimization, even if no merge operations were done. However, using FBMergeTransactionBegin()/ FBMergeTransactionEnd() with non-merge operation could lead to issues, like objects with invalid namespaces. FBPreventUIUpdateBegin()/FBPreventUIUpdateEnd() fix this issue, while giving the same speed increase.
void ORSDK2018::FBPreventUIUpdateEnd | ( | ) |
Call to end blocking the UI updates.
bool ORSDK2018::FBPreventUIUpdateIsOn | ( | ) |
Call to tell if UI updates are blocked.