工具与软件:
我觉得我没有清楚表达我的上一个问题、所以我想再提出一个更准确的问题。
我的环境由 QNX 7.0和 TI SDK 7.0组成、其中应用程序作为单独的进程独立运行。
据我了解、当两个应用程序并行运行时、每个主机指针都维护自己的虚拟存储器地址。
在这种情况host to shared' function下、如果在竞争条件下调用"、是否会发生存储器碎片?
例如、假设 App1使用 NV12 (Y、UV)、而 App2使用 RGBA。 此外、假设两个应用几乎同时创建图像缓冲区。
是否可以先将 App1的 Y 组件分配给物理内存、然后在分配 UV 组件之前、将 RGBA 分配给物理内存? 这可能导致 Y 缓冲器的结束地址和 UV 缓冲器的起始地址不连续。
要为 QNX 的屏幕 API 分配 NV12图像、我要求 NV12处于确保连续分配的内存状态。
但是、在竞争条件下分配多个映像时、我发现共享指针中频繁出现存储器地址碎片。
我附上了一个汇总我的调查结果的表格。

(随附一个表格以便于分析。)
| YUV:nv12,1280x944、8位/ RGBA:3200x720、8位 | ||||||
| 地址 ptr | Shrd_ptr 开始 | Shrd_ptr 结束 | Shrd Start + MemSize (理想) | A==B? | 主机启动 | 主机端 |
| YUV1_1 | 2948165632 | 2949373952 | 2949373952 | 好的 | 749830144 | 751038464 |
| YUV2_1 | 2949980160 | 2951188480 | 2951188480 | 好的 | 751644672. | 752852992. |
| YUV3_1 | 2951794688 | 2953003008. | 2953003008. | 好的 | 753459200 | 754667520 |
| YUV4_1. | 2953609216 | 2954817536 | 2954817536 | 好的 | 755273728. | 756482048 |
| RGBA 1 | 2994225152 | 3003441152 | 不需要 | 737681408 | ||
| YUV1_2 | 3003441152 | 3004649472 | 3004649472 | 好的 | 795885568 | 797093888 |
| YUV2_2 | 3005255680 | 3006464000 | 3006464000 | 好的 | 797700096 | 798908416 |
| YUV3_2 | 3007070208 | 3008278528 | 3008278528 | 好的 | 799514624. | 800722944 |
| YUV4_2. | 3008884736 | 3010093056. | 3010093056. | 好的 | 801329152 | 802537472 |
| YUV1_3 | 3010699264. | 3011907584 | 3011907584 | 好的 | 803143680 | 804352000 |
| YUV2_3 | 3012513792 | 3013722112 | 3013722112 | 好的 | 804958208 | 806166528 |
| YUV3_3 | 3014328320 | 3015536640 | 3015536640 | 好的 | 806772736. | 807981056 |
| YUV4_3. | 3016142848 | 3017351168. | 3017351168. | 好的 | 808587264 | 809795584 |
| RGBA 2. | 3017957376 | 302717336. | 不需要 | 746897408 | ||
| YUV1_4 | 302717336. | 3037597696 | 3028381696 | NG | 810401792 | 811610112 |
| RGBA 3. | 3028381696 | 3037597696 | 不需要 | 756113408 | ||
| RGBA 4. | 3038203904 | 3047419904 | 不需要 | 765329408 | ||
| YUV2_4 | 3047419904 | 3048628224 | 3048628224 | 好的 | 812216320 | 813424640 |
| YUV3_4 | 3049234432 | 3050442752 | 3050442752 | 好的 | 814030848 | 815239168 |
| YUV4_4. | 3051048960 | 3052257280 | 3052257280 | 好的 | 815845376 | 817053696 |
| YUV1_5 | 3052863488 | 3054071808 | 3054071808 | 好的 | 817659904 | 818868224 |
| YUV2_5 | 3054678016 | 3055886336 | 3055886336 | 好的 | 819474432. | 820682752 |
| YUV3_5 | 3056492544 | 3057700864 | 3057700864 | 好的 | 821288960 | 822497280 |
| YUV4_5. | 3058307072 | 3059515392 | 3059515392 | 好的 | 823103488 | 824311808 |