mirror of
https://github.com/holub/mame
synced 2025-05-23 14:19:01 +03:00
![]() Introduced DISCRETE_TASK_START, DISCRETE_TASK_END DISCRETE_TASK_START - Start a new task. A task is a set of nodes which only depend on input nodes and nodes in the set DISCRETE_TASK_END(task_output_node) - Marks the end of the task. task_output_node is the node whose output over time should be preserved. This node can be accessed by nodes in the main thread. Order of execution: a) All tasks in parallel b) All nodes not part of a task. These may only refer to nodes listed in DISCRETE_TASK_END Illustrated the concept in the dkong discrete emulation. This also has been enhanced to buffer DAC output. Further changes: - DISCRETE_OUTPUT now is a stepping node. - DISCRETE_STREAM_INPUT now advances input pointer in step. - More linked_list usage. I estimate that the rework without tasks leads to a 5% performance gain. For dkong, the usage of tasks adds another 15%. There are some features missing: - Multiple nodes in DISCRETE_TASK_END - More task consistency checks - Task identifiers for tasks |
||
---|---|---|
docs | ||
src | ||
.gitattributes | ||
makefile |