خلاصه (Summary)

Perform CHOP تعداد زیادی کانال خروجی تولید می‌کند، مانند فریم بر ثانیه (FPS)، که وضعیت فعلی فرآیند TouchDesigner را توصیف می‌کنند. این کانال‌ها را می‌توان مانند سایر CHOPها دستکاری کرد و در رابط‌های کاربری و محاسبات به کار برد تا تنظیم خودکار و بلادرنگ (real-time self-tuning) پروژه انجام شود.

این CHOP مقدار cook time فریم قبلی که رسم شده را خروجی می‌دهد؛ این مقدار بازتابی از تعداد فریم‌هایی است که TouchDesigner در ثانیه‌ی قبل پردازش (cook) کرده است.

نکته: برای مشاهده‌ی روند تغییرات، یک Trail CHOP بعد از Perform CHOP قرار دهید.

کانال cook وقتی به Trail CHOP فرستاده شود نشان می‌دهد کدام فریم‌ها پردازش شده‌اند و کدام فریم‌ها رد (skipped) شده‌اند؛ این موضوع برای بهینه‌سازی پروژه و رسیدن به نرخ فریم مطلوب بسیار مفید است.

متغیرهای داخلی (Built-in Variables) که در مسیر
Dialogs → Variables → Built-in
قرار دارند، داده‌های مفید بیشتری درباره‌ی سیستم در حال اجرای شما ارائه می‌دهند. همچنین بخش Built-in Variables در صفحه Variables را ببینید.


فهرست مطالب (Contents)

  1. Summary

  2. Parameters – Perform Page

  3. Parameters – Common Page

  4. Info CHOP Channels
      4.1 Common CHOP Info Channels
      4.2 Common Operator Info Channels


Parameters – Perform Page

در این بخش، لیست کانال‌هایی که Perform CHOP خروجی می‌دهد آورده شده است:

  • Frames per Second (fps)
    تعداد فریم‌هایی که در ثانیه‌ی گذشته رندر شده‌اند.

  • Frame Time (msec)
    مدت زمانی که پردازش (cook) هر فریم طول می‌کشد، بر حسب میلی‌ثانیه.

  • Cook (cook)
    زمانی برابر 1 است که فریم پردازش شده باشد و برابر 0 است وقتی فریم رد شده باشد. معمولاً دیدن این کانال در یک Trail CHOP برای تشخیص فریم‌های dropped بسیار مفید است.

  • Dropped Frames (droppedframes)
    تعداد فریم‌هایی که بین فریم قبلی و فریم فعلی حذف (drop) شده‌اند.

  • Movie Read Ahead Misses (mvreadahead)
    تعداد دفعاتی که سیستم نتوانسته تعداد فریم‌های مشخص‌شده برای Read Ahead ویدئو را حفظ کند.

  • GPU Mem Used (MB) (gpumemused)
    میزان حافظه‌ی استفاده‌شده‌ی GPU (بر حسب مگابایت).

  • Total GPU Mem (MB) (totalgpumem)
    کل حافظه‌ی GPU موجود در سیستم (بر حسب مگابایت).

  • Total Active OPs (activeops)
    تعداد OPهایی که در حال حاضر به‌طور فعال در حال cook هستند.

  • Total Deactivated OP Calls (deactivatedops)
    تعداد دفعاتی که فراخوانی cook برای کامپوننت‌هایی انجام شده که Cooking Flag آن‌ها خاموش بوده است.

  • Total OPs (totalops)
    تعداد کل OPها در فایل .toe.

  • CPU Mem Used (MB) (cpumemused)
    میزان حافظه‌ی استفاده‌شده‌ی CPU (بر حسب مگابایت).

  • Cook State (cookstate)
    پایش این‌که کدام فریم‌ها واقعاً cook شده‌اند. برای مشاهده‌ی درست این وضعیت، Perform CHOP را به Trail CHOP متصل کنید.
    (در Viewer معمولاً همیشه 1 دیده می‌شود چون فقط فریم فعلی نمایش داده می‌شود و فریم‌های از دست‌رفته دیده نمی‌شوند.)

  • Cook Realtime (cookrealtime)
    وضعیت پرچم realtime را نشان می‌دهد و مشخص می‌کند TouchDesigner در حالت realtime اجرا می‌شود یا نه.

  • Cookrate (cookrate)
    نرخ هدف سراسری cook (فریم بر ثانیه) پروژه. این مقدار همان FPS کامپوننت ریشه است (root.time.rate)، که معمولاً 60 است، اما اگر پردازش فریم‌ها طولانی شود، FPS واقعی ممکن است کمتر باشد.

  • Time Slice Step (timeslicestep)
    تعداد فریم‌هایی که TouchDesigner برای cook فعلی به جلو حرکت کرده است. این مقدار طول Time Slice بر حسب فریم است.
    وقتی سیستم بتواند هر فریم را در زمانی کمتر یا مساوی با
    1000 / root.time.rate میلی‌ثانیه پردازش کند (مثلاً 16.666ms برای نرخ 60)، این مقدار برابر 1 خواهد بود.

  • Time Slice Milliseconds (timeslicemsec)
    طول Time Slice فعلی بر حسب میلی‌ثانیه.

  • Perform Mode (performmode)
    وضعیت Perform Mode را نشان می‌دهد.

  • Perform Window Focus (performfocus)
    نشان می‌دهد آیا پنجره Perform در حال حاضر فوکوس دارد یا نه.

  • GPU Temperature (Slow) (gputemp)
    دمای GPUهای سیستم را پایش می‌کند (فقط برای GPUهای NVIDIA کار می‌کند).

  • AC Line Status (aclinestatus)
    نشان می‌دهد شارژر AC لپ‌تاپ وصل و فعال است یا نه.
    1 یعنی AC متصل است، 0 یعنی نیست.

  • Battery Charging (batterycharging)
    نشان می‌دهد باتری در حال شارژ شدن است یا نه.
    1 یعنی در حال شارژ، 0 یعنی نه.

  • Battery Life (batterylife)
    میزان شارژ باقی‌مانده‌ی باتری؛
    1 یعنی باتری پر، 0 یعنی باتری خالی.

  • Battery Time (batterytime)
    زمان تخمینی باقی‌مانده‌ی باتری. فقط وقتی کار می‌کند که AC وصل نباشد و باتری در حال شارژ نباشد.

  • Active Expressions (activeexpressions)
    تعداد عبارت‌های پایتون فعال در پروژه.

  • Optimized Expressions (optimizedexpression)
    تعداد عبارت‌های پایتونی که بهینه‌سازی شده‌اند. (رجوع شود به Optimized Python Expressions)

  • Expressions Using Cache (cachedexpressions)
    تعداد عبارت‌های پایتونی که کش شده‌اند. (رجوع شود به Optimized Python Expressions)


Parameters – Common Page

  • Time Slice (timeslice)
    با فعال کردن این گزینه، کانال‌ها به صورت Time Slice پردازش می‌شوند. Time Slice فاصله‌ی زمانی بین آخرین فریم cook شده و فریم cook فعلی است.

  • Scope (scope)
    برای تعیین این‌که کدام کانال‌ها تحت تأثیر قرار بگیرند، برخی CHOPها از Scope در صفحه Common استفاده می‌کنند.

  • Sample Rate Match (srselect)
    برای مدیریت حالتی که چند CHOP ورودی نرخ نمونه‌برداری متفاوت دارند. هنگام Resample شدن، منحنی‌ها طبق روش Interpolation انتخاب‌شده (یا Linear به‌صورت پیش‌فرض) درون‌یابی می‌شوند.

  • Export Method (exportmethod)
    مشخص می‌کند کانال CHOP چگونه به پارامتر متصل شود. برای اطلاعات بیشتر به مقاله Export مراجعه کنید.

  • Export Root (autoexportroot)
    مسیری به نود ریشه که تمام مسیرهای Export با روش Channel Name = Path:Parameter نسبت به آن تعریف می‌شوند.

  • Export Table (exporttable)
    دیت (DAT)ای که هنگام استفاده از روش‌های Export مبتنی بر جدول، اطلاعات Export در آن ذخیره می‌شود.


Info CHOP Channels

اطلاعات اضافی مربوط به Perform CHOP از طریق Info CHOP قابل دسترسی است.

Common CHOP Info Channels

  • start – شروع بازه‌ی CHOP بر حسب سمپل

  • length – تعداد سمپل‌ها در CHOP

  • sample_rate – نرخ نمونه‌برداری کانال‌ها (فریم بر ثانیه)

  • num_channels – تعداد کانال‌ها در CHOP

  • time_slice – اگر Time Slice فعال باشد 1 و در غیر این صورت 0

  • export_sernum – تعداد دفعاتی که اتصال‌های Export به‌روزرسانی شده‌اند

Common Operator Info Channels

  • total_cooks – تعداد دفعاتی که این اپراتور از شروع اجرا cook شده است

  • cook_time – مدت زمان آخرین cook بر حسب میلی‌ثانیه

  • cook_frame – شماره فریم آخرین cook نسبت به تایم‌لاین کامپوننت

  • cook_abs_frame – شماره فریم آخرین cook نسبت به زمان مطلق

  • cook_start_time – زمان شروع cook (میلی‌ثانیه) در فریمی که cook شده

  • cook_end_time – زمان پایان cook (میلی‌ثانیه) در فریمی که cook شده

  • cooked_this_frame – اگر اپراتور در این فریم cook شده باشد 1

  • warnings – تعداد هشدارها (در صورت وجود)

  • errors – تعداد خطاها (در صورت وجود)