Refactor of the preview_render_size enum system.
The old system was using hack that caused poor performance when using 100% proxy
There is a perforce improvement of 66% when using 100% proxy with no resolution mismatch
Differential D6368
Fix-T70415 Fix 100% proxy files playing with poor performance as proxy Authored by Eitan Traurig (EitanSomething) on Dec 5 2019, 2:37 PM.
Details Refactor of the preview_render_size enum system. The old system was using hack that caused poor performance when using 100% proxy There is a perforce improvement of 66% when using 100% proxy with no resolution mismatch
Diff Detail
Event TimelineComment Actions
Comment Actions
Comment Actions Execelent work here. This patch is a solid performance improvement. In official 2.81 a 1080p clip with a 100% proxy files plays at 18 fps. At 75% 2.81 plays at 30 fps. Comment Actions Personally I wanted to change values in eSpaceSeq_Proxy_RenderSize to avoid any confusion in future and discourage use of values directly. But it is not that big deal lo leave it as is. Kind of unrelated, but please change titles and description of your patches so devs can immediately know what this is supposed to do and also so it can be used as commit message(ideally) I will have to return to this patch once more to review in greater detail, but overall this seems fine.
Comment Actions
Removed them because the only time seq_render_movie_strip is called is when It couldn't find the proxy file therefore it will be IMB_PROXY_NONE Comment Actions if (!ibuf && proxy_size != IMB_PROXY_NONE) { is needed but changes will be made to fix this. Comment Actions Also please look at unnecessary whitespace changes and apply clang-format.
Comment Actions
Decided to chip in some code. Comment Actions I don’t know why clang format wasn’t working. Visual studios usually shows a popup whenever I re open the project. Comment Actions I definitely don't like what I have done to seq_proxy_get_fname(). It definitely deserves explicit function to get filename. Movieclip uses rendersize_to_number() for this. Perhaps both editors could use IMB_Proxy_Size to number function and move it to IMB_imbuf.h. Now I remember, that I wanted to define proper types for proxysize conversion functions, but it seems to be not possible if function is declared in BKE_sequencer.h. Comment Actions Got same issue when recently moved to new machine. Follow this link, there you can define own supplied clang-format.exe (Blender-git\lib\win64_vc15\llvm\bin) https://docs.microsoft.com/en-us/visualstudio/ide/reference/options-text-editor-c-cpp-formatting?view=vs-2019 Comment Actions Image strips are using completely different system. Not sure what you meant by this question. I have looked at possibility of further centralizing IMB_Proxy_Size to filename suffix and I don't think that this is very practical to do in this patch, So I will accept this in this form. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||