Files
video-v1/vav2/todo9.txt

129 lines
4.5 KiB
Plaintext

🎯 권장 재배치 구조:
vav2/platforms/windows/
├── vavcore/ # VavCore Windows 빌드
│ ├── VavCore.vcxproj
│ ├── src/ → 심볼릭링크 to ../../VavCore/src/
│ ├── include/ → 심볼릭링크 to ../../VavCore/include/
│ └── build_windows.bat
├── godot-plugin/ # Godot Windows 확장
│ ├── VavCore.Wrapper/
│ ├── VavCore.Godot/
│ ├── libs/windows-x86_64/
│ └── build_godot.bat
├── applications/ # Windows 애플리케이션들
│ └── vav2player/ # Vav2Player GUI 앱
│ ├── Vav2Player/
│ ├── Vav2PlayerHeadless/
│ └── build_app.bat
└── tests/ # 모든 Windows 테스트
├── vavcore-dll/ # VavCore DLL 테스트
├── godot-extension/ # Godot 확장 테스트
├── integration/ # 통합 테스트
└── unit-tests/ # 유닛 테스트
🚀 재배치의 장점:
1. 플랫폼별 관리 일원화
- Windows 관련 모든 프로젝트가 한 곳에 집중
- 플랫폼별 빌드 스크립트 통합 관리
- 의존성 관리 단순화
2. 크로스 플랫폼 확장성
- Android, iOS 등 다른 플랫폼 추가 시 동일한 구조 적용
- 플랫폼별 차이점 명확한 분리
- README.md 설계 철학에 부합
3. CI/CD 최적화
- 플랫폼별 빌드 파이프라인 구성 용이
- 테스트 자동화 경로 일관성
- 배포 아티팩트 관리 체계화
💡 실행 제안:
어떤 방식으로 진행하시겠습니까?
1. 전체 재배치: 모든 Windows 프로젝트를 platforms/windows/로 이동
2. 단계적 재배치: 테스트 프로젝트부터 우선 이동
3. 심볼릭 링크 활용: 기존 위치 유지하면서 platforms/windows/에서 참조
4. 현재 구조 유지: platforms/windows/는 미래 확장용으로 보존
-----------------------------------------------------------------
● 현재 VavCore DLL 통합 테스트가 완전히 완료되었으므로, 다음 단계를 제안합니다:
🎯 다음 작업 옵션들
Option 1: Godot 실제 통합 테스트 (강력 추천)
- VavCore.Godot 프로젝트에서 실제 AV1 비디오 재생 테스트
- GPU Surface 디코딩 vs CPU Fallback 성능 비교
- Godot 씬에서 VavCorePlayer 컨트롤 실제 사용
Option 2: GPU Surface 디코딩 활성화
- D3D11/Vulkan Surface 디코딩 구현 완성
- Zero-Copy GPU 파이프라인 실제 동작 검증
- RenderingDevice 텍스처 바인딩 테스트
Option 3: 성능 벤치마킹 시스템
- CPU vs GPU 디코딩 성능 측정
- 4K AV1 실시간 재생 성능 검증
- 메모리 사용량 프로파일링
Option 4: 크로스 플랫폼 확장
- Android/iOS 플랫폼 빌드 테스트
- MediaCodec/Metal Surface 통합
- 플랫폼별 최적화 검증
Option 5: Unity/Unreal 엔진 통합
- VavCore C API를 Unity C# 스크립트에 통합
- Unreal Engine C++ 플러그인 구현
- 다른 게임 엔진 지원 확장
어떤 옵션을 선택하시겠습니까? (1-5번 또는 다른 아이디어가 있으시면 말씀해주세요)
---------------------------------------------
Option B: Godot 프로젝트 통합 및 UI 구성
실제 Godot 씬에서 VavCorePlayer 사용 예제 구현
- Godot 프로젝트 생성 및 VavCorePlayer 노드 통합
- UI 컨트롤 구성 (재생/일시정지/탐색/설정)
- 파일 선택 다이얼로그 구현
- 실시간 재생 상태 표시 (FPS, 모드, 에러)
Option C: 예외 처리 및 에러 복구 강화
견고한 에러 핸들링 시스템 구축
- VavCore 초기화 실패 시 복구 로직
- 비디오 로딩 실패 시 사용자 피드백
- 디코딩 오류 시 graceful degradation
- 메모리 부족 상황 대응
Option D: 성능 프로파일링 및 벤치마킹
체계적인 성능 측정 시스템
- 프레임 디코딩 시간 측정
- GPU vs CPU 모드 성능 비교
- 메모리 사용량 프로파일링
- 다양한 해상도별 성능 테스트
Option E: 플랫폼별 네이티브 최적화
각 플랫폼에 특화된 성능 향상
- Windows: D3D11 네이티브 Surface 공유 구현
- Android: Vulkan/OpenGL ES 최적화
- iOS/macOS: Metal 성능 향상
- 플랫폼별 빌드 테스트
💡 개인적 추천: Option A
지금까지 구현한 모든 기능이 이론적으로는 완벽하지만, 실제로 동작하는지 검증이 필요합니다. 특히: