【问题标题】:Flash fails to load:Flash 无法加载:
【发布时间】:2013-07-02 16:09:04
【问题描述】:

我已经使用Unity3D 构建了一个Flash - 文件。 Flash 文件有时无法加载到网页上。这种行为在 Web 浏览器和操作系统之间时有发生。例如,我只在Mac 上使用Google Chrome 看到过这种行为。其他报告声称此活动发生在Windows 上的不同浏览器中。我想知道这是否是内部错误。

在视图区域的左上角,我收到了Fatal error: "null" in a red background

来自 Flash Player 内容调试器的反馈显示了所有这些:

Fatal Error : ArgumentError: Error #3672: Buffer creation failed. Internal error.
at flash.display3D::Context3D/createVertexBuffer()
at com.unity::UnityNative$/Ext_Stage3D_Create_VertexBuffer()
at com.unity::UnityNative$/_ZN14GfxMolehillVBO16UpdateVertexDataERK16VertexBufferData()
at com.unity::UnityNative$/_ZN4Mesh15CreateSharedVBOEm()
at com.unity::UnityNative$/_ZN4Mesh12GetSharedVBOEm()
at com.unity::UnityNative$/_ZN8DrawUtil11DrawMeshRawERKN9ShaderLab14ChannelAssignsER4Meshi()
at com.unity::UnityNative$/_ZThn28_N12MeshRenderer6RenderEiRKN9ShaderLab14ChannelAssignsE()
at com.unity::UnityNative$/_ZN13BatchRenderer5FlushEv()
at com.unity::UnityNative$/_Z25DoForwardShaderRenderLoopR23ForwardShaderRenderLoopR17RenderLoopContextR13dynamic_arrayI16RenderObjectDataLj4EL18MemLabelIdentifier52EEbbP13RenderTextureb()
at com.unity::UnityNative$/_Z12DoRenderLoopR10RenderLoop13RenderingPathRSt6vectorI11VisibleNodeSaIS3_EEbP6ShaderRKSs()
at com.unity::UnityNative$/_ZN6Camera6RenderEiP6ShaderRKSs()
at com.unity::UnityNative$/_ZN13RenderManager13RenderCamerasEv()
at com.unity::UnityNative$/NativeExt_PlayerLoop()
at com.unity::UnityContentInternal/playerLoop()
at com.unity::UnityContent/onEnterFrame()

一个负载后来提供了这个反馈:

Fatal Error : Error: Error #1000: The system is out of memory.
at flash.utils::ByteArray/set length()
at com.unity::UnityNative$/sbrk()
at com.unity::UnityNative$/malloc()
at com.unity::UnityNative$/_ZN21UnityDefaultAllocatorI17LowLevelAllocatorE8AllocateEji()
at com.unity::UnityNative$/_ZN13MemoryManager8AllocateEji10MemLabelIdiPKci()
at com.unity::UnityNative$/_Z15malloc_internalji10MemLabelIdiPKci()
at com.unity::UnityNative$/_ZN9Texture2D8TransferI18StreamedBinaryReadILb0EEEEvRT_()
at com.unity::UnityNative$/_ZN9Texture2D23VirtualRedirectTransferER18StreamedBinaryReadILb0EE()
at com.unity::UnityNative$/_ZN14SerializedFile10ReadObjectEli18ObjectCreationModebPP8TypeTreePbPP6Object()
at com.unity::UnityNative$/_ZN17PersistentManager26LoadFileCompletelyThreadedERKSsPlS2_ibP12LoadProgress()
at com.unity::UnityNative$/_ZN21PreloadLevelOperation7PerformEv()
at com.unity::UnityNative$/_ZN14PreloadManager26UpdatePreloadingSingleStepEb()
at com.unity::UnityNative$/NativeExt_LoadFirstLevel()
at com.unity::UnityContentInternal/loadFirstLevel()
at com.unity::UnityContent/onFrameInitStep()

【问题讨论】:

    标签: flash null load buffer unity3d


    【解决方案1】:

    收到不同的区域后,我意识到我的Flash 文件是一个大内存猪。我已将问题的根源缩小到纹理问题。
    在我的例子中,有几个纹理构成了一个 3D 球体,每个纹理的大小约为 2MB。我将每个纹理压缩到 100KB 以下。

    【讨论】:

    • 如果您发现这是真正的原因,您可能希望接受您自己的答案作为正确答案,以帮助将来遇到类似问题的访问者。
    • 感谢 Budwiser 的提醒。我对这个解决方案有大约 80% 的肯定。我知道“哪里”部分。如果这有意义的话,我无法完全确定“什么”、“如何”和“为什么”部分。
    猜你喜欢
    • 1970-01-01
    • 2014-03-13
    • 2011-01-12
    • 1970-01-01
    • 2015-01-26
    • 2019-11-01
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多