Zpět na projekty
TUIX v0.6Beta

Naposledy aktualizováno: 2026-08-14

Command buffery, sub-cycles a event bridge

TUIX v0.6 obsahuje nízkoúrovňové dávkování a sub-cycle enginy navržené pro vysoce výkonné vícevláknové renderování, IPC přemostění a detailní izolované animace widgetů.

Command buffer a atomické commity snímků

Podsystém command bufferu (`tuix.core.command_buffer`) umožňuje serializovat mutace do proudů binárních opkódů. Vedlejší pracovní vlákna mohou zafrontovat posloupnosti příkazů bez zamykání renderovacího vlákna pro každou jednotlivou aktualizaci vlastnosti. Mutace jsou potvrzeny atomicky na hranici snímků přes `tuix_batch_global_commit()`.

Animační smyčky Sub-Cycles (tuix.core.sub_cycles)

Sub-cycles umožňují vysokofrekvenční vizuální aktualizace (např. spinnery, progress ukazatele nebo audio vizualizéry) vykonávat dílčí renderovací cykly pro jedno konkrétní UID widgetu bez spouštění nákladného procházení celého stromu scény nebo přepočtu celého layoutu.

PodsystémKlíčová funkceÚčel
Command Buffercommand_buffer.tuix_command_buffer_execute(data)Vykoná raw proud opkódů přímo v C runtime.
Batch Commitscommand_buffer.tuix_batch_global_commit()Aplikuje všechny zafrontované dávkové operace v jediném atomickém kroku.
Sub-Cycle Registrationsub_cycles.tuix_sub_cycle_init(scene, obj)Zaregistruje izolovanou sub-cycle smyčku s transakční OOM bezpečností.
Event Queue Shimevent.tuix_event_commit_python()Bezpečně vyprázdní fronty nativních C událostí do registrovaných Python callbacků.
from tuix.core import command_buffer, event, sub_cycles

# Enqueue operations in background, then commit atomically
command_buffer.tuix_batch_global_commit()

# Dispatch pending native events into Python callbacks
event.tuix_event_commit_python()